nodes: 0, module; 1, function_definition; 2, function_name:types; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, default_parameter; 14, default_parameter; 15, default_parameter; 16, default_parameter; 17, default_parameter; 18, default_parameter; 19, dictionary_splat_pattern; 20, expression_statement; 21, return_statement; 22, identifier:ids; 23, None; 24, identifier:query; 25, None; 26, identifier:filter; 27, None; 28, identifier:offset; 29, None; 30, identifier:limit; 31, None; 32, identifier:sample; 33, None; 34, identifier:sort; 35, None; 36, identifier:order; 37, None; 38, identifier:facet; 39, None; 40, identifier:works; 41, False; 42, identifier:select; 43, None; 44, identifier:cursor; 45, None; 46, identifier:cursor_max; 47, integer:5000; 48, identifier:kwargs; 49, string:'''
          Search Crossref types
  
          :param ids: [Array] Type identifier, e.g., journal
          :param query: [String] A query string
          :param filter: [Hash] Filter options. See examples for usage.
              Accepts a dict, with filter names and their values. For repeating filter names
              pass in a list of the values to that filter name, e.g.,
              `{'award_funder': ['10.13039/100004440', '10.13039/100000861']}`.
              See https://github.com/CrossRef/rest-api-doc#filter-names
              for filter names and their descriptions and :func:`~habanero.Crossref.filter_names`
              and :func:`~habanero.Crossref.filter_details`
          :param offset: [Fixnum] Number of record to start at, from 1 to 10000
          :param limit: [Fixnum] Number of results to return. Not relevant when searching with specific dois. Default: 20. Max: 1000
          :param sample: [Fixnum] Number of random results to return. when you use the sample parameter,
              the limit and offset parameters are ignored. This parameter only used when works requested. Max: 100
          :param sort: [String] Field to sort on. Note: If the API call includes a query, then the sort
              order will be by the relevance score. If no query is included, then the sort order
              will be by DOI update date. See sorting_ for possible values.
          :param order: [String] Sort order, one of 'asc' or 'desc'
          :param facet: [Boolean/String] Set to `true` to include facet results (default: false).
              Optionally, pass a query string, e.g., `facet=type-name:*` or `facet=license=*`
              See Facets_ for options.
          :param select: [String/list(Strings)] Crossref metadata records can be
              quite large. Sometimes you just want a few elements from the schema. You can "select"
              a subset of elements to return. This can make your API calls much more efficient. Not
              clear yet which fields are allowed here.
          :param works: [Boolean] If true, works returned as well. Default: false
          :param kwargs: additional named arguments passed on to `requests.get`, e.g., field
              queries (see examples and FieldQueries_)
  
          :return: A dict
  
          Usage::
  
              from habanero import Crossref
              cr = Crossref()
              cr.types()
              cr.types(ids = "journal")
              cr.types(ids = "journal-article")
              cr.types(ids = "journal", works = True)
  
              # field queries
              res = cr.types(ids = "journal-article", works = True, query_title = 'gender', rows = 100)
              [ x.get('title') for x in res['message']['items'] ]
          '''; 50, call; 51, identifier:request; 52, argument_list; 53, attribute; 54, attribute; 55, string:"/types/"; 56, identifier:ids; 57, identifier:query; 58, identifier:filter; 59, identifier:offset; 60, identifier:limit; 61, identifier:sample; 62, identifier:sort; 63, identifier:order; 64, identifier:facet; 65, identifier:select; 66, identifier:works; 67, identifier:cursor; 68, identifier:cursor_max; 69, dictionary_splat; 70, identifier:self; 71, identifier:mailto; 72, identifier:self; 73, identifier:base_url; 74, identifier:kwargs
code: def types(self, ids = None, query = None, filter = None, offset = None,
                limit = None, sample = None, sort = None,
                order = None, facet = None, works = False, select = None,
                cursor = None, cursor_max = 5000, **kwargs):
          '''
          Search Crossref types
  
          :param ids: [Array] Type identifier, e.g., journal
          :param query: [String] A query string
          :param filter: [Hash] Filter options. See examples for usage.
              Accepts a dict, with filter names and their values. For repeating filter names
              pass in a list of the values to that filter name, e.g.,
              `{'award_funder': ['10.13039/100004440', '10.13039/100000861']}`.
              See https://github.com/CrossRef/rest-api-doc#filter-names
              for filter names and their descriptions and :func:`~habanero.Crossref.filter_names`
              and :func:`~habanero.Crossref.filter_details`
          :param offset: [Fixnum] Number of record to start at, from 1 to 10000
          :param limit: [Fixnum] Number of results to return. Not relevant when searching with specific dois. Default: 20. Max: 1000
          :param sample: [Fixnum] Number of random results to return. when you use the sample parameter,
              the limit and offset parameters are ignored. This parameter only used when works requested. Max: 100
          :param sort: [String] Field to sort on. Note: If the API call includes a query, then the sort
              order will be by the relevance score. If no query is included, then the sort order
              will be by DOI update date. See sorting_ for possible values.
          :param order: [String] Sort order, one of 'asc' or 'desc'
          :param facet: [Boolean/String] Set to `true` to include facet results (default: false).
              Optionally, pass a query string, e.g., `facet=type-name:*` or `facet=license=*`
              See Facets_ for options.
          :param select: [String/list(Strings)] Crossref metadata records can be
              quite large. Sometimes you just want a few elements from the schema. You can "select"
              a subset of elements to return. This can make your API calls much more efficient. Not
              clear yet which fields are allowed here.
          :param works: [Boolean] If true, works returned as well. Default: false
          :param kwargs: additional named arguments passed on to `requests.get`, e.g., field
              queries (see examples and FieldQueries_)
  
          :return: A dict
  
          Usage::
  
              from habanero import Crossref
              cr = Crossref()
              cr.types()
              cr.types(ids = "journal")
              cr.types(ids = "journal-article")
              cr.types(ids = "journal", works = True)
  
              # field queries
              res = cr.types(ids = "journal-article", works = True, query_title = 'gender', rows = 100)
              [ x.get('title') for x in res['message']['items'] ]
          '''
          return request(self.mailto, self.base_url, "/types/", ids,
              query, filter, offset, limit, sample, sort,
              order, facet, select, works, cursor, cursor_max, **kwargs)