DataCite activities API

Activities

OpenAPI Specification

datacite-activities-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: REST activities 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: activities
  description: Activities
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'
  /dois/{id}/activities:
    get:
      parameters:
      - name: id
        in: path
        description: DOI
        required: true
        schema:
          type: string
      tags:
      - 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'
components:
  schemas:
    Links:
      type: object
      properties:
        self:
          type: string
        next:
          type: string
    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
    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
  parameters:
    pageNumberParam:
      name: page[number]
      in: query
      schema:
        type: integer
      description: Page number 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).
    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).
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT