OpenAPI Specification
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