DataCite prefixes API

Prefixes

OpenAPI Specification

datacite-prefixes-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: REST activities prefixes 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
security:
- {}
- BasicAuth: []
- bearerAuth: []
tags:
- name: prefixes
  description: Prefixes
paths:
  /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'
components:
  schemas:
    MetaObject:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        count:
          type: number
    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
    Links:
      type: object
      properties:
        self:
          type: string
        next:
          type: string
    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
    DataArray:
      type: array
      items:
        $ref: '#/components/schemas/DataObject'
    DataObject:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
  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
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT