# coding: utf-8

"""
    fatcat

    A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata  # noqa: E501

    OpenAPI spec version: 0.3.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


from __future__ import absolute_import

import re  # noqa: F401

# python 2 and python 3 compatibility library
import six

from fatcat_client.api_client import ApiClient


class DefaultApi(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    Ref: https://github.com/swagger-api/swagger-codegen
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client

    def accept_editgroup(self, editgroup_id, **kwargs):  # noqa: E501
        """accept_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.accept_editgroup(editgroup_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.accept_editgroup_with_http_info(editgroup_id, **kwargs)  # noqa: E501
        else:
            (data) = self.accept_editgroup_with_http_info(editgroup_id, **kwargs)  # noqa: E501
            return data

    def accept_editgroup_with_http_info(self, editgroup_id, **kwargs):  # noqa: E501
        """accept_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.accept_editgroup_with_http_info(editgroup_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method accept_editgroup" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `accept_editgroup`")  # noqa: E501

        if ('editgroup_id' in params and
                len(params['editgroup_id']) > 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `accept_editgroup`, length must be less than or equal to `26`")  # noqa: E501
        if ('editgroup_id' in params and
                len(params['editgroup_id']) < 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `accept_editgroup`, length must be greater than or equal to `26`")  # noqa: E501
        if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `accept_editgroup`, must conform to the pattern `/[a-zA-Z2-7]{26}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/accept', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def auth_check(self, **kwargs):  # noqa: E501
        """auth_check  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.auth_check(async=True)
        >>> result = thread.get()

        :param async bool
        :param str role:
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.auth_check_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.auth_check_with_http_info(**kwargs)  # noqa: E501
            return data

    def auth_check_with_http_info(self, **kwargs):  # noqa: E501
        """auth_check  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.auth_check_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param str role:
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['role']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method auth_check" % key
                )
            params[key] = val
        del params['kwargs']

        collection_formats = {}

        path_params = {}

        query_params = []
        if 'role' in params:
            query_params.append(('role', params['role']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/auth/check', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def auth_oidc(self, oidc_params, **kwargs):  # noqa: E501
        """auth_oidc  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.auth_oidc(oidc_params, async=True)
        >>> result = thread.get()

        :param async bool
        :param AuthOidc oidc_params: (required)
        :return: AuthOidcResult
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.auth_oidc_with_http_info(oidc_params, **kwargs)  # noqa: E501
        else:
            (data) = self.auth_oidc_with_http_info(oidc_params, **kwargs)  # noqa: E501
            return data

    def auth_oidc_with_http_info(self, oidc_params, **kwargs):  # noqa: E501
        """auth_oidc  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.auth_oidc_with_http_info(oidc_params, async=True)
        >>> result = thread.get()

        :param async bool
        :param AuthOidc oidc_params: (required)
        :return: AuthOidcResult
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['oidc_params']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method auth_oidc" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'oidc_params' is set
        if ('oidc_params' not in params or
                params['oidc_params'] is None):
            raise ValueError("Missing the required parameter `oidc_params` when calling `auth_oidc`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'oidc_params' in params:
            body_params = params['oidc_params']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/auth/oidc', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='AuthOidcResult',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_container(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_container(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param ContainerEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_container_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_container_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_container_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_container_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param ContainerEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_container" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_container`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_container`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/container', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_container_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_container_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_container_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param ContainerAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_container_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_container_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_container_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_container_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_container_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param ContainerAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_container_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_container_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/container/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_creator(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_creator(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param CreatorEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_creator_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_creator_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_creator_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_creator_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param CreatorEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_creator" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_creator`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_creator`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/creator', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_creator_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_creator_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_creator_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param CreatorAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_creator_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_creator_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_creator_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_creator_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_creator_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param CreatorAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_creator_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_creator_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/creator/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_editgroup(self, editgroup, **kwargs):  # noqa: E501
        """create_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_editgroup(editgroup, async=True)
        >>> result = thread.get()

        :param async bool
        :param Editgroup editgroup: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_editgroup_with_http_info(editgroup, **kwargs)  # noqa: E501
        else:
            (data) = self.create_editgroup_with_http_info(editgroup, **kwargs)  # noqa: E501
            return data

    def create_editgroup_with_http_info(self, editgroup, **kwargs):  # noqa: E501
        """create_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_editgroup_with_http_info(editgroup, async=True)
        >>> result = thread.get()

        :param async bool
        :param Editgroup editgroup: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_editgroup" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup' is set
        if ('editgroup' not in params or
                params['editgroup'] is None):
            raise ValueError("Missing the required parameter `editgroup` when calling `create_editgroup`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'editgroup' in params:
            body_params = params['editgroup']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_editgroup_annotation(self, editgroup_id, annotation, **kwargs):  # noqa: E501
        """create_editgroup_annotation  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_editgroup_annotation(editgroup_id, annotation, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :param EditgroupAnnotation annotation: (required)
        :return: EditgroupAnnotation
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_editgroup_annotation_with_http_info(editgroup_id, annotation, **kwargs)  # noqa: E501
        else:
            (data) = self.create_editgroup_annotation_with_http_info(editgroup_id, annotation, **kwargs)  # noqa: E501
            return data

    def create_editgroup_annotation_with_http_info(self, editgroup_id, annotation, **kwargs):  # noqa: E501
        """create_editgroup_annotation  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_editgroup_annotation_with_http_info(editgroup_id, annotation, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :param EditgroupAnnotation annotation: (required)
        :return: EditgroupAnnotation
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'annotation']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_editgroup_annotation" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_editgroup_annotation`")  # noqa: E501
        # verify the required parameter 'annotation' is set
        if ('annotation' not in params or
                params['annotation'] is None):
            raise ValueError("Missing the required parameter `annotation` when calling `create_editgroup_annotation`")  # noqa: E501

        if ('editgroup_id' in params and
                len(params['editgroup_id']) > 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `create_editgroup_annotation`, length must be less than or equal to `26`")  # noqa: E501
        if ('editgroup_id' in params and
                len(params['editgroup_id']) < 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `create_editgroup_annotation`, length must be greater than or equal to `26`")  # noqa: E501
        if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `create_editgroup_annotation`, must conform to the pattern `/[a-zA-Z2-7]{26}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'annotation' in params:
            body_params = params['annotation']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/annotation', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EditgroupAnnotation',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_file(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_file(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param FileEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_file_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_file_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_file_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_file_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param FileEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_file" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_file`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_file`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/file', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_file_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_file_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_file_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param FileAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_file_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_file_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_file_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_file_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_file_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param FileAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_file_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_file_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/file/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_fileset(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_fileset(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param FilesetEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_fileset_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_fileset_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_fileset_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_fileset_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param FilesetEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_fileset" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_fileset`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_fileset`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/fileset', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_fileset_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_fileset_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_fileset_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param FilesetAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_fileset_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_fileset_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_fileset_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_fileset_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_fileset_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param FilesetAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_fileset_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_fileset_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/fileset/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_release(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_release(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param ReleaseEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_release_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_release_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_release_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_release_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param ReleaseEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_release" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_release`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_release`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/release', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_release_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_release_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_release_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param ReleaseAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_release_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_release_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_release_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_release_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_release_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param ReleaseAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_release_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_release_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/release/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_webcapture(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_webcapture(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param WebcaptureEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_webcapture_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_webcapture_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_webcapture_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_webcapture_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param WebcaptureEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_webcapture" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_webcapture`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_webcapture`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/webcapture', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_webcapture_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_webcapture_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_webcapture_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param WebcaptureAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_webcapture_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_webcapture_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_webcapture_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_webcapture_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_webcapture_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param WebcaptureAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_webcapture_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_webcapture_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/webcapture/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_work(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_work(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param WorkEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_work_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.create_work_with_http_info(editgroup_id, entity, **kwargs)  # noqa: E501
            return data

    def create_work_with_http_info(self, editgroup_id, entity, **kwargs):  # noqa: E501
        """create_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_work_with_http_info(editgroup_id, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param WorkEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_work" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `create_work`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `create_work`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/work', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def create_work_auto_batch(self, auto_batch, **kwargs):  # noqa: E501
        """create_work_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_work_auto_batch(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param WorkAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.create_work_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
        else:
            (data) = self.create_work_auto_batch_with_http_info(auto_batch, **kwargs)  # noqa: E501
            return data

    def create_work_auto_batch_with_http_info(self, auto_batch, **kwargs):  # noqa: E501
        """create_work_auto_batch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.create_work_auto_batch_with_http_info(auto_batch, async=True)
        >>> result = thread.get()

        :param async bool
        :param WorkAutoBatch auto_batch: (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['auto_batch']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method create_work_auto_batch" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'auto_batch' is set
        if ('auto_batch' not in params or
                params['auto_batch'] is None):
            raise ValueError("Missing the required parameter `auto_batch` when calling `create_work_auto_batch`")  # noqa: E501

        collection_formats = {}

        path_params = {}

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'auto_batch' in params:
            body_params = params['auto_batch']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/auto/work/batch', 'POST',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_container(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_container(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_container_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_container_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_container_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_container_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_container" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_container`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_container`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/container/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_container_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_container_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_container_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_container_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_container_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_container_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_container_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_container_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_container_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_container_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_container_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/container/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_creator(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_creator(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_creator_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_creator_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_creator_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_creator_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_creator" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_creator`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_creator`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/creator/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_creator_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_creator_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_creator_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_creator_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_creator_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_creator_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_creator_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_creator_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_creator_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_creator_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_creator_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/creator/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_file(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_file(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_file_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_file_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_file_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_file_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_file" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_file`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_file`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/file/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_file_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_file_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_file_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_file_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_file_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_file_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_file_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_file_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_file_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_file_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_file_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/file/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_fileset(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_fileset(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_fileset_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_fileset_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_fileset_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_fileset_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_fileset" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_fileset`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_fileset`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/fileset/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_fileset_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_fileset_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_fileset_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_fileset_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_fileset_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_fileset_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_fileset_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_fileset_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_fileset_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_fileset_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_fileset_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/fileset/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_release(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_release(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_release_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_release_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_release_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_release_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_release" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_release`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_release`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/release/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_release_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_release_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_release_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_release_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_release_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_release_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_release_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_release_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_release_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_release_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_release_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/release/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_webcapture(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_webcapture(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_webcapture_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_webcapture_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_webcapture_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_webcapture_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_webcapture" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_webcapture`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_webcapture`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/webcapture/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_webcapture_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_webcapture_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_webcapture_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_webcapture_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_webcapture_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_webcapture_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_webcapture_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_webcapture_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_webcapture_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_webcapture_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_webcapture_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/webcapture/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_work(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_work(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_work_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_work_with_http_info(editgroup_id, ident, **kwargs)  # noqa: E501
            return data

    def delete_work_with_http_info(self, editgroup_id, ident, **kwargs):  # noqa: E501
        """delete_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_work_with_http_info(editgroup_id, ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_work" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_work`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `delete_work`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/work/{ident}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def delete_work_edit(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_work_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_work_edit(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.delete_work_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.delete_work_edit_with_http_info(editgroup_id, edit_id, **kwargs)  # noqa: E501
            return data

    def delete_work_edit_with_http_info(self, editgroup_id, edit_id, **kwargs):  # noqa: E501
        """delete_work_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.delete_work_edit_with_http_info(editgroup_id, edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: Success
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method delete_work_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `delete_work_edit`")  # noqa: E501
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `delete_work_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/work/edit/{edit_id}', 'DELETE',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Success',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_changelog(self, **kwargs):  # noqa: E501
        """get_changelog  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_changelog(async=True)
        >>> result = thread.get()

        :param async bool
        :param int limit:
        :return: list[ChangelogEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_changelog_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.get_changelog_with_http_info(**kwargs)  # noqa: E501
            return data

    def get_changelog_with_http_info(self, **kwargs):  # noqa: E501
        """get_changelog  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_changelog_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param int limit:
        :return: list[ChangelogEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_changelog" % key
                )
            params[key] = val
        del params['kwargs']

        collection_formats = {}

        path_params = {}

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/changelog', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[ChangelogEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_changelog_entry(self, index, **kwargs):  # noqa: E501
        """get_changelog_entry  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_changelog_entry(index, async=True)
        >>> result = thread.get()

        :param async bool
        :param int index: (required)
        :return: ChangelogEntry
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_changelog_entry_with_http_info(index, **kwargs)  # noqa: E501
        else:
            (data) = self.get_changelog_entry_with_http_info(index, **kwargs)  # noqa: E501
            return data

    def get_changelog_entry_with_http_info(self, index, **kwargs):  # noqa: E501
        """get_changelog_entry  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_changelog_entry_with_http_info(index, async=True)
        >>> result = thread.get()

        :param async bool
        :param int index: (required)
        :return: ChangelogEntry
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['index']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_changelog_entry" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'index' is set
        if ('index' not in params or
                params['index'] is None):
            raise ValueError("Missing the required parameter `index` when calling `get_changelog_entry`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'index' in params:
            path_params['index'] = params['index']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/changelog/{index}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ChangelogEntry',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_container(self, ident, **kwargs):  # noqa: E501
        """get_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
        :return: ContainerEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_container_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_container_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_container_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
        :return: ContainerEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_container" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_container`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/container/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ContainerEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_container_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_container_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_container_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_container_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_container_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_container_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_container_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_container_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/container/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_container_history(self, ident, **kwargs):  # noqa: E501
        """get_container_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_container_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_container_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_container_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_container_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_container_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_container_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/container/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_container_redirects(self, ident, **kwargs):  # noqa: E501
        """get_container_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_container_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_container_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_container_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_container_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_container_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_container_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/container/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_container_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_container_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
        :return: ContainerEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_container_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_container_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_container_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_container_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_container_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
        :return: ContainerEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_container_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_container_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/container/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ContainerEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_creator(self, ident, **kwargs):  # noqa: E501
        """get_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
        :return: CreatorEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_creator_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_creator_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_creator_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
        :return: CreatorEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_creator" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_creator`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='CreatorEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_creator_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_creator_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_creator_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_creator_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_creator_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_creator_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_creator_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_creator_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_creator_history(self, ident, **kwargs):  # noqa: E501
        """get_creator_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_creator_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_creator_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_creator_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_creator_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_creator_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_creator_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_creator_redirects(self, ident, **kwargs):  # noqa: E501
        """get_creator_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_creator_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_creator_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_creator_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_creator_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_creator_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_creator_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_creator_releases(self, ident, **kwargs):  # noqa: E501
        """get_creator_releases  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_releases(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For creators, none implemented yet.
        :return: list[ReleaseEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_creator_releases_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_creator_releases_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_creator_releases_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_creator_releases  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_releases_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For creators, none implemented yet.
        :return: list[ReleaseEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_creator_releases" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_creator_releases`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/{ident}/releases', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[ReleaseEntity]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_creator_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_creator_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For creators, none accepted (yet).
        :return: CreatorEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_creator_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_creator_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_creator_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_creator_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_creator_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For creators, none accepted (yet).
        :return: CreatorEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_creator_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_creator_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='CreatorEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_editgroup(self, editgroup_id, **kwargs):  # noqa: E501
        """get_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editgroup(editgroup_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_editgroup_with_http_info(editgroup_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_editgroup_with_http_info(editgroup_id, **kwargs)  # noqa: E501
            return data

    def get_editgroup_with_http_info(self, editgroup_id, **kwargs):  # noqa: E501
        """get_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editgroup_with_http_info(editgroup_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_editgroup" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `get_editgroup`")  # noqa: E501

        if ('editgroup_id' in params and
                len(params['editgroup_id']) > 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup`, length must be less than or equal to `26`")  # noqa: E501
        if ('editgroup_id' in params and
                len(params['editgroup_id']) < 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup`, length must be greater than or equal to `26`")  # noqa: E501
        if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup`, must conform to the pattern `/[a-zA-Z2-7]{26}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_editgroup_annotations(self, editgroup_id, **kwargs):  # noqa: E501
        """get_editgroup_annotations  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editgroup_annotations(editgroup_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :param str expand: List of sub-entities to expand in response. For editgroups: 'editors'
        :return: list[EditgroupAnnotation]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_editgroup_annotations_with_http_info(editgroup_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_editgroup_annotations_with_http_info(editgroup_id, **kwargs)  # noqa: E501
            return data

    def get_editgroup_annotations_with_http_info(self, editgroup_id, **kwargs):  # noqa: E501
        """get_editgroup_annotations  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editgroup_annotations_with_http_info(editgroup_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :param str expand: List of sub-entities to expand in response. For editgroups: 'editors'
        :return: list[EditgroupAnnotation]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'expand']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_editgroup_annotations" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `get_editgroup_annotations`")  # noqa: E501

        if ('editgroup_id' in params and
                len(params['editgroup_id']) > 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup_annotations`, length must be less than or equal to `26`")  # noqa: E501
        if ('editgroup_id' in params and
                len(params['editgroup_id']) < 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup_annotations`, length must be greater than or equal to `26`")  # noqa: E501
        if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup_annotations`, must conform to the pattern `/[a-zA-Z2-7]{26}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/annotations', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EditgroupAnnotation]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_editgroups_reviewable(self, **kwargs):  # noqa: E501
        """get_editgroups_reviewable  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editgroups_reviewable(async=True)
        >>> result = thread.get()

        :param async bool
        :param str expand: List of sub-entities to expand in response. For editgroups: 'editors'
        :param int limit:
        :param datetime before:
        :param datetime since:
        :return: list[Editgroup]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_editgroups_reviewable_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.get_editgroups_reviewable_with_http_info(**kwargs)  # noqa: E501
            return data

    def get_editgroups_reviewable_with_http_info(self, **kwargs):  # noqa: E501
        """get_editgroups_reviewable  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editgroups_reviewable_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param str expand: List of sub-entities to expand in response. For editgroups: 'editors'
        :param int limit:
        :param datetime before:
        :param datetime since:
        :return: list[Editgroup]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['expand', 'limit', 'before', 'since']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_editgroups_reviewable" % key
                )
            params[key] = val
        del params['kwargs']

        collection_formats = {}

        path_params = {}

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501
        if 'before' in params:
            query_params.append(('before', params['before']))  # noqa: E501
        if 'since' in params:
            query_params.append(('since', params['since']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/reviewable', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[Editgroup]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_editor(self, editor_id, **kwargs):  # noqa: E501
        """get_editor  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editor(editor_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: (required)
        :return: Editor
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_editor_with_http_info(editor_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_editor_with_http_info(editor_id, **kwargs)  # noqa: E501
            return data

    def get_editor_with_http_info(self, editor_id, **kwargs):  # noqa: E501
        """get_editor  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editor_with_http_info(editor_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: (required)
        :return: Editor
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editor_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_editor" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editor_id' is set
        if ('editor_id' not in params or
                params['editor_id'] is None):
            raise ValueError("Missing the required parameter `editor_id` when calling `get_editor`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editor_id' in params:
            path_params['editor_id'] = params['editor_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/editor/{editor_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editor',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_editor_annotations(self, editor_id, **kwargs):  # noqa: E501
        """get_editor_annotations  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editor_annotations(editor_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: base32-encoded unique identifier (required)
        :param int limit:
        :param datetime before:
        :param datetime since:
        :return: list[EditgroupAnnotation]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_editor_annotations_with_http_info(editor_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_editor_annotations_with_http_info(editor_id, **kwargs)  # noqa: E501
            return data

    def get_editor_annotations_with_http_info(self, editor_id, **kwargs):  # noqa: E501
        """get_editor_annotations  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editor_annotations_with_http_info(editor_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: base32-encoded unique identifier (required)
        :param int limit:
        :param datetime before:
        :param datetime since:
        :return: list[EditgroupAnnotation]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editor_id', 'limit', 'before', 'since']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_editor_annotations" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editor_id' is set
        if ('editor_id' not in params or
                params['editor_id'] is None):
            raise ValueError("Missing the required parameter `editor_id` when calling `get_editor_annotations`")  # noqa: E501

        if ('editor_id' in params and
                len(params['editor_id']) > 26):
            raise ValueError("Invalid value for parameter `editor_id` when calling `get_editor_annotations`, length must be less than or equal to `26`")  # noqa: E501
        if ('editor_id' in params and
                len(params['editor_id']) < 26):
            raise ValueError("Invalid value for parameter `editor_id` when calling `get_editor_annotations`, length must be greater than or equal to `26`")  # noqa: E501
        if 'editor_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editor_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `editor_id` when calling `get_editor_annotations`, must conform to the pattern `/[a-zA-Z2-7]{26}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editor_id' in params:
            path_params['editor_id'] = params['editor_id']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501
        if 'before' in params:
            query_params.append(('before', params['before']))  # noqa: E501
        if 'since' in params:
            query_params.append(('since', params['since']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/editor/{editor_id}/annotations', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EditgroupAnnotation]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_editor_editgroups(self, editor_id, **kwargs):  # noqa: E501
        """get_editor_editgroups  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editor_editgroups(editor_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: (required)
        :param int limit:
        :param datetime before:
        :param datetime since:
        :return: list[Editgroup]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_editor_editgroups_with_http_info(editor_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_editor_editgroups_with_http_info(editor_id, **kwargs)  # noqa: E501
            return data

    def get_editor_editgroups_with_http_info(self, editor_id, **kwargs):  # noqa: E501
        """get_editor_editgroups  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_editor_editgroups_with_http_info(editor_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: (required)
        :param int limit:
        :param datetime before:
        :param datetime since:
        :return: list[Editgroup]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editor_id', 'limit', 'before', 'since']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_editor_editgroups" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editor_id' is set
        if ('editor_id' not in params or
                params['editor_id'] is None):
            raise ValueError("Missing the required parameter `editor_id` when calling `get_editor_editgroups`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editor_id' in params:
            path_params['editor_id'] = params['editor_id']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501
        if 'before' in params:
            query_params.append(('before', params['before']))  # noqa: E501
        if 'since' in params:
            query_params.append(('since', params['since']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/editor/{editor_id}/editgroups', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[Editgroup]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_file(self, ident, **kwargs):  # noqa: E501
        """get_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For files, `releases` is accepted.
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: FileEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_file_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_file_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_file_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For files, `releases` is accepted.
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: FileEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_file" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_file`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/file/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='FileEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_file_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_file_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_file_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_file_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_file_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_file_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_file_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_file_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/file/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_file_history(self, ident, **kwargs):  # noqa: E501
        """get_file_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_file_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_file_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_file_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_file_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_file_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_file_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/file/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_file_redirects(self, ident, **kwargs):  # noqa: E501
        """get_file_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_file_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_file_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_file_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_file_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_file_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_file_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/file/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_file_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_file_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: FileEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_file_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_file_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_file_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_file_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_file_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: FileEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_file_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_file_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/file/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='FileEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_fileset(self, ident, **kwargs):  # noqa: E501
        """get_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For filesets, `releases` is accepted.
        :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
        :return: FilesetEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_fileset_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_fileset_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_fileset_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For filesets, `releases` is accepted.
        :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
        :return: FilesetEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_fileset" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_fileset`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/fileset/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='FilesetEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_fileset_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_fileset_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_fileset_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_fileset_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_fileset_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_fileset_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_fileset_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_fileset_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/fileset/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_fileset_history(self, ident, **kwargs):  # noqa: E501
        """get_fileset_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_fileset_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_fileset_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_fileset_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_fileset_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_fileset_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_fileset_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/fileset/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_fileset_redirects(self, ident, **kwargs):  # noqa: E501
        """get_fileset_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_fileset_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_fileset_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_fileset_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_fileset_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_fileset_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_fileset_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/fileset/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_fileset_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_fileset_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
        :return: FilesetEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_fileset_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_fileset_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_fileset_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_fileset_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_fileset_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
        :return: FilesetEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_fileset_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_fileset_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/fileset/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='FilesetEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release(self, ident, **kwargs):  # noqa: E501
        """get_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
        :param str hide: List of entity fields to elide in response. For releases, 'abstracts', 'refs', and 'contribs' are valid.
        :return: ReleaseEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_release_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
        :param str hide: List of entity fields to elide in response. For releases, 'abstracts', 'refs', and 'contribs' are valid.
        :return: ReleaseEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_release`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ReleaseEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_release_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_release_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_release_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_release_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_files(self, ident, **kwargs):  # noqa: E501
        """get_release_files  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_files(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: list[FileEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_files_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_files_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_release_files_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_release_files  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_files_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: list[FileEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_files" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_release_files`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/{ident}/files', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[FileEntity]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_filesets(self, ident, **kwargs):  # noqa: E501
        """get_release_filesets  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_filesets(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is valid.
        :return: list[FilesetEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_filesets_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_filesets_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_release_filesets_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_release_filesets  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_filesets_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is valid.
        :return: list[FilesetEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_filesets" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_release_filesets`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/{ident}/filesets', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[FilesetEntity]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_history(self, ident, **kwargs):  # noqa: E501
        """get_release_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_release_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_release_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_release_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_redirects(self, ident, **kwargs):  # noqa: E501
        """get_release_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_release_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_release_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_release_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_release_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For releases, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For releases, none accepted (yet).
        :return: ReleaseEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_release_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_release_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For releases, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For releases, none accepted (yet).
        :return: ReleaseEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_release_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ReleaseEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_release_webcaptures(self, ident, **kwargs):  # noqa: E501
        """get_release_webcaptures  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_webcaptures(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is valid.
        :return: list[WebcaptureEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_release_webcaptures_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_release_webcaptures_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_release_webcaptures_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_release_webcaptures  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_release_webcaptures_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is valid.
        :return: list[WebcaptureEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_release_webcaptures" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_release_webcaptures`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/{ident}/webcaptures', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[WebcaptureEntity]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_webcapture(self, ident, **kwargs):  # noqa: E501
        """get_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For webcaptures, `releases` is accepted.
        :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
        :return: WebcaptureEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_webcapture_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_webcapture_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_webcapture_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For webcaptures, `releases` is accepted.
        :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
        :return: WebcaptureEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_webcapture" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_webcapture`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/webcapture/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='WebcaptureEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_webcapture_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_webcapture_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_webcapture_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_webcapture_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_webcapture_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_webcapture_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_webcapture_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_webcapture_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/webcapture/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_webcapture_history(self, ident, **kwargs):  # noqa: E501
        """get_webcapture_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_webcapture_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_webcapture_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_webcapture_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_webcapture_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_webcapture_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_webcapture_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/webcapture/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_webcapture_redirects(self, ident, **kwargs):  # noqa: E501
        """get_webcapture_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_webcapture_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_webcapture_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_webcapture_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_webcapture_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_webcapture_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_webcapture_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/webcapture/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_webcapture_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_webcapture_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
        :return: WebcaptureEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_webcapture_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_webcapture_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_webcapture_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_webcapture_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_webcapture_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
        :return: WebcaptureEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_webcapture_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_webcapture_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/webcapture/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='WebcaptureEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_work(self, ident, **kwargs):  # noqa: E501
        """get_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
        :return: WorkEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_work_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_work_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_work_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
        :return: WorkEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_work" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_work`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/work/{ident}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='WorkEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_work_edit(self, edit_id, **kwargs):  # noqa: E501
        """get_work_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_edit(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_work_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_work_edit_with_http_info(edit_id, **kwargs)  # noqa: E501
            return data

    def get_work_edit_with_http_info(self, edit_id, **kwargs):  # noqa: E501
        """get_work_edit  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_edit_with_http_info(edit_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['edit_id']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_work_edit" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'edit_id' is set
        if ('edit_id' not in params or
                params['edit_id'] is None):
            raise ValueError("Missing the required parameter `edit_id` when calling `get_work_edit`")  # noqa: E501

        if ('edit_id' in params and
                len(params['edit_id']) > 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, length must be less than or equal to `36`")  # noqa: E501
        if ('edit_id' in params and
                len(params['edit_id']) < 36):
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, length must be greater than or equal to `36`")  # noqa: E501
        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'edit_id' in params:
            path_params['edit_id'] = params['edit_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/work/edit/{edit_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_work_history(self, ident, **kwargs):  # noqa: E501
        """get_work_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_history(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_work_history_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_work_history_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_work_history_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_work_history  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_history_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param int limit:
        :return: list[EntityHistoryEntry]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'limit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_work_history" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_work_history`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'limit' in params:
            query_params.append(('limit', params['limit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/work/{ident}/history', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[EntityHistoryEntry]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_work_redirects(self, ident, **kwargs):  # noqa: E501
        """get_work_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_redirects(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_work_redirects_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_work_redirects_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_work_redirects_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_work_redirects  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_redirects_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :return: list[str]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_work_redirects" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_work_redirects`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/work/{ident}/redirects', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[str]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_work_releases(self, ident, **kwargs):  # noqa: E501
        """get_work_releases  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_releases(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For works, none implemented yet.
        :return: list[ReleaseEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_work_releases_with_http_info(ident, **kwargs)  # noqa: E501
        else:
            (data) = self.get_work_releases_with_http_info(ident, **kwargs)  # noqa: E501
            return data

    def get_work_releases_with_http_info(self, ident, **kwargs):  # noqa: E501
        """get_work_releases  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_releases_with_http_info(ident, async=True)
        >>> result = thread.get()

        :param async bool
        :param str ident: (required)
        :param str hide: List of entity fields to elide in response. For works, none implemented yet.
        :return: list[ReleaseEntity]
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['ident', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_work_releases" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `get_work_releases`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/work/{ident}/releases', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='list[ReleaseEntity]',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def get_work_revision(self, rev_id, **kwargs):  # noqa: E501
        """get_work_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_revision(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
        :return: WorkEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.get_work_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
        else:
            (data) = self.get_work_revision_with_http_info(rev_id, **kwargs)  # noqa: E501
            return data

    def get_work_revision_with_http_info(self, rev_id, **kwargs):  # noqa: E501
        """get_work_revision  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.get_work_revision_with_http_info(rev_id, async=True)
        >>> result = thread.get()

        :param async bool
        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
        :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
        :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
        :return: WorkEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['rev_id', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method get_work_revision" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'rev_id' is set
        if ('rev_id' not in params or
                params['rev_id'] is None):
            raise ValueError("Missing the required parameter `rev_id` when calling `get_work_revision`")  # noqa: E501

        if ('rev_id' in params and
                len(params['rev_id']) > 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, length must be less than or equal to `36`")  # noqa: E501
        if ('rev_id' in params and
                len(params['rev_id']) < 36):
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, length must be greater than or equal to `36`")  # noqa: E501
        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'rev_id' in params:
            path_params['rev_id'] = params['rev_id']  # noqa: E501

        query_params = []
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/work/rev/{rev_id}', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='WorkEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def lookup_container(self, **kwargs):  # noqa: E501
        """lookup_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_container(async=True)
        >>> result = thread.get()

        :param async bool
        :param str issnl:
        :param str wikidata_qid:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of entity fields to elide in response. For container, none accepted (yet).
        :return: ContainerEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.lookup_container_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.lookup_container_with_http_info(**kwargs)  # noqa: E501
            return data

    def lookup_container_with_http_info(self, **kwargs):  # noqa: E501
        """lookup_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_container_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param str issnl:
        :param str wikidata_qid:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of entity fields to elide in response. For container, none accepted (yet).
        :return: ContainerEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['issnl', 'wikidata_qid', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method lookup_container" % key
                )
            params[key] = val
        del params['kwargs']

        if ('issnl' in params and
                len(params['issnl']) > 9):
            raise ValueError("Invalid value for parameter `issnl` when calling `lookup_container`, length must be less than or equal to `9`")  # noqa: E501
        if ('issnl' in params and
                len(params['issnl']) < 9):
            raise ValueError("Invalid value for parameter `issnl` when calling `lookup_container`, length must be greater than or equal to `9`")  # noqa: E501
        if 'issnl' in params and not re.search('\\d{4}-\\d{3}[0-9X]', params['issnl']):  # noqa: E501
            raise ValueError("Invalid value for parameter `issnl` when calling `lookup_container`, must conform to the pattern `/\\d{4}-\\d{3}[0-9X]/`")  # noqa: E501
        collection_formats = {}

        path_params = {}

        query_params = []
        if 'issnl' in params:
            query_params.append(('issnl', params['issnl']))  # noqa: E501
        if 'wikidata_qid' in params:
            query_params.append(('wikidata_qid', params['wikidata_qid']))  # noqa: E501
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/container/lookup', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ContainerEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def lookup_creator(self, **kwargs):  # noqa: E501
        """lookup_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_creator(async=True)
        >>> result = thread.get()

        :param async bool
        :param str orcid:
        :param str wikidata_qid:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of entity fields to elide in response. For creator, none accepted (yet).
        :return: CreatorEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.lookup_creator_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.lookup_creator_with_http_info(**kwargs)  # noqa: E501
            return data

    def lookup_creator_with_http_info(self, **kwargs):  # noqa: E501
        """lookup_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_creator_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param str orcid:
        :param str wikidata_qid:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of entity fields to elide in response. For creator, none accepted (yet).
        :return: CreatorEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['orcid', 'wikidata_qid', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method lookup_creator" % key
                )
            params[key] = val
        del params['kwargs']

        if ('orcid' in params and
                len(params['orcid']) > 19):
            raise ValueError("Invalid value for parameter `orcid` when calling `lookup_creator`, length must be less than or equal to `19`")  # noqa: E501
        if ('orcid' in params and
                len(params['orcid']) < 19):
            raise ValueError("Invalid value for parameter `orcid` when calling `lookup_creator`, length must be greater than or equal to `19`")  # noqa: E501
        if 'orcid' in params and not re.search('\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]', params['orcid']):  # noqa: E501
            raise ValueError("Invalid value for parameter `orcid` when calling `lookup_creator`, must conform to the pattern `/\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]/`")  # noqa: E501
        collection_formats = {}

        path_params = {}

        query_params = []
        if 'orcid' in params:
            query_params.append(('orcid', params['orcid']))  # noqa: E501
        if 'wikidata_qid' in params:
            query_params.append(('wikidata_qid', params['wikidata_qid']))  # noqa: E501
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/creator/lookup', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='CreatorEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def lookup_file(self, **kwargs):  # noqa: E501
        """lookup_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_file(async=True)
        >>> result = thread.get()

        :param async bool
        :param str md5:
        :param str sha1:
        :param str sha256:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: FileEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.lookup_file_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.lookup_file_with_http_info(**kwargs)  # noqa: E501
            return data

    def lookup_file_with_http_info(self, **kwargs):  # noqa: E501
        """lookup_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_file_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param str md5:
        :param str sha1:
        :param str sha256:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
        :return: FileEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['md5', 'sha1', 'sha256', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method lookup_file" % key
                )
            params[key] = val
        del params['kwargs']

        if ('md5' in params and
                len(params['md5']) > 32):
            raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, length must be less than or equal to `32`")  # noqa: E501
        if ('md5' in params and
                len(params['md5']) < 32):
            raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, length must be greater than or equal to `32`")  # noqa: E501
        if 'md5' in params and not re.search('[a-f0-9]{32}', params['md5']):  # noqa: E501
            raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{32}/`")  # noqa: E501
        if ('sha1' in params and
                len(params['sha1']) > 40):
            raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, length must be less than or equal to `40`")  # noqa: E501
        if ('sha1' in params and
                len(params['sha1']) < 40):
            raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, length must be greater than or equal to `40`")  # noqa: E501
        if 'sha1' in params and not re.search('[a-f0-9]{40}', params['sha1']):  # noqa: E501
            raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{40}/`")  # noqa: E501
        if ('sha256' in params and
                len(params['sha256']) > 64):
            raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, length must be less than or equal to `64`")  # noqa: E501
        if ('sha256' in params and
                len(params['sha256']) < 64):
            raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, length must be greater than or equal to `64`")  # noqa: E501
        if 'sha256' in params and not re.search('[a-f0-9]{64}', params['sha256']):  # noqa: E501
            raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{64}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}

        query_params = []
        if 'md5' in params:
            query_params.append(('md5', params['md5']))  # noqa: E501
        if 'sha1' in params:
            query_params.append(('sha1', params['sha1']))  # noqa: E501
        if 'sha256' in params:
            query_params.append(('sha256', params['sha256']))  # noqa: E501
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/file/lookup', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='FileEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def lookup_release(self, **kwargs):  # noqa: E501
        """lookup_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_release(async=True)
        >>> result = thread.get()

        :param async bool
        :param str doi:
        :param str wikidata_qid:
        :param str isbn13:
        :param str pmid:
        :param str pmcid:
        :param str core:
        :param str arxiv:
        :param str jstor:
        :param str ark:
        :param str mag:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
        :return: ReleaseEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.lookup_release_with_http_info(**kwargs)  # noqa: E501
        else:
            (data) = self.lookup_release_with_http_info(**kwargs)  # noqa: E501
            return data

    def lookup_release_with_http_info(self, **kwargs):  # noqa: E501
        """lookup_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.lookup_release_with_http_info(async=True)
        >>> result = thread.get()

        :param async bool
        :param str doi:
        :param str wikidata_qid:
        :param str isbn13:
        :param str pmid:
        :param str pmcid:
        :param str core:
        :param str arxiv:
        :param str jstor:
        :param str ark:
        :param str mag:
        :param str expand: List of sub-entities to expand in response.
        :param str hide: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
        :return: ReleaseEntity
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['doi', 'wikidata_qid', 'isbn13', 'pmid', 'pmcid', 'core', 'arxiv', 'jstor', 'ark', 'mag', 'expand', 'hide']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method lookup_release" % key
                )
            params[key] = val
        del params['kwargs']

        collection_formats = {}

        path_params = {}

        query_params = []
        if 'doi' in params:
            query_params.append(('doi', params['doi']))  # noqa: E501
        if 'wikidata_qid' in params:
            query_params.append(('wikidata_qid', params['wikidata_qid']))  # noqa: E501
        if 'isbn13' in params:
            query_params.append(('isbn13', params['isbn13']))  # noqa: E501
        if 'pmid' in params:
            query_params.append(('pmid', params['pmid']))  # noqa: E501
        if 'pmcid' in params:
            query_params.append(('pmcid', params['pmcid']))  # noqa: E501
        if 'core' in params:
            query_params.append(('core', params['core']))  # noqa: E501
        if 'arxiv' in params:
            query_params.append(('arxiv', params['arxiv']))  # noqa: E501
        if 'jstor' in params:
            query_params.append(('jstor', params['jstor']))  # noqa: E501
        if 'ark' in params:
            query_params.append(('ark', params['ark']))  # noqa: E501
        if 'mag' in params:
            query_params.append(('mag', params['mag']))  # noqa: E501
        if 'expand' in params:
            query_params.append(('expand', params['expand']))  # noqa: E501
        if 'hide' in params:
            query_params.append(('hide', params['hide']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = []  # noqa: E501

        return self.api_client.call_api(
            '/release/lookup', 'GET',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='ReleaseEntity',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_container(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_container(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param ContainerEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_container_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_container_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_container_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_container  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_container_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param ContainerEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_container" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_container`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_container`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_container`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/container/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_creator(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_creator(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param CreatorEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_creator_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_creator_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_creator_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_creator  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_creator_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param CreatorEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_creator" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_creator`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_creator`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_creator`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/creator/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_editgroup(self, editgroup_id, editgroup, **kwargs):  # noqa: E501
        """update_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_editgroup(editgroup_id, editgroup, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :param Editgroup editgroup: (required)
        :param bool submit:
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_editgroup_with_http_info(editgroup_id, editgroup, **kwargs)  # noqa: E501
        else:
            (data) = self.update_editgroup_with_http_info(editgroup_id, editgroup, **kwargs)  # noqa: E501
            return data

    def update_editgroup_with_http_info(self, editgroup_id, editgroup, **kwargs):  # noqa: E501
        """update_editgroup  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_editgroup_with_http_info(editgroup_id, editgroup, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: base32-encoded unique identifier (required)
        :param Editgroup editgroup: (required)
        :param bool submit:
        :return: Editgroup
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'editgroup', 'submit']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_editgroup" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_editgroup`")  # noqa: E501
        # verify the required parameter 'editgroup' is set
        if ('editgroup' not in params or
                params['editgroup'] is None):
            raise ValueError("Missing the required parameter `editgroup` when calling `update_editgroup`")  # noqa: E501

        if ('editgroup_id' in params and
                len(params['editgroup_id']) > 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `update_editgroup`, length must be less than or equal to `26`")  # noqa: E501
        if ('editgroup_id' in params and
                len(params['editgroup_id']) < 26):
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `update_editgroup`, length must be greater than or equal to `26`")  # noqa: E501
        if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']):  # noqa: E501
            raise ValueError("Invalid value for parameter `editgroup_id` when calling `update_editgroup`, must conform to the pattern `/[a-zA-Z2-7]{26}/`")  # noqa: E501
        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501

        query_params = []
        if 'submit' in params:
            query_params.append(('submit', params['submit']))  # noqa: E501

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'editgroup' in params:
            body_params = params['editgroup']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editgroup',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_editor(self, editor_id, editor, **kwargs):  # noqa: E501
        """update_editor  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_editor(editor_id, editor, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: (required)
        :param Editor editor: (required)
        :return: Editor
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_editor_with_http_info(editor_id, editor, **kwargs)  # noqa: E501
        else:
            (data) = self.update_editor_with_http_info(editor_id, editor, **kwargs)  # noqa: E501
            return data

    def update_editor_with_http_info(self, editor_id, editor, **kwargs):  # noqa: E501
        """update_editor  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_editor_with_http_info(editor_id, editor, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editor_id: (required)
        :param Editor editor: (required)
        :return: Editor
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editor_id', 'editor']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_editor" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editor_id' is set
        if ('editor_id' not in params or
                params['editor_id'] is None):
            raise ValueError("Missing the required parameter `editor_id` when calling `update_editor`")  # noqa: E501
        # verify the required parameter 'editor' is set
        if ('editor' not in params or
                params['editor'] is None):
            raise ValueError("Missing the required parameter `editor` when calling `update_editor`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editor_id' in params:
            path_params['editor_id'] = params['editor_id']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'editor' in params:
            body_params = params['editor']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editor/{editor_id}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='Editor',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_file(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_file(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param FileEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_file_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_file_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_file_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_file  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_file_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param FileEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_file" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_file`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_file`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_file`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/file/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_fileset(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_fileset(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param FilesetEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_fileset_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_fileset_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_fileset_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_fileset  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_fileset_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param FilesetEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_fileset" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_fileset`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_fileset`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_fileset`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/fileset/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_release(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_release(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param ReleaseEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_release_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_release_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_release_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_release  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_release_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param ReleaseEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_release" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_release`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_release`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_release`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/release/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_webcapture(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_webcapture(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param WebcaptureEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_webcapture_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_webcapture_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_webcapture_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_webcapture  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_webcapture_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param WebcaptureEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_webcapture" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_webcapture`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_webcapture`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_webcapture`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/webcapture/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)

    def update_work(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_work(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param WorkEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return self.update_work_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
        else:
            (data) = self.update_work_with_http_info(editgroup_id, ident, entity, **kwargs)  # noqa: E501
            return data

    def update_work_with_http_info(self, editgroup_id, ident, entity, **kwargs):  # noqa: E501
        """update_work  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_work_with_http_info(editgroup_id, ident, entity, async=True)
        >>> result = thread.get()

        :param async bool
        :param str editgroup_id: (required)
        :param str ident: (required)
        :param WorkEntity entity: (required)
        :return: EntityEdit
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = ['editgroup_id', 'ident', 'entity']  # noqa: E501
        all_params.append('async')
        all_params.append('_return_http_data_only')
        all_params.append('_preload_content')
        all_params.append('_request_timeout')

        params = locals()
        for key, val in six.iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method update_work" % key
                )
            params[key] = val
        del params['kwargs']
        # verify the required parameter 'editgroup_id' is set
        if ('editgroup_id' not in params or
                params['editgroup_id'] is None):
            raise ValueError("Missing the required parameter `editgroup_id` when calling `update_work`")  # noqa: E501
        # verify the required parameter 'ident' is set
        if ('ident' not in params or
                params['ident'] is None):
            raise ValueError("Missing the required parameter `ident` when calling `update_work`")  # noqa: E501
        # verify the required parameter 'entity' is set
        if ('entity' not in params or
                params['entity'] is None):
            raise ValueError("Missing the required parameter `entity` when calling `update_work`")  # noqa: E501

        collection_formats = {}

        path_params = {}
        if 'editgroup_id' in params:
            path_params['editgroup_id'] = params['editgroup_id']  # noqa: E501
        if 'ident' in params:
            path_params['ident'] = params['ident']  # noqa: E501

        query_params = []

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None
        if 'entity' in params:
            body_params = params['entity']
        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.select_header_accept(
            ['application/json'])  # noqa: E501

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.select_header_content_type(  # noqa: E501
            ['application/json'])  # noqa: E501

        # Authentication setting
        auth_settings = ['Bearer']  # noqa: E501

        return self.api_client.call_api(
            '/editgroup/{editgroup_id}/work/{ident}', 'PUT',
            path_params,
            query_params,
            header_params,
            body=body_params,
            post_params=form_params,
            files=local_var_files,
            response_type='EntityEdit',  # noqa: E501
            auth_settings=auth_settings,
            async=params.get('async'),
            _return_http_data_only=params.get('_return_http_data_only'),
            _preload_content=params.get('_preload_content', True),
            _request_timeout=params.get('_request_timeout'),
            collection_formats=collection_formats)