def search_annotation_classes(project, name_prefix=None, return_metadata=False):
    'Searches annotation classes by name_prefix (case-insensitive)\n\n    :param project: project name or metadata of the project\n    :type project: str or dict\n    :param name_prefix: name prefix for search. If None all annotation classes\n     will be returned\n    :type name_prefix: str\n\n    :return: annotation classes of the project\n    :rtype: list of dicts\n    '
    if (not isinstance(project, dict)):
        project = get_project_metadata(project)
    result_list = []
    (team_id, project_id) = (project['team_id'], project['id'])
    params = {'team_id': team_id, 'project_id': project_id, 'offset': 0}
    if (name_prefix is not None):
        params['name'] = name_prefix
    while True:
        response = _api.send_request(req_type='GET', path='/classes', params=params)
        if (not response.ok):
            raise SABaseException(response.status_code, ("Couldn't search classes " + response.text))
        res = response.json()
        result_list += res['data']
        new_len = len(result_list)
        if (res['count'] <= new_len):
            break
        params['offset'] = new_len
    if return_metadata:
        return result_list
    else:
        return [x['name'] for x in result_list]
Searches annotation classes by name_prefix (case-insensitive)

:param project: project name or metadata of the project
:type project: str or dict
:param name_prefix: name prefix for search. If None all annotation classes
 will be returned
:type name_prefix: str

:return: annotation classes of the project
:rtype: list of dicts
def search_annotation_classes(project, name_prefix=None, return_metadata=False):
    'Searches annotation classes by name_prefix (case-insensitive)\n\n    :param project: project name or metadata of the project\n    :type project: str or dict\n    :param name_prefix: name prefix for search. If None all annotation classes\n     will be returned\n    :type name_prefix: str\n\n    :return: annotation classes of the project\n    :rtype: list of dicts\n    '
    if (not isinstance(project, dict)):
        project = get_project_metadata(project)
    result_list = []
    (team_id, project_id) = (project['team_id'], project['id'])
    params = {'team_id': team_id, 'project_id': project_id, 'offset': 0}
    if (name_prefix is not None):
        params['name'] = name_prefix
    while True:
        response = _api.send_request(req_type='GET', path='/classes', params=params)
        if (not response.ok):
            raise SABaseException(response.status_code, ("Couldn't search classes " + response.text))
        res = response.json()
        result_list += res['data']
        new_len = len(result_list)
        if (res['count'] <= new_len):
            break
        params['offset'] = new_len
    if return_metadata:
        return result_list
    else:
        return [x['name'] for x in result_list]