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