openapi: 3.0.0 info: title: REST API description: The REST API is used for all API interactions with DataCite services. contact: name: DataCite Support url: 'https://support.datacite.org' email: support@datacite.org license: name: MIT url: 'https://raw.githubusercontent.com/datacite/lupo/master/LICENSE' version: 2.3.0 servers: - url: 'https://api.test.datacite.org' description: Staging server - url: 'https://api.datacite.org' description: Production server tags: - name: activities description: Activities - name: client-prefixes description: Client Prefixes - name: clients description: Clients - name: dois description: DOIs - name: events description: Events - name: heartbeat description: Heartbeat - name: prefixes description: Prefixes - name: provider-prefixes description: Provider Prefixes - name: providers description: Providers - name: reports description: Reports paths: /activities: get: tags: - activities summary: Get a JSON API result of activities. security: [] parameters: - in: query name: id description: Find activity by an ID. required: false schema: type: string - in: query name: ids description: Find activities by array of activity IDs. required: false schema: type: array items: type: string - in: query name: query description: Search the index by keyword or query string syntax. required: false schema: type: string - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query $ref: '#/components/parameters/pageCursorParam' responses: '200': description: A JSON API result of activities. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Activity' meta: allOf: - $ref: '#/components/schemas/MetaCore' links: allOf: - $ref: '#/components/schemas/Links' '/activities/{id}': get: parameters: - name: id in: path description: Activity ID. required: true schema: type: string tags: - activities summary: Get a JSON API result of a specific activity. responses: '200': description: A JSON object. content: application/vnd.api+json: schema: type: object properties: data: type: object $ref: '#/components/schemas/Activity' /client-prefixes: get: tags: - client-prefixes summary: Return a list of client-prefixes. parameters: - in: query name: query schema: type: string - in: query name: year schema: type: integer - in: query $ref: '#/components/parameters/clientIdParam' - in: query name: prefix-id schema: type: string - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query name: sort schema: type: string enum: - name - '-name' - created - '-created' responses: '200': description: A JSON array of client-prefixes. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ClientPrefix' meta: allOf: - $ref: '#/components/schemas/MetaCore' - type: object properties: years: allOf: - $ref: '#/components/schemas/MetaArray' providers: type: array clients: type: array links: allOf: - $ref: '#/components/schemas/Links' /clients: get: tags: - clients summary: Return a list of clients (repositories). parameters: - in: query name: query schema: type: string - in: query name: year description: The year the client was created. schema: type: integer - in: query $ref: '#/components/parameters/providerIdParam' - in: query name: software schema: $ref: '#/components/schemas/software' - in: query name: client-type schema: $ref: '#/components/schemas/client-type' - in: query name: repository-type schema: $ref: '#/components/schemas/repositoryType' - in: query name: certificate schema: type: array items: $ref: '#/components/schemas/certificate' explode: false style: form - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query name: include schema: type: string enum: - provider - repository - in: query name: sort schema: type: string enum: - relevance - name - '-name' - created - '-created' responses: '200': description: A JSON array of clients. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Client' meta: allOf: - $ref: '#/components/schemas/MetaCore' - type: object properties: years: allOf: - $ref: '#/components/schemas/MetaArray' providers: allOf: - $ref: '#/components/schemas/MetaArray' software: allOf: - $ref: '#/components/schemas/MetaArray' certificates: allOf: - $ref: '#/components/schemas/MetaArray' repository_types: allOf: - $ref: '#/components/schemas/MetaArray' clientTypes: allOf: - $ref: '#/components/schemas/MetaArray' links: allOf: - $ref: '#/components/schemas/Links' /clients/totals: get: tags: - clients summary: Return clients DOI production statistics. parameters: - in: query $ref: '#/components/parameters/providerIdParam' - in: query name: state schema: type: array items: $ref: '#/components/schemas/state' description: Authentication is required to retrieve draft records. explode: false style: form responses: '200': description: A JSON array of clients stats. content: application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/TotalsObject' '/clients/{id}': get: parameters: - name: id in: path description: DataCite Repository account ID. required: true schema: type: string tags: - clients summary: Return a client. responses: '200': description: A JSON object. content: application/vnd.api+json: schema: type: object properties: data: type: object $ref: '#/components/schemas/Client' /repositories: post: tags: - repositories summary: Add a new repository. security: - BasicAuth: [] requestBody: required: true content: application/json: schema: type: object properties: data: type: object properties: type: type: string enum: - repositories attributes: type: object required: - name - symbol - systemEmail - clientType properties: name: type: string alternateName: type: string symbol: description: Can only contain capital letters, numbers, and at most one hyphen. Must begin with provider ID followed by a period ("."). Minimum length is 5 characters and maximum length is 18 characters. pattern: /\A([A-Z]+\.[A-Z0-9]+(-[A-Z0-9]+)?)\Z/ example: ABCD.EFG-HIJ type: string domains: type: string example: '*' systemEmail: type: string format: email description: type: string language: type: array items: type: string example: en certificate: type: array items: $ref: '#/components/schemas/certificate' serviceContact: type: object properties: email: type: string format: email givenName: type: string familyName: type: string issn: type: object description: Will only be saved if the repository has clientType "periodical". properties: issnl: type: string example: 2049-3630 pattern: \A\d{4}(-)?\d{3}[0-9X]+\z electronic: type: string example: 2049-3630 pattern: \A\d{4}(-)?\d{3}[0-9X]+\z print: type: string example: 2049-3630 pattern: \A\d{4}(-)?\d{3}[0-9X]+\z url: type: string format: url clientType: type: string $ref: '#/components/schemas/client-type' repositoryType: type: array items: $ref: '#/components/schemas/repositoryType' software: type: string $ref: '#/components/schemas/software' isActive: description: Set to true if this account can register and update DOIs. type: boolean passwordInput: description: Sets the password of the repository account. type: string subjects: type: array description: Only permitted when repositoryType includes 'disciplinary'. items: $ref: "#/components/schemas/subject" relationships: type: object required: - provider properties: provider: type: object properties: data: type: object required: - id - type properties: id: type: string description: The symbol of the provider (DataCite Member or Consortium Organization) the repository belongs to. example: ABCD type: type: string enum: - providers responses: '201': description: Created content: application/vnd.api+json: schema: $ref: '#/components/schemas/RepositoryResponse' '/repositories/{id}': put: parameters: - name: id in: path description: DataCite Repository ID. required: true schema: type: string summary: Update a repository. security: - BasicAuth: [] tags: - repositories requestBody: required: true content: application/json: schema: type: object properties: data: type: object properties: type: type: string enum: - repositories attributes: type: object required: - name - symbol - systemEmail - clientType properties: name: type: string alternateName: type: string domains: type: string example: '*' systemEmail: type: string format: email description: type: string language: type: array items: type: string example: en certificate: type: array items: $ref: '#/components/schemas/certificate' serviceContact: type: object properties: email: type: string format: email givenName: type: string familyName: type: string issn: type: object description: Will only be saved if the repository has clientType "periodical". properties: issnl: type: string example: 2049-3630 pattern: \A\d{4}(-)?\d{3}[0-9X]+\z electronic: type: string example: 2049-3630 pattern: \A\d{4}(-)?\d{3}[0-9X]+\z print: type: string example: 2049-3630 pattern: \A\d{4}(-)?\d{3}[0-9X]+\z url: type: string format: url clientType: type: string $ref: '#/components/schemas/client-type' repositoryType: type: array items: $ref: '#/components/schemas/repositoryType' software: type: string $ref: '#/components/schemas/software' isActive: description: Set to true if this account can register and update DOIs. type: boolean passwordInput: description: Sets the password of the repository account. type: string subjects: type: array description: Only permitted when repositoryType includes 'disciplinary'. items: $ref: "#/components/schemas/subject" responses: '200': description: OK content: application/vnd.api+json: schema: $ref: '#/components/schemas/RepositoryResponse' delete: parameters: - name: id in: path description: DataCite Repository ID. required: true schema: type: string tags: - repositories summary: Delete a repository (only possible if no DOIs are in the repository) security: - BasicAuth: [] responses: '204': description: No Content /dois: get: tags: - dois summary: Return a list of DOIs. parameters: - in: query name: query description: Search [DOI metadata fields](https://support.datacite.org/docs/api-queries#using-the-query-parameter) using OpenSearch query string syntax. schema: type: string - in: query name: created description: Filter by the DOI date created (yyyy). Use commas to filter by multiple years (yyyy,yyyy). schema: type: string pattern: ^\d{4}(,\d{4})*$ - in: query name: registered description: Filter by the DOI date registered (yyyy). Use commas to filter by multiple years (yyyy,yyyy). schema: type: string pattern: ^\d{4}(,\d{4})*$ - in: query name: published description: Filter by the DOI date published (yyyy). Use commas to filter by multiple years (yyyy,yyyy). schema: type: string pattern: ^\d{4}(,\d{4})*$ - in: query $ref: '#/components/parameters/providerIdParam' - in: query $ref: '#/components/parameters/clientIdParam' - in: query $ref: '#/components/parameters/consortiumIdParam' - in: query name: prefix description: Filter by a specific prefix. Use commas to include multiple prefixes. schema: type: string example: 10.5438 - in: query name: client-type schema: $ref: '#/components/schemas/client-type' - in: query name: certificate schema: type: array items: $ref: '#/components/schemas/certificate' explode: false style: form - in: query name: affiliation-id description: Search creators.affiliation.affiliationIdentifier and contributors.affiliation.affiliationIdentifier for a ROR ID. schema: type: string - in: query name: affiliation-country description: Filter DOIs by associated country inferred from ROR IDs in creators/contributors affiliations. Use comma-separated ISO 3166-1 alpha-2 country codes. schema: type: string example: US,GB - in: query name: funded-by description: Search fundingReferences.funderIdentifier for a ROR ID. Results also include DOIs containing a Crossref Funder ID in fundingReferences.funderIdentifier corresponding to the ROR ID. schema: type: string - in: query name: include-funder-child-organizations description: When the `funded-by=` parameter is set to a ROR ID and `include-funder-child-organizations=true`, the returned list of DOIs will be filtered to DataCite resources funded by the organization identified by the ROR ID as well as all of its child organizations. Child organizations include direct descendants as well as children of children. schema: type: boolean - in: query name: funder-id description: Search fundingReferences.funderIdentifier for a Crossref Funder ID. schema: type: string - in: query name: user-id description: Search creators.nameIdentifiers.nameIdentifier for an ORCID iD. schema: type: string - in: query name: resource-type-id description: Filter by the resourceTypeGeneral. Use commas to include multiple values. schema: type: array items: type: string enum: - audiovisual - award - book - book-chapter - collection - computational-notebook - conference-paper - conference-proceeding - data-paper - dataset - dissertation - event - image - instrument - interactive-resource - journal - journal-article - model - output-management-plan - peer-review - physical-object - poster - preprint - presentation - project - report - service - software - sound - standard - study-registration - text - workflow - other explode: false style: form - in: query name: resource-type description: Filter by the free text resourceType. Use commas to include multiple values. schema: type: string - in: query name: subject description: Filter by the free text Subject. Use commas to include multiple terms. schema: type: string - in: query name: field-of-science schema: type: string - in: query name: license schema: type: string - in: query name: schema-version schema: type: string example: 4 - in: query name: state description: Filter by the [DOI state](https://support.datacite.org/docs/doi-states). Authentication is required to retrieve registered DOIs and draft records. schema: type: array items: $ref: '#/components/schemas/state' explode: false style: form examples: findable: value: findable findable or registered: value: findable,registered - in: query $ref: '#/components/parameters/affiliationParam' - in: query $ref: '#/components/parameters/publisherParam' - in: query name: link-check-status schema: type: string enum: - 200 - 400 - 401 - 403 - 404 - 410 - 429 - 500 - 502 - 503 - in: query name: has-citations description: Search the citationCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-references description: Search the referenceCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-parts description: Search the partCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-part-of description: Search the partOfCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-versions description: Search the versionCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-version-of description: Search the versionOfCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-views description: Search the viewCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-downloads description: Search the downloadCount field for integer values greater than or equal to the inputted value. schema: type: integer - in: query name: has-person description: Return DOIs where creators.nameIdentifiers.nameIdentifierScheme has at least one "ORCID" value. schema: type: boolean - in: query name: has-affiliation description: Return DOIs where either creators.affiliation.affiliationIdentifierScheme or contributors.affiliation.affiliationIdentifierScheme has at least one "ROR" value. schema: type: boolean - in: query name: has-organization description: Return DOIs where either creators.nameIdentifiers.nameIdentifierScheme or contributors.nameIdentifiers.nameIdentifierScheme has at least one "ROR" value. schema: type: boolean - in: query name: has-funder description: Return DOIs where fundingReferences.funderIdentifierType has at least one "Crossref Funder ID" value. schema: type: boolean - in: query name: random description: Retrieve a random sample of DOIs. When true, the `page[number]` parameter is ignored. schema: type: boolean - in: query name: sample-size schema: type: integer minimum: 1 maximum: 1000 - in: query name: sample-group schema: type: string enum: - client - provider - resource-type - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query $ref: '#/components/parameters/pageCursorParam' - in: query name: include schema: type: string enum: - client - media - in: query name: sort description: > Sort order: * `relevance` - Relevance score descending * `name` - DOI name alphabetical ascending * `-name` - DOI name alphabetical descending * `created` - Created date ascending * `-created` - Created date descending * `updated` - Updated date ascending * `-updated` - Updated date descending * `published` - Published date ascending * `-published` - Published date descending * `view-count` - viewCount ascending * `-view-count` - viewCount descending * `download-count` - downloadCount ascending * `-download-count` - downloadCount descending * `citation-count` - citationCount ascending * `-citation-count` - citationCount descending * `title` - first title alphabetical ascending * `-title` - first title alphabetical descending schema: type: string enum: - relevance - name - '-name' - created - '-created' - updated - '-updated' - 'published' - '-published' - 'view-count' - '-view-count' - 'download-count' - '-download-count' - 'citation-count' - '-citation-count' - 'title' - '-title' - in: query name: disable-facets description: Exclude facets from the response. schema: type: boolean - in: query name: detail description: > When set to `true`, will include the following in the response: * attributes: * `prefix` * `suffix` * `viewsOverTime` * `citationsOverTime` * `references` * `citations` * `parts` * `partOf` * `versions` * `versionOf` * `xml` * `alternateIdentifiers` * relationships: * `provider` schema: type: boolean - in: query name: fields[dois] description: Only return the attributes specified. For example, `fields[dois]=titles,subjects` will only return titles and subjects. schema: type: string - in: query name: source description: The [system used to create the DOI](https://support.datacite.org/docs/api-get-doi#source). schema: $ref: '#/components/schemas/source' responses: '200': description: A JSON array of DOIs. content: application/vnd.api+json: schema: description: >- Represents a list of DOIs and provides access to metadata attributes, further schema specific information can be found at https://schema.datacite.org type: object properties: data: type: array items: $ref: '#/components/schemas/DoiListItem' meta: allOf: - $ref: '#/components/schemas/MetaCore' - type: object properties: states: allOf: - description: Counts by DOI state. - $ref: '#/components/schemas/MetaArray' resourceTypes: allOf: - description: resourceTypes in the search results with counts. - $ref: '#/components/schemas/MetaArray' created: allOf: - description: Histogram of the create date of the DOI record by top 10 years with counts. - $ref: '#/components/schemas/MetaArray' published: allOf: - description: Histogram of publicationYear years with counts. - $ref: '#/components/schemas/MetaArray' registered: allOf: - description: Histogram of the registered date of the DOI record by top 10 years with counts. - $ref: '#/components/schemas/MetaArray' providers: allOf: - description: The top 10 DataCite Members or Consortium Organizations with account IDs, titles, and counts. - $ref: '#/components/schemas/MetaArray' clients: allOf: - description: The top 10 repositories in the search results with account IDs, titles, and counts. - $ref: '#/components/schemas/MetaArray' affiliations: allOf: - description: The top 10 represented ROR affiliations with ROR ID, research organization title, and counts. - $ref: '#/components/schemas/MetaArray' prefixes: allOf: - description: The top 10 prefixes in the search with counts. - $ref: '#/components/schemas/MetaArray' certificates: allOf: - description: Repository certificates in the search with counts. - $ref: '#/components/schemas/MetaArray' licenses: allOf: - description: The top 10 rights with rights identifiers in the search with counts. - $ref: '#/components/schemas/MetaArray' schemaVersions: allOf: - description: The DataCite Metadata Schema versions represented in the search with counts. - $ref: '#/components/schemas/MetaArray' linkChecksStatus: allOf: - description: The status of the landing pages of DOIs in the search (when and if last checked) with counts. - $ref: '#/components/schemas/MetaArray' subjects: allOf: - description: The top 10 subjects represented in the search with counts. - $ref: '#/components/schemas/MetaArray' fieldsOfScience: allOf: - description: The top 10 Fields of Science and Technology (FOS) subjects in the search with counts. - $ref: '#/components/schemas/MetaArray' citations: allOf: - description: A histogram of citations by publicationYear in the search by top 10 years with counts. - $ref: '#/components/schemas/MetaArray' views: allOf: - description: A histogram of views by publicationYear in the search by top 10 years with counts. - $ref: '#/components/schemas/MetaArray' downloads: allOf: - description: A histogram of downloads by publicationYear in the search by top 10 years with counts. - $ref: '#/components/schemas/MetaArray' links: allOf: - $ref: '#/components/schemas/Links' example: data: type: dois attributes: doi: 10.5438/0014 prefix: "10.5438" suffix: "0014" identifiers: - identifier: 'https://doi.org/10.5438/0014' identifierType: DOI creators: - name: DataCite Metadata Working Group titles: - title: >- DataCite Metadata Schema Documentation for the Publication and Citation of Research Data v4.1 publisher: DataCite publicationYear: 2017 types: resourceTypeGeneral: Text url: https://schema.datacite.org/meta/kernel-4.1/ post: tags: - dois summary: Add a new DOI. security: - BasicAuth: [] - bearerAuth: [] parameters: - in: query $ref: '#/components/parameters/affiliationParam' - in: query $ref: '#/components/parameters/publisherParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DoiDetailItem' responses: '201': description: Created content: application/vnd.api+json: schema: $ref: '#/components/schemas/DoiDetailItem' '/dois/{id}': get: parameters: - name: id in: path description: DOI required: true schema: type: string - in: query $ref: '#/components/parameters/affiliationParam' - in: query $ref: '#/components/parameters/publisherParam' tags: - dois summary: Return a DOI. responses: '200': description: A JSON object. content: application/vnd.api+json: schema: $ref: '#/components/schemas/DoiDetailItem' put: parameters: - name: id in: path description: The DOI to update. required: true schema: type: string - in: query $ref: '#/components/parameters/affiliationParam' - in: query $ref: '#/components/parameters/publisherParam' tags: - dois summary: Update a DOI. description: PUT requests to the /dois endpoint will update a DOI record if it already exists and create a new record if the DOI name is not already taken. security: - BasicAuth: [] - bearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DoiDetailItem' responses: '200': description: OK content: application/vnd.api+json: schema: $ref: '#/components/schemas/DoiDetailItem' delete: parameters: - name: id in: path description: DOI required: true schema: type: string tags: - dois summary: Delete a DOI (for DOIs in draft state only). security: - BasicAuth: [] - bearerAuth: [] responses: '204': description: No content '/dois/{id}/activities': get: parameters: - name: id in: path description: DOI required: true schema: type: string tags: - dois - activities summary: Return activities for a specific DOI. responses: '200': description: A JSON object. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Activity' meta: allOf: - $ref: '#/components/schemas/MetaCore' links: allOf: - $ref: '#/components/schemas/Links' /events: get: summary: Return a list of events. security: [] parameters: - in: query name: query description: Query for any event information. schema: type: string - in: query name: subj-id description: The identifier for the event subject expressed as URL. schema: type: string example: https://doi.org/10.14454/g8e5-6293 - in: query name: obj-id description: The identifier for the event object expressed as URL. schema: type: string example: https://doi.org/10.14454/g8e5-6293 - in: query name: doi description: The subj-id or obj-id of the event expressed as DOI. schema: type: string example: 10.14454/g8e5-629 - in: query name: prefix description: The DOI prefix of the subj-id or obj-id of the event. schema: type: string example: 10.14454 - in: query name: orcid description: The subj-id or obj-id of the event expressed as an ORCID iD. schema: type: string example: 0000-0002-4684-9769 - in: query name: year-month description: The year and month in which the event occurred in the format YYYY-MM. schema: type: string example: 2018-08 - in: query name: source-id description: The [source of the event](https://support.datacite.org/docs/eventdata-guide#source-id). Use commas to include multiple sources. schema: type: array items: $ref: '#/components/schemas/source-id' explode: false style: form - in: query name: relation-type-id description: The relation type of the event. See [Linking events](https://support.datacite.org/docs/eventdata-guide#linking-events) and [Usage events](https://support.datacite.org/docs/eventdata-guide#usage-events) documentation for definitions. Use commas to include multiple relation types. schema: type: array items: $ref: '#/components/schemas/relation-type-id' explode: false style: form - in: query name: subtype schema: type: string - in: query name: citation-type schema: type: string - in: query name: registrant-id schema: type: string - in: query name: publication-year schema: type: string - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query $ref: '#/components/parameters/pageCursorParam' - in: query name: sort description: Sort order. By default, all events are sorted in ascending chronological order (using the last updated timestamp). schema: type: string enum: - relevance - obj-id - '-obj-id' - total - '-total' - created - '-created' - updated - '-updated' responses: '200': description: A JSON array of events. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Event' meta: type: object properties: total: description: Total results count. type: number total-pages: description: Total pages count. type: number page: description: Current page of the results. type: number sources: $ref: '#/components/schemas/MetaArray' occurred: $ref: '#/components/schemas/MetaArray' prefixes: $ref: '#/components/schemas/MetaArray' citation-types: $ref: '#/components/schemas/MetaArray' relation-types: $ref: '#/components/schemas/MetaArray' registrants: $ref: '#/components/schemas/MetaArray' links: allOf: - $ref: '#/components/schemas/Links' tags: - events '/events/{id}': get: parameters: - name: id in: path description: Event required: true schema: type: string tags: - events summary: Return an event. security: [] responses: '200': description: A JSON object. content: application/vnd.api+json: schema: type: object properties: data: type: object $ref: '#/components/schemas/Event' /heartbeat: get: tags: - heartbeat summary: Return the current status of the REST API. security: [] responses: '200': description: REST API is operating normally. content: text/plain: schema: type: string example: OK '500': description: REST API is not working properly. content: text/plain: schema: type: string example: failed /prefixes: get: tags: - prefixes summary: Return a list of prefixes. security: [] parameters: - in: query name: year schema: type: integer - in: query name: state schema: type: string enum: - with-repository - without-repository - unassigned responses: '200': description: A JSON array of prefixes. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Prefix' meta: allOf: - $ref: '#/components/schemas/MetaCore' - type: object properties: years: allOf: - $ref: '#/components/schemas/MetaArray' states: allOf: - $ref: '#/components/schemas/MetaArray' providers: type: array clients: type: array links: allOf: - $ref: '#/components/schemas/Links' /prefixes/totals: get: tags: - prefixes summary: Return prefixes DOI production statistics. parameters: - in: query $ref: '#/components/parameters/clientIdParam' responses: '200': description: A JSON array of prefixes stats. '204': description: No content; must include the client-id parameter. '/prefixes/{id}': get: tags: - prefixes summary: Return a prefix. security: [] parameters: - name: id in: path description: Prefix required: true schema: type: string responses: '200': description: Return a prefix. content: application/vnd.api+json: schema: $ref: '#/components/schemas/Prefix' /provider-prefixes: get: tags: - provider-prefixes summary: Return a list of provider-prefixes. parameters: - in: query name: query schema: type: string - in: query name: year schema: type: integer - in: query $ref: '#/components/parameters/consortiumIdParam' - in: query $ref: '#/components/parameters/providerIdParam' - in: query name: prefix-id schema: type: string - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query name: sort schema: type: string enum: - name - '-name' - created - '-created' responses: '200': description: A JSON array of provider-prefixes. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ProviderPrefix' meta: allOf: - $ref: '#/components/schemas/MetaCore' - type: object properties: years: allOf: - $ref: '#/components/schemas/MetaArray' states: allOf: - $ref: '#/components/schemas/MetaArray' providers: allOf: - $ref: '#/components/schemas/MetaArray' links: allOf: - $ref: '#/components/schemas/Links' /providers: get: tags: - providers summary: Return a list of providers (including members and consortium organizations). parameters: - in: query name: query schema: type: string - in: query name: year description: The year the provider was created. schema: type: integer - in: query $ref: '#/components/parameters/consortiumIdParam' - in: query name: region schema: $ref: '#/components/schemas/region' - in: query name: member-type schema: $ref: '#/components/schemas/member-type' - in: query name: organization-type schema: $ref: '#/components/schemas/organization-type' - in: query name: focus-area schema: $ref: '#/components/schemas/focus-area' - in: query name: has-required-contacts schema: type: boolean - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' - in: query name: sort schema: type: string enum: - relevance - name - '-name' - created - '-created' responses: '200': description: A JSON array of providers. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Provider' meta: allOf: - $ref: '#/components/schemas/MetaCore' - type: object properties: years: allOf: - $ref: '#/components/schemas/MetaArray' regions: allOf: - $ref: '#/components/schemas/MetaArray' memberTypes: allOf: - $ref: '#/components/schemas/MetaArray' organizationTypes: allOf: - $ref: '#/components/schemas/MetaArray' focusAreas: allOf: - $ref: '#/components/schemas/MetaArray' nonProfitStatuses: allOf: - $ref: '#/components/schemas/MetaArray' hasRequiredContacts: allOf: - $ref: '#/components/schemas/MetaArray' links: allOf: - $ref: '#/components/schemas/Links' /providers/totals: get: tags: - providers summary: Return providers DOI production statistics. parameters: - in: query name: state schema: type: array items: $ref: '#/components/schemas/state' description: Authentication is required to retrieve draft records. explode: false style: form responses: '200': description: A JSON array of providers stats. content: application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/TotalsObject' '/providers/{id}': get: parameters: - name: id in: path description: DataCite Direct Member, Consortium Organization, or Consortium account ID. required: true schema: type: string tags: - providers summary: Return a provider. responses: '200': description: A JSON object. content: application/vnd.api+json: schema: type: object properties: data: type: object $ref: '#/components/schemas/Provider' meta: type: object properties: repositoryCount: type: number consortiumOrganizationCount: type: number description: Returned only when the provider is a Consortium. /reports: get: tags: - reports summary: A JSON array of reports. security: [] parameters: - in: query name: platform description: >- Name of the Platform the usage is being requested for. This can be omitted if the service provides usage for only one platform. schema: type: string - in: query name: report-name description: The long name of the report. schema: type: string - in: query name: report-id description: >- The report ID or code or shortname. Typically this will be the same code provided in the Report parameter of the request. schema: type: string - in: query name: release description: The release or version of the report. schema: type: string - in: query name: created description: >- Time the report was prepared. Format as defined by date-time - RFC3339 schema: type: string format: date-time - in: query name: created-by description: Name of the organization producing the report. schema: type: string - in: query $ref: '#/components/parameters/pageNumberParam' - in: query $ref: '#/components/parameters/pageSizeParam' responses: '200': description: A JSON array of reports. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Report' meta: type: object properties: total: description: Total results count. type: number total-pages: description: Total pages count. type: number page: description: Current page of the results. type: number post: tags: - reports summary: Add a new report. security: - BasicAuth: [] - bearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Report' responses: '201': description: Created '/reports/{id}': get: parameters: - name: id in: path description: Report required: true schema: type: string tags: - reports summary: Return a report. responses: '200': description: A JSON object. content: application/vnd.api+json: schema: type: object properties: data: type: object $ref: '#/components/schemas/Report' put: parameters: - name: id in: path description: Report required: true schema: type: string tags: - reports summary: Update a report. security: - BasicAuth: [] - bearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Report' responses: '200': description: OK components: schemas: # core object types Activity: type: object description: Represents an activity for an event within DataCite systems. properties: id: type: string example: 57690e72-b1be-4370-9f35-de6bec5f7b71 type: type: string enum: [activities] attributes: type: object properties: 'prov:wasGeneratedBy': type: string 'prov:generatedAtTime': type: string 'prov:wasDerivedFrom': type: string 'prov:wasAttributedTo': type: string action: type: string version: type: number changes: type: object Client: type: object properties: id: type: string type: type: string enum: [clients] attributes: type: object properties: name: type: string symbol: type: string year: type: number contactEmail: description: Returned only when authenticated with associated credentials. type: string alternateName: type: string description: type: string language: type: array items: type: string clientType: $ref: '#/components/schemas/client-type' domains: type: string re3data: type: string opendoar: type: string issn: type: object properties: issnl: type: string print: type: string electronic: type: string url: type: string created: type: string readOnly: true updated: type: string readOnly: true isActive: type: boolean hasPassword: description: Returned only when authenticated with associated credentials. type: boolean relationships: type: object properties: provider: type: object properties: data: $ref: '#/components/schemas/DataObject' consortium: type: object description: Returned only when the client is associated with a Consortium. properties: data: $ref: '#/components/schemas/DataObject' prefixes: type: object properties: data: $ref: '#/components/schemas/DataArray' required: - id - attributes - name - symbol - contactEmail RepositoryResponse: type: object properties: id: type: string type: type: string enum: [repositories] attributes: type: object properties: name: type: string symbol: type: string re3data: type: string opendoar: type: string year: type: number systemEmail: description: Returned only when authenticated with associated credentials. type: string serviceContact: description: Returned only when authenticated with associated credentials. type: object properties: email: type: string givenName: type: string familyName: type: string alternateName: type: string description: type: string language: type: array items: type: string clientType: $ref: '#/components/schemas/client-type' repositoryType: type: array items: $ref: '#/components/schemas/repositoryType' certificate: type: array items: $ref: '#/components/schemas/certificate' domains: type: string issn: type: object properties: issnl: type: string print: type: string electronic: type: string url: type: string software: type: string $ref: '#/components/schemas/software' subjects: type: array items: $ref: "#/components/schemas/subject" created: type: string readOnly: true updated: type: string readOnly: true isActive: type: boolean hasPassword: description: Returned only when authenticated with associated credentials. type: boolean ClientPrefix: type: object properties: id: type: string type: type: string enum: [client-prefixes] attributes: type: object properties: createdAt: type: string readOnly: true updatedAt: type: string readOnly: true relationships: type: object properties: client: type: object properties: data: $ref: '#/components/schemas/DataObject' provider: type: object properties: data: $ref: '#/components/schemas/DataObject' providerPrefix: type: object properties: data: $ref: '#/components/schemas/DataObject' prefix: type: object properties: data: $ref: '#/components/schemas/DataObject' required: - id DoiDetailItem: description: >- Represents a single DOI and provides access to metadata attributes. More information is available at https://schema.datacite.org. type: object properties: data: type: object properties: id: type: string readOnly: true type: type: string enum: [dois] attributes: allOf: - type: object properties: doi: description: The full DOI name. type: string event: description: > Can be set to trigger a [DOI state change](https://support.datacite.org/docs/updating-metadata-with-the-rest-api#changing-the-doi-state). When not set, a [Draft record](https://support.datacite.org/docs/doi-states#draft-record) is created. * `publish` - Create a DOI in [Findable state](https://support.datacite.org/docs/doi-states#findable-doi-name) (or change an existing Draft record/Registered DOI to Findable state). * `register` - Create a DOI in [Registered state](https://support.datacite.org/docs/doi-states#registered-doi-name) (or change an existing Draft record to Registered state). * `hide` - Change a DOI from Findable to Registered state. type: string enum: - publish - register - hide writeOnly: true prefix: description: The DOI prefix. type: string suffix: description: The DOI suffix. readOnly: true type: string identifiers: description: Equivalent to the [AlternateIdentifier](https://datacite-metadata-schema.readthedocs.io/en/4/properties/alternateidentifier/) property in the DataCite Metadata Schema. For more information, see [What is the "identifiers" attribute in the REST API?](https://support.datacite.org/docs/what-is-the-identifiers-attribute-in-the-rest-api) type: array items: type: object properties: identifier: type: string identifierType: type: string alternateIdentifiers: description: '[DataCite Metadata Schema: AlternateIdentifier](https://datacite-metadata-schema.readthedocs.io/en/4/properties/alternateidentifier/)' type: array items: type: object properties: alternateIdentifierType: type: string alternateIdentifier: type: string - $ref: '#/components/schemas/DoiPropertiesMetadata' - type: object properties: xml: description: DataCite Metadata Schema XML encoded in Base64 format. type: string - $ref: '#/components/schemas/DoiPropertiesOther' - type: object properties: viewCount: $ref: '#/components/schemas/viewCount' viewsOverTime: readOnly: true type: array items: type: object properties: yearMonth: type: string total: type: number downloadCount: $ref: '#/components/schemas/downloadCount' downloadsOverTime: readOnly: true type: array items: type: object properties: yearMonth: type: string total: type: number referenceCount: $ref: '#/components/schemas/referenceCount' citationCount: $ref: '#/components/schemas/citationCount' citationsOverTime: readOnly: true type: array items: type: object properties: year: type: string total: type: number partCount: $ref: '#/components/schemas/partCount' partOfCount: $ref: '#/components/schemas/partOfCount' versionCount: $ref: '#/components/schemas/versionCount' versionOfCount: $ref: '#/components/schemas/versionOfCount' landingPage: readOnly: true description: 'Data describing the landing page, used by link checking.' type: object properties: checked: type: string url: type: string contentType: type: string error: type: string redirectCount: type: number redirectUrls: type: array items: type: string downloadLatency: type: number hasSchemaOrg: type: boolean schemaOrgid: type: string dcIdentifier: type: string citationDoi: type: string bodyhasPid: type: boolean - $ref: '#/components/schemas/DoiPropertiesDates' relationships: type: object readOnly: true properties: client: type: object description: The DataCite client (repository) associated with the DOI. properties: data: $ref: '#/components/schemas/DataObject' provider: type: object description: The DataCite provider (Direct Member or Consortium Organization) associated with the DOI. properties: data: $ref: '#/components/schemas/DataObject' media: type: object description: Legacy attribute for media support. properties: data: $ref: '#/components/schemas/DataObject' references: type: object description: An array of references as dictionaries. properties: data: $ref: '#/components/schemas/DataArray' citations: type: object description: An array of citations as dictionaries. properties: data: $ref: '#/components/schemas/DataArray' parts: description: An array of parts as dictionaries. type: object properties: data: $ref: '#/components/schemas/DataArray' partOf: description: An array of parents as dictionaries. type: object properties: data: $ref: '#/components/schemas/DataArray' versions: type: object description: An array of versions as dictionaries. properties: data: $ref: '#/components/schemas/DataArray' versionOf: type: object description: An array of objects to which this DOI is a version as dictionaries. properties: data: $ref: '#/components/schemas/DataArray' required: - type example: data: type: dois attributes: doi: 10.5438/0014 prefix: "10.5438" suffix: "0014" identifiers: - identifier: 'https://doi.org/10.5438/0014' identifierType: DOI creators: - name: DataCite Metadata Working Group titles: - title: >- DataCite Metadata Schema Documentation for the Publication and Citation of Research Data v4.1 publisher: DataCite publicationYear: 2017 types: resourceTypeGeneral: Text url: https://schema.datacite.org/meta/kernel-4.1/ DoiListItem: type: object properties: id: type: string type: type: string enum: [dois] attributes: allOf: - type: object properties: doi: type: string identifiers: type: array items: type: object properties: identifier: type: string identifierType: type: string - $ref: '#/components/schemas/DoiPropertiesMetadata' - $ref: '#/components/schemas/DoiPropertiesOther' - type: object properties: viewCount: $ref: '#/components/schemas/viewCount' downloadCount: $ref: '#/components/schemas/downloadCount' referenceCount: $ref: '#/components/schemas/referenceCount' citationCount: $ref: '#/components/schemas/citationCount' partCount: $ref: '#/components/schemas/partCount' partOfCount: $ref: '#/components/schemas/partOfCount' versionCount: $ref: '#/components/schemas/versionCount' versionOfCount: $ref: '#/components/schemas/versionOfCount' - $ref: '#/components/schemas/DoiPropertiesDates' required: - publisher - publicationYear relationships: type: object properties: client: type: object properties: data: $ref: '#/components/schemas/DataObject' required: - type DoiPropertiesMetadata: type: object properties: creators: description: '[DataCite Metadata Schema: Creator](https://datacite-metadata-schema.readthedocs.io/en/4/properties/creator/)' type: array items: type: object properties: nameType: $ref: '#/components/schemas/nameType' nameIdentifiers: type: array items: type: object properties: nameIdentifier: type: string nameIdentifierScheme: type: string schemeUri: type: string name: type: string givenName: type: string familyName: type: string affiliation: description: Set `affiliation=true` to see additional affiliation information such as the affiliation identifier. type: array items: type: object properties: affiliationIdentifier: type: string affiliationIdentifierScheme: type: string name: type: string schemeUri: type: string lang: type: string titles: description: '[DataCite Metadata Schema: Title](https://datacite-metadata-schema.readthedocs.io/en/4/properties/title/)' type: array items: type: object properties: title: type: string titleType: $ref: '#/components/schemas/titleType' lang: type: string publisher: description: > [DataCite Metadata Schema: Publisher](https://datacite-metadata-schema.readthedocs.io/en/4/properties/publisher/) Set `publisher=true` to see additional publisher information such as the publisher identifier. oneOf: - type: object properties: name: type: string publisherIdentifier: type: string publisherIdentifierScheme: type: string schemeUri: type: string lang: type: string - type: string container: readOnly: true type: object properties: type: type: string identifier: type: string identifierType: type: string title: type: string volume: type: string issue: type: string firstPage: type: string lastPage: type: string publicationYear: description: '[DataCite Metadata Schema: PublicationYear](https://datacite-metadata-schema.readthedocs.io/en/4/properties/publicationyear/)' type: integer subjects: description: '[DataCite Metadata Schema: Subject](https://datacite-metadata-schema.readthedocs.io/en/4/properties/subject/)' type: array items: $ref: "#/components/schemas/subject" contributors: description: '[DataCite Metadata Schema: Contributor](https://datacite-metadata-schema.readthedocs.io/en/4/properties/contributor/)' type: array items: type: object properties: nameType: $ref: '#/components/schemas/nameType' nameIdentifiers: type: array items: type: object properties: nameIdentifier: type: string nameIdentifierScheme: type: string schemeUri: type: string name: type: string givenName: type: string familyName: type: string affiliation: description: Set `affiliation=true` to see additional affiliation information such as the affiliation identifier. type: array items: type: object properties: affiliationIdentifier: type: string affiliationIdentifierScheme: type: string name: type: string schemeUri: type: string contributorType: $ref: '#/components/schemas/contributorType' lang: type: string dates: description: '[DataCite Metadata Schema: Date](https://datacite-metadata-schema.readthedocs.io/en/4/properties/date/)' type: array items: type: object properties: date: type: string dateType: type: string enum: - Accepted - Available - Copyrighted - Collected - Coverage - Created - Issued - Submitted - Updated - Valid - Withdrawn - Other dateInformation: type: string language: description: '[DataCite Metadata Schema: Language](https://datacite-metadata-schema.readthedocs.io/en/4/properties/language/)' type: string types: type: object properties: resourceTypeGeneral: $ref: '#/components/schemas/resourceTypeGeneral' resourceType: description: '[DataCite Metadata Schema: ResourceType](https://datacite-metadata-schema.readthedocs.io/en/4/properties/resourcetype/)' type: string schemaOrg: readOnly: true type: string bibtex: readOnly: true type: string citeproc: readOnly: true type: string ris: readOnly: true type: string relatedIdentifiers: description: '[DataCite Metadata Schema: RelatedIdentifier](https://datacite-metadata-schema.readthedocs.io/en/4/properties/relatedidentifier/)' type: array items: type: object properties: relatedIdentifier: type: string relatedIdentifierType: $ref: '#/components/schemas/relatedIdentifierType' relationType: $ref: '#/components/schemas/relationType' resourceTypeGeneral: $ref: '#/components/schemas/resourceTypeGeneral' relatedMetadataScheme: type: string schemeUri: type: string schemeType: type: string relationTypeInformation: type: string relatedItems: description: '[DataCite Metadata Schema: RelatedItem](https://datacite-metadata-schema.readthedocs.io/en/4/properties/relateditem/)' type: array items: type: object properties: relatedItemType: $ref: '#/components/schemas/resourceTypeGeneral' relationType: $ref: '#/components/schemas/relationType' relatedItemIdentifier: type: object properties: relatedItemIdentifier: type: string relatedItemIdentifierType: $ref: '#/components/schemas/relatedIdentifierType' relatedMetadataScheme: type: string schemeURI: type: string schemeType: type: string relationTypeInformation: type: string creators: type: array items: type: object properties: name: type: string givenName: type: string familyName: type: string nameType: $ref: '#/components/schemas/nameType' titles: type: array items: type: object properties: title: type: string titleType: $ref: '#/components/schemas/titleType' volume: type: string issue: type: string number: type: string numberType: type: string enum: - Article - Chapter - Report - Other firstPage: type: string lastPage: type: string publisher: type: string publicationYear: type: string edition: type: string contributors: type: array items: type: object properties: name: type: string givenName: type: string familyName: type: string nameType: $ref: '#/components/schemas/nameType' contributorType: $ref: '#/components/schemas/contributorType' sizes: description: '[DataCite Metadata Schema: Size](https://datacite-metadata-schema.readthedocs.io/en/4/properties/size/)' type: array items: type: string formats: description: '[DataCite Metadata Schema: Format](https://datacite-metadata-schema.readthedocs.io/en/4/properties/format/)' type: array items: type: string version: description: '[DataCite Metadata Schema: Version](https://datacite-metadata-schema.readthedocs.io/en/4/properties/version/)' type: string rightsList: description: '[DataCite Metadata Schema: Rights](https://datacite-metadata-schema.readthedocs.io/en/4/properties/rights/)' type: array items: type: object properties: rights: type: string rightsUri: type: string schemeUri: type: string rightsIdentifier: type: string rightsIdentifierScheme: type: string lang: type: string descriptions: description: '[DataCite Metadata Schema: Description](https://datacite-metadata-schema.readthedocs.io/en/4/properties/description/)' type: array items: type: object properties: description: type: string descriptionType: type: string enum: - Abstract - Methods - SeriesInformation - TableOfContents - TechnicalInfo - Other lang: type: string geoLocations: description: '[DataCite Metadata Schema: GeoLocation](https://datacite-metadata-schema.readthedocs.io/en/4/properties/geolocation/)' type: array items: type: object properties: geoLocationBox: type: object properties: westBoundLongitude: type: number eastBoundLongitude: type: number southBoundLatitude: type: number northBoundLatitude: type: number geoLocationPlace: type: string geoLocationPoint: type: object properties: pointLongitude: type: number pointLatitude: type: number geoLocationPolygon: type: array items: type: object oneOf: - type: object properties: polygonPoint: type: object properties: pointLongitude: type: number pointLatitude: type: number - type: object properties: inPolygonPoint: type: object properties: pointLongitude: type: number pointLatitude: type: number fundingReferences: description: '[DataCite Metadata Schema: FundingReference](https://datacite-metadata-schema.readthedocs.io/en/4/properties/fundingreference/)' type: array items: type: object properties: funderName: type: string funderIdentifier: type: string funderIdentifierType: type: string enum: - Crossref Funder ID - GRID - ISNI - ROR - Other awardNumber: type: string awardUri: type: string awardTitle: type: string DoiPropertiesOther: type: object properties: url: description: The landing page URL of the DOI. type: string contentUrl: description: An array of content URLs associated with the DOI. type: array items: type: string metadataVersion: description: The version of the stored DataCite metadata, incremented once per update. readOnly: true type: number schemaVersion: description: The DataCite Metadata Schema version of the stored DOI metadata represented as a URL. When creating or updating a DOI, `schemaVersion` is not necessary unless modifying the DataCite Metadata Schema version. type: string source: allOf: - description: The system used to create the DOI. - readOnly: true - $ref: '#/components/schemas/source' isActive: description: '"true" if the DOI is in [Findable state](https://support.datacite.org/docs/doi-states#findable-doi-name). Otherwise, "false".' readOnly: true type: boolean state: allOf: - description: The [state of the DOI](https://support.datacite.org/docs/doi-states). - readOnly: true - $ref: '#/components/schemas/state' reason: description: Legacy attribute for EZID compatibility. readOnly: true type: string DoiPropertiesDates: type: object properties: created: description: The date the DOI record was created in the DataCite system. type: string readOnly: true registered: description: The date the DOI was registered in the global handle server. type: string readOnly: true updated: description: The date the DOI was last updated. type: string readOnly: true Event: type: object properties: id: type: string type: type: string enum: [events] attributes: type: object properties: subj-id: type: string obj-id: type: string source-id: $ref: '#/components/schemas/source-id' relation-type-id: $ref: '#/components/schemas/relation-type-id' total: type: number message-action: type: string enum: - create - add source-token: type: string license: type: string occured-at: type: string timestamp: type: string relationships: type: object properties: subj: type: object properties: data: $ref: '#/components/schemas/DataObject' obj: type: object properties: data: $ref: '#/components/schemas/DataObject' required: - id - attributes - subj-id - source-token - source-id Prefix: type: object properties: id: type: string type: type: string enum: [prefixes] attributes: type: object properties: prefix: type: string createdAt: type: string relationships: type: object properties: clients: type: object properties: data: $ref: '#/components/schemas/DataArray' providers: type: object properties: data: $ref: '#/components/schemas/DataArray' clientPrefixes: type: object properties: data: $ref: '#/components/schemas/DataArray' providerPrefixes: type: object properties: data: $ref: '#/components/schemas/DataArray' required: - prefix ProviderPrefix: type: object properties: id: type: string type: type: string enum: [provider-prefixes] attributes: type: object properties: createdAt: type: string readOnly: true updatedAt: type: string readOnly: true relationships: type: object properties: provider: type: object properties: data: $ref: '#/components/schemas/DataObject' prefix: type: object properties: data: $ref: '#/components/schemas/DataObject' clients: type: object properties: data: $ref: '#/components/schemas/DataArray' clientPrefixes: type: object properties: data: $ref: '#/components/schemas/DataArray' required: - id Provider: type: object properties: id: type: string type: type: string enum: [providers] attributes: type: object properties: name: type: string displayName: type: string symbol: type: string website: type: string systemEmail: description: Returned only when authenticated with associated credentials. type: string groupEmail: description: Returned only when authenticated with associated credentials. type: string globusUuid: description: Returned only when authenticated with associated credentials. type: string description: type: string region: $ref: '#/components/schemas/region' country: type: string logoUrl: type: string memberType: $ref: '#/components/schemas/member-type' organizationType: $ref: '#/components/schemas/organization-type' focusArea: $ref: '#/components/schemas/focus-area' nonProfitStatus: type: string isActive: type: boolean hasPassword: description: Returned only when authenticated with associated credentials. type: boolean joined: type: string twitterHandle: description: Returned only when authenticated with associated credentials. type: string rorId: type: string technicalContact: $ref: '#/components/schemas/ProviderContact' secondaryTechnicalContact: $ref: '#/components/schemas/ProviderContact' billingContact: $ref: '#/components/schemas/ProviderContact' secondaryBillingContact: $ref: '#/components/schemas/ProviderContact' serviceContact: $ref: '#/components/schemas/ProviderContact' secondaryServiceContact: $ref: '#/components/schemas/ProviderContact' votingContact: $ref: '#/components/schemas/ProviderContact' hasRequiredContacts: description: Returned only when authenticated with associated credentials. type: boolean created: type: string updated: type: string doiEstimate: type: number relationships: type: object properties: clients: type: object properties: data: $ref: '#/components/schemas/DataArray' prefixes: type: object properties: data: $ref: '#/components/schemas/DataArray' contacts: type: object description: Returned only when authenticated with associated credentials. properties: data: $ref: '#/components/schemas/DataArray' consortium: type: object description: Returned only when the provider is a Consortium Organization. properties: data: $ref: '#/components/schemas/DataObject' consortiumOrganizations: type: object description: Returned only when the provider is a Consortium. properties: data: $ref: '#/components/schemas/DataArray' required: - id - attributes - name - symbol ProviderContact: type: object description: Returned only when authenticated with associated credentials. properties: email: type: string familyName: type: string givenName: type: string Report: type: object description: >- Describes the formatting needs for the COUNTER Dataset Report. Response may include the Report_Header (optional), Report_Datasets (usage stats). properties: id: type: string example: 003fadc1-daab-4d1e-97d1-96004c1ff529 report-header: type: object required: - report-id - report-name - release - created-by - reporting-period properties: report-name: type: string description: The long name of the report. example: Dataset Report report-id: type: string description: >- The report ID or code or shortname. Typically this will be the same code provided in the Report parameter of the request. example: DSR release: type: string description: The release or version of the report. example: RD1 created-by: type: string description: Name of the organization producing the report. example: DataONE created: type: string format: dateTime description: >- Time the report was prepared. Format as defined by date-time - RFC3339 example: '2019-09-08T22:47:31Z' reporting-period: description: Time the report was prepared. type: object properties: end-date: type: string example: 2018-04-30 begin-date: type: string example: 2018-04-01 report-filters: description: >- Zero or more report filters used for this report. Typically reflect filters provided on the Request. Filters limit the data to be reported on. type: array items: type: string report-attributes: description: >- Zero or more additional attributes applied to the report. Attributes inform the level of detail in the report. type: array items: type: string exceptions: readOnly: true type: array items: type: object properties: code: type: number data: type: string message: type: string help-url: type: string severity: type: string report-datasets: description: >- Defines the output for the Report_Datasets being returned in a Dataset Report. Collection of datasets from the report. type: array items: type: object properties: uri: type: string example: https://cn.dataone.org/cn/v2/resolve/doi%3A10.5063%2FAA%2Fnceas.985.1 yop: type: string description: >- Year of publication in the format of 'yyyy'. Use '0001' for unknown and '9999' for articles in press. example: '2010' platform: type: string description: Name of the platform. example: DataONE data-type: type: string description: Nature of the dataset being reported. example: dataset publisher: type: string description: Name of publisher of the dataset. example: DataONE dataset-id: type: array description: The identifier for the report dataset. items: type: object properties: type: type: string example: doi value: type: string example: 10.15146/R3J66V performance: type: array items: type: object properties: period: type: object properties: end-date: type: string example: 2018-04-30 begin-date: type: string example: 2018-04-01 instance: type: array items: type: object properties: count: type: number example: 20 metric-type: type: string description: Type of activity being counted. example: unique-dataset-requests enum: - total-dataset-requests - unique-dataset-requests - total-dataset-investigations - unique-dataset-investigations access-method: type: string description: >- Identifies if the usage activity was 'Regular' usage - a user doing research on a content site, or if the usage activity was 'Machine' - for the purpose of retrieving content for Text and Data Mining (TDM). example: regular enum: - regular - machine publisher-id: type: array items: type: object properties: type: type: string example: ror value: type: string example: https://ror.org/04wxnsj81 dataset-dates: type: array items: type: object properties: type: type: string example: pub-date enum: - pub-date - first-accessed-online - proprietary value: type: string example: 2017-12-31 dataset-title: type: string description: Name of the dataset being reported. example: Lake Erie Fish Community Data dataset-contributors: type: array description: The identifier for contributor (i.e. creator) of the dataset. items: type: object properties: type: type: string example: name enum: - name - orcid - isni value: type: string description: Value of the contributor identifier. example: Cassandra Lopez report-subsets: type: array items: type: object properties: gzip: type: string checksum: type: string required: - report-datasets TotalsObject: type: object properties: id: type: string title: type: string count: type: number temporal: type: object properties: this_month: type: array items: $ref: '#/components/schemas/MetaObject' this_year: type: array items: $ref: '#/components/schemas/MetaObject' last_year: type: array items: $ref: '#/components/schemas/MetaObject' two_years_ago: type: array items: $ref: '#/components/schemas/MetaObject' states: type: array items: $ref: '#/components/schemas/MetaObject' # object/array building blocks used across multiple object types DataObject: type: object properties: id: type: string type: type: string DataArray: type: array items: $ref: '#/components/schemas/DataObject' MetaObject: type: object properties: id: type: string type: type: string count: type: number MetaArray: type: array items: $ref: '#/components/schemas/MetaObject' MetaCore: type: object properties: total: description: Total results count. type: number totalPages: description: Total pages count. type: number page: description: Current page of the results. type: number Links: type: object properties: self: type: string next: type: string # reusable objects subject: type: object properties: subject: type: string example: Chemical engineering subjectScheme: type: string example: 'Fields of Science and Technology (FOS)' schemeUri: type: string example: 'https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf' valueUri: type: string lang: type: string classificationCode: type: string example: '2.4' # reusable enums repositoryType: type: string enum: - disciplinary - governmental - institutional - multidisciplinary - project-related - other software: type: string enum: - Cayuse - CKAN - Dataverse - dLibra - DSpace - EPrints - Ex Libris Esploro - Fedora - Invenio - Islandora - MyCoRe - Nesstar - Omega-PSIR - Omeka S - Open Journal Systems (OJS) - OPUS - Pubman - Pure - Redivis - RSpace - Samvera - SESAR - Ubiquity - Other - Unknown relationType: description: '[DataCite Metadata Schema: relationType](https://datacite-metadata-schema.readthedocs.io/en/4/appendices/appendix-1/relationType/)' type: string enum: - IsCitedBy - Cites - IsSupplementTo - IsSupplementedBy - IsContinuedBy - Continues - IsDescribedBy - Describes - HasMetadata - IsMetadataFor - HasVersion - IsVersionOf - IsNewVersionOf - IsPreviousVersionOf - IsPartOf - HasPart - IsPublishedIn - IsReferencedBy - References - IsDocumentedBy - Documents - IsCompiledBy - Compiles - IsVariantFormOf - IsOriginalFormOf - IsIdenticalTo - IsReviewedBy - Reviews - IsDerivedFrom - IsSourceOf - IsRequiredBy - Requires - IsObsoletedBy - Obsoletes - IsCollectedBy - Collects - IsTranslationOf - HasTranslation - Other resourceTypeGeneral: description: '[DataCite Metadata Schema: resourceTypeGeneral](https://datacite-metadata-schema.readthedocs.io/en/4/appendices/appendix-1/resourceTypeGeneral/)' type: string enum: - Audiovisual - Award - Book - BookChapter - Collection - ComputationalNotebook - ConferencePaper - ConferenceProceeding - DataPaper - Dataset - Dissertation - Event - Image - Instrument - InteractiveResource - Journal - JournalArticle - Model - OutputManagementPlan - PeerReview - PhysicalObject - Poster - Preprint - Presentation - Project - Report - Service - Software - Sound - Standard - StudyRegistration - Text - Workflow - Other contributorType: description: '[DataCite Metadata Schema: contributorType](https://datacite-metadata-schema.readthedocs.io/en/4/appendices/appendix-1/contributorType/)' type: string enum: - ContactPerson - DataCollector - DataCurator - DataManager - Distributor - Editor - HostingInstitution - Producer - ProjectLeader - ProjectManager - ProjectMember - RegistrationAgency - RegistrationAuthority - RelatedPerson - Researcher - ResearchGroup - RightsHolder - Sponsor - Supervisor - Translator - WorkPackageLeader - Other relatedIdentifierType: description: '[DataCite Metadata Schema: relatedIdentifierType](https://datacite-metadata-schema.readthedocs.io/en/4/appendices/appendix-1/relatedIdentifierType/)' type: string enum: - ARK - arXiv - bibcode - CSTR - DOI - EAN13 - EISSN - Handle - IGSN - ISBN - ISSN - ISTC - LISSN - LSID - PMID - PURL - RAiD - RRID - SWHID - UPC - URL - URN - w3id titleType: type: string enum: - AlternativeTitle - Subtitle - TranslatedTitle - Other nameType: type: string enum: - Personal - Organizational certificate: type: string enum: - CLARIN - CoreTrustSeal - DIN 31644 - DINI - DSA - RatSWD - WDS client-type: type: string enum: - repository - periodical - igsnCatalog - raidRegistry state: type: string enum: - findable - registered - draft source: type: string enum: - mds - api - fabricaForm - fabrica - ez region: type: string enum: - AMER - APAC - EMEA member-type: type: string enum: - consortium_organization - direct_member - consortium - member_only - developer organization-type: type: string enum: - academicInstitution - governmentAgency - nationalInstitution - publisher - professionalSociety - researchInstitution - serviceProvider - internationalOrganization - other - null focus-area: type: string enum: - naturalSciences - engineeringAndTechnology - medicalAndHealthSciences - agriculturalSciences - socialSciences - humanities - general - null source-id: type: string enum: - datacite-usage - datacite-related - datacite-crossref - datacite-kisti - datacite-op - datacite-medra - datacite-istic - datacite-funder - datacite-orcid-auto-update - datacite-url - crossref relation-type-id: type: string enum: - is-cited-by - cites - is-supplement-to - is-supplemented-by - is-continued-by - continues - is-described-by - describes - has-metadata - is-metadata-for - has-version - is-version-of - is-new-version-of - is-previous-version-of - is-part-of - has-part - is-published-in - is-referenced-by - references - is-documented-by - documents - is-compiled-by - compiles - is-variant-form-of - is-original-form-of - is-identical-to - is-reviewed-by - reviews - is-derived-from - is-source-of - is-required-by - requires - is-obsoleted-by - obsoletes - is-collected-by - collects - is-translation-of - has-translation - other - is-authored-by - is-authored-at - is-funded-by - total-dataset-investigations-regular - unique-dataset-investigations-regular - total-dataset-requests-regular - unique-dataset-requests-regular - total-dataset-investigations-machine - unique-dataset-investigations-machine - total-dataset-requests-machine - unique-dataset-requests-machine # reusable numbers viewCount: description: Total views, pulled from Event Data. readOnly: true type: number downloadCount: description: Total downloads, pulled from Event Data. readOnly: true type: number referenceCount: description: Total references, pulled from Event Data. readOnly: true type: number citationCount: description: Total citations, pulled from Event Data. readOnly: true type: number partCount: description: Total number of parts, pulled from Event Data. readOnly: true type: number partOfCount: description: Total number of parents, pulled from Event Data. readOnly: true type: number versionCount: description: Total number of versions, pulled from Event Data. readOnly: true type: number versionOfCount: description: Total number to which this DOI is a version, pulled from Event Data. readOnly: true type: number parameters: clientIdParam: name: client-id in: query description: Filter by a specific DataCite client (repository). Use commas to include multiple repositories. schema: type: string example: datacite.blog providerIdParam: name: provider-id in: query description: Filter by a specific DataCite provider (Direct Member or Consortium Organization). Use commas to include multiple providers. schema: type: string example: cern consortiumIdParam: name: consortium-id in: query description: Filter by a specific DataCite consortium. schema: type: string example: ardc publisherParam: name: publisher in: query description: Set `publisher=true` to see additional publisher information such as the publisher identifier. schema: type: boolean example: true affiliationParam: name: affiliation in: query description: Set `affiliation=true` to see additional affiliation information such as the affiliation identifier. schema: type: boolean example: true pageNumberParam: name: page[number] in: query schema: type: integer description: Page number for [pagination](https://support.datacite.org/docs/pagination). pageSizeParam: name: page[size] in: query schema: type: integer minimum: 0 maximum: 1000 description: Page size between 0 and 1,000 for [pagination](https://support.datacite.org/docs/pagination). pageCursorParam: name: page[cursor] in: query schema: type: string description: Use for [cursor-based pagination](https://support.datacite.org/docs/pagination#method-2-cursor). securitySchemes: BasicAuth: type: http scheme: basic bearerAuth: type: http scheme: bearer bearerFormat: JWT security: - {} - BasicAuth: [] - bearerAuth: []