def is_valid_fields(fields):
    """Check validity of dict keys passed into the fields list for expected fields in API calls.

    Returns True if the fields are valid else False

    Args:
        fields (list):
            The fields you want returned by the graphql query. It is a list of dictionaries. 
            
            Example is:
            [{"field": "id"}, {"field": "minSell"}]
    
    Returns:
        A boolean value
        True or False

    """
    for field in fields:
        if type(field) is not dict:
            return False
            
        if not field.get("field"):
            return False
        
        if field.get('args'):
            if type(field.get('args')) is not dict:
                return False
        
        if field.get('fields'):
            return is_valid_fields(field.get('fields'))
    return True