Invenio REST API (12.0.0)

Download OpenAPI specification:

<strong>Summary</strong>

<strong>Resources</strong>

Summary

The following document is a reference guide for all the REST APIs that InvenioRDM exposes.

Resources

Access

Access control and sharing

Get an access link by ID

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

linkId
required
string

Unique identifier for the access link

Responses

Response samples

Content type
application/json
{ }

Request Actions

Request actions and lifecycle management

Accept a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Cancel a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Decline a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Avatars

User and group avatars

Get avatar for user

Authorizations:
BearerAuth
path Parameters
userId
required
string

Unique identifier for the user

Responses

Response samples

Content type
application/json
{ }

Get avatar for group

Authorizations:
BearerAuth
path Parameters
groupId
required
string

Unique identifier for the group

Responses

Response samples

Content type
application/json
{ }

Comments

Request comments and discussions

Submit a comment on a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Get a comment

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

comment_id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a comment

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

comment_id
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{ }

Delete a comment

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

comment_id
required
string

Responses

Response samples

Content type
application/json
{ }

Communities

Community management endpoints

Create a Community

Authorizations:
BearerAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "access": {
    },
  • "slug": "public-community-{{$randomProductAdjective}}-{{$randomVerb}}",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Search Communities

Authorizations:
BearerAuth
query Parameters
prettyprint
string
Example: prettyprint=1
q
string
Example: q=test

Search query used to filter results based on ElasticSearch's query string syntax.

sort
string
Example: sort=updated-asc

Sort search results. Customizable. Built-in options are "bestmatch", "newest", "oldest", "updated-desc", "updated-asc", "version" (default: "bestmatch" or "newest").

size
string
Example: size=2

Specify number of items in the results page (default: 10)

page
string
Example: page=1

Specify the page of results.

type
string

Specify community type as one of organization, event, topic or project.

Responses

Response samples

Content type
application/json
{ }

Update a Community

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "access": {
    },
  • "slug": "{{community-slug}}",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{ }

Delete Community

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Responses

Response samples

Content type
application/json
{ }

Get a Community

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Responses

Response samples

Content type
application/json
{ }

Get Community Records

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

query Parameters
q
string
Example: q=metadata.publication_date%3A%5B2020-01-01%20TO%20%2A%5D

metadata.publication_date:[YYYY-MM-DD TO *] - Search for records published after a specific date

Responses

Response samples

Content type
application/json
{ }

Rename a Community

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "access": {
    },
  • "slug": "public-community-{{$randomProductAdjective}}-{{$randomVerb}}",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Featured Communities

Featured communities management

Get Featured Community Entry

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Responses

Response samples

Content type
application/json
{ }

Create a Featured Community Entry

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "start_date": "2024-06-12T23:24:15.373Z"
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Search Featured Communities

Authorizations:
BearerAuth
query Parameters
prettyprint
string
Example: prettyprint=1
q
string
Example: q=test

Search query used to filter results based on ElasticSearch's query string syntax.

size
string
Example: size=2

Specify number of items in the results page (default: 10)

page
string
Example: page=1

Specify the page of results.

type
string

Specify community type as one of organization, event, topic or project.

Responses

Response samples

Content type
application/json
{ }

Update a Featured Community Entry

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

featured-entry-id
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "start_date": "2024-06-11T10:13:13.945Z"
}

Response samples

Content type
application/json
{ }

Delete a Featured Community Entry

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

featured-entry-id
required
string

Responses

Response samples

Content type
application/json
{ }

Drafts

Draft record management

Get a review request

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{ }

Create/update a review request

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "receiver": {
    },
  • "type": "community-submission"
}

Response samples

Content type
application/json
{ }

Delete a review request

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{ }

Submit a record for review

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

List a draft's files

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{ }

Download a draft file

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

file-name
required
string

Responses

Response samples

Content type
application/json
{ }

Publish a draft record

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Link files from previous version

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Edit a published record (Create a draft record from a published record)

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Delete/discard a draft record

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{ }

Update a draft record

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Request Body schema: application/json
required
object (Access)

Denotes record-specific read (visibility) options.

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/reference/metadata/#access

object (Files)

Files options for the record.

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/reference/rest_api_drafts_records/#files-options

object (Metadata)

Metadata schema of bibliographic records in InvenioRDM.

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/reference/metadata/#metadata

object (CustomFields)

Custom fields metadata for the record. (v10 and newer).

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/operate/customize/metadata/custom_fields/records/#declaring-custom-fields

Responses

Request samples

Content type
application/json
{
  • "access": {
    },
  • "files": {
    },
  • "metadata": {
    }
}

Response samples

Content type
application/json
{ }

Get a draft records

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{ }

Get a draft file's metadata

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

file-name
required
string

Responses

Response samples

Content type
application/json
{ }

Delete a draft file

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

file-name
required
string

Responses

Response samples

Content type
application/json
{ }

Reserve a DOI

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Responses

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Delete a DOI

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

query Parameters
expand
string
Example: expand=1

Responses

Response samples

Content type
application/json
{ }

Drafts Files upload

Draft record management

step[1] Start draft file upload(s)

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

Request Body schema: application/json
required
Array
key
required
string

Key (filename) of the file

size
integer <int64>

Size of the file in bytes.

checksum
string

Checksum of the file.

object (FileTransfer)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

step[2] Upload a draft file's content

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

file-name
required
string
Request Body schema: application/octet-stream
required
string <binary>

Responses

Response samples

Content type
application/json
{ }

step[3] Complete a draft file upload

Authorizations:
BearerAuth
path Parameters
draftId
required
string

Unique identifier for the draft record

file-name
required
string

Responses

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Export

Record export functionality

Export record as JSON

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Export record as dublincore XML

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Export record as datacite-xml

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Export record as datacite-json

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Export record as csl

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Records Files

File management operations

List a record's files

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Get a record file's metadata

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

file-name
required
string

Responses

Response samples

Content type
application/json
{ }

Download a record file

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

file-name
required
string

Responses

Response samples

Content type
application/json
{ }

Groups

Group management endpoints

Search groups

Authorizations:
BearerAuth
query Parameters
q
required
string
Example: q=admin

Search query used to filter results.

Responses

Response samples

Content type
application/json
{ }

Get group by ID

Authorizations:
BearerAuth
path Parameters
groupId
required
string

Unique identifier for the group

Responses

Response samples

Content type
application/json
{ }

Get avatar for group

Authorizations:
BearerAuth
path Parameters
groupId
required
string

Unique identifier for the group

Responses

Response samples

Content type
application/json
{ }

Communities Invitations

Communities invitations

Search invitations

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

query Parameters
q
string
Example: q=test

Search query used to filter results.

sort
string
Example: sort=bestmatch

Sort search results. Customizable. Built-in options are "bestmatch", "name", "newest", "oldest" (default: "bestmatch" or "name").

size
string
Example: size=1

Specify number of items in the results page (default: 10).

page
string
Example: page=1

Specify the page of results.

role
string
Example: role=owner

Filter by role (one of reader, curator, manager, owner).

status
string
Example: status=accepted

Filter by status (one of submitted, accepted, declined, expired, cancelled)

is_open
string
Example: is_open=false

Filter by open/closed (one of true, false)

Responses

Response samples

Content type
application/json
{ }

Invite user members

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "role": "curator",
  • "message": "<p>Hi</p>"
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Update invitations

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "visible": false,
  • "role": "reader"
}

Response samples

Content type
application/json
{ }

Communities Members

Communities membership management

Search members

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

query Parameters
q
string

Search query used to filter results.

sort
string

Sort search results. Customizable. Built-in options are "bestmatch", "name", "newest", "oldest" (default: "bestmatch" or "name").

size
string

Specify number of items in the results page (default: 10).

page
string

Specify the page of results.

role
string

Filter by role (one of reader, curator, manager, owner).

visibility
string

Filter by visibility (one of true, false)

Responses

Response samples

Content type
application/json
{ }

Add group members

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "role": "curator"
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Update members

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "visible": false,
  • "role": "reader"
}

Response samples

Content type
application/json
{ }

Remove members / leave community

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

Responses

Response samples

Content type
application/json
{ }

Search public members

Authorizations:
BearerAuth
path Parameters
communityId
required
string

Unique identifier for the community

query Parameters
q
string

Search query used to filter results.

size
string

Specify number of items in the results page (default: 10).

page
string

Specify the page of results.

Responses

Response samples

Content type
application/json
{ }

OAI-PMH

OAI-PMH protocol endpoints

Get metadata formats

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Records

Record and draft management endpoints

Create a draft record

Authorizations:
BearerAuth
Request Body schema: application/json
required
object (Access)

Denotes record-specific read (visibility) options.

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/reference/metadata/#access

object (Files)

Files options for the record.

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/reference/rest_api_drafts_records/#files-options

object (Metadata)

Metadata schema of bibliographic records in InvenioRDM.

More informations can be found on InvenioRDM Official page: https://inveniordm.docs.cern.ch/reference/metadata/#metadata

object
object (PIDs) unique

Responses

Request samples

Content type
application/json
{
  • "access": {
    },
  • "files": {
    },
  • "metadata": {
    },
  • "type": "community-submission"
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Search records

Authorizations:
BearerAuth
query Parameters
q
string

Search query used to filter results based on ElasticSearch's query string syntax.

sort
string
Example: sort=newest

Sort search results. Customizable. Built-in options are "bestmatch", "newest", "oldest", "updated-desc", "updated-asc", "version", "mostviewed", "mostdownloaded" (default: "bestmatch" or "newest").

size
string

Specify number of items in the results page (default: 10).

page
string

Specify the page of results.

allversions
string
Example: allversions=True

Specify if all versions should be included (default: False, displays just latest version).

Responses

Response samples

Content type
application/json
{ }

Delete Record community

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Get a record by ID

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Get an access link by ID

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

linkId
required
string

Unique identifier for the access link

Responses

Response samples

Content type
application/json
{ }

Requests

Request management endpoints

Submit a comment on a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Get a comment

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

comment_id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a comment

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

comment_id
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{ }

Delete a comment

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

comment_id
required
string

Responses

Response samples

Content type
application/json
{ }

Get a request's timeline

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Responses

Response samples

Content type
application/json
{ }

Search requests

Authorizations:
BearerAuth
query Parameters
q
string

Search query used to filter results based on ElasticSearch's query string syntax.

sort
string

Sort search results. Built-in options are "bestmatch", "name", "newest", "oldest" (default: "bestmatch" or "newest").

size
string

Specify number of items in the results page (default: 10).

page
string

Specify the page of results.

Responses

Response samples

Content type
application/json
{ }

Get a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Responses

Response samples

Content type
application/json
{ }

Update a request

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "expires_at": "2024-06-11",
  • "id": "{{record-id}}",
  • "number": "1",
  • "revision_id": 1,
  • "status": "draft",
  • "title": "A new title",
  • "type": "default-request"
}

Response samples

Content type
application/json
{ }

Statistics

Statistics and analytics endpoints

Get statistics

Authorizations:
BearerAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "views": {
    },
  • "views-all-versions": {
    },
  • "views-with-date-range": {
    }
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Timeline

Request timeline and history

Get a request's timeline

Authorizations:
BearerAuth
path Parameters
requestId
required
string

Unique identifier for the request

Responses

Response samples

Content type
application/json
{ }

Users

User management endpoints

Get a user by ID

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Search User Communities

Authorizations:
BearerAuth
query Parameters
page
string
Example: page=1
type
string
Example: type=project
size
string
Example: size=1
sort
string
Example: sort=oldest

Responses

Response samples

Content type
application/json
{ }

Get all draft records

Authorizations:
BearerAuth
query Parameters
q
string
Example: q=is_published:false
search
string
Example: search=pids.doi.identifier:example-doi-123

Search query used to filter user records, typically by persistent identifier or other record fields.

Responses

Response samples

Content type
application/json
{ }

Get a user by ID

Authorizations:
BearerAuth
path Parameters
userId
required
string

Unique identifier for the user

Responses

Response samples

Content type
application/json
{ }

Get avatar for user

Authorizations:
BearerAuth
path Parameters
userId
required
string

Unique identifier for the user

Responses

Response samples

Content type
application/json
{ }

Records Versions

Record Version management

Create a new version

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Get all versions

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Get latest version

Authorizations:
BearerAuth
path Parameters
recordId
required
string

Unique identifier for the record

Responses

Response samples

Content type
application/json
{ }

Vocabularies

Vocabulary and controlled terms endpoints

Get names

Authorizations:
BearerAuth
query Parameters
q
string
Example: q=lastname

Search query used to filter results.

sort
string

Sort search results. Built-in options are "bestmatch", "name", "newest", "oldest" (default: "bestmatch" or "name").

size
string

Specify number of items in the results page (default: 10).

page
string

Specify the page of results.

suggest
string

"Search as you type" query.

Responses

Response samples

Content type
application/json
{ }

Get names by ID

Authorizations:
BearerAuth
path Parameters
vocNamesId
required
string

Unique identifier for the name vocabulary

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies funders

Authorizations:
BearerAuth
query Parameters
q
string

Search query used to filter results.

suggest
string

"Search as you type" query.

sort
string
Example: sort=bestmatch

Sort search results. Built-in options are "bestmatch", "name", "newest", "oldest" (default: "bestmatch" or "name").

size
string
Example: size=1

Specify number of items in the results page (default: 10).

page
string
Example: page=1

Specify the page of results.

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies funders by ID

Authorizations:
BearerAuth
path Parameters
vocFundersId
required
string

Unique identifier for the funder vocabulary

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies awards

Authorizations:
BearerAuth
query Parameters
q
string

Search query used to filter results.

suggest
string

"Search as you type" query.

sort
string
Example: sort=bestmatch

Sort search results. Built-in options are "bestmatch", "name", "newest", "oldest" (default: "bestmatch" or "name").

size
string
Example: size=1

Specify number of items in the results page (default: 10).

page
string
Example: page=1

Specify the page of results.

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies awards by ID

Authorizations:
BearerAuth
path Parameters
vocAwardsId
required
string

Unique identifier for the award vocabulary

Responses

Response samples

Content type
application/json
{ }

Search vocabularies

Authorizations:
BearerAuth
path Parameters
vocabularies-type
required
string
query Parameters
q
string
Example: q=arabic

Search query used to filter results based on ElasticSearch's query string syntax.

suggest
string

One or more words used to suggest records as the user types (i.e. auto-complete).

tags
string

Filter results to the tag string

sort
string
Example: sort=bestmatch

Sort search results. Unless overridden by a specific vocabulary, the built-in options are "bestmatch", "title", "newest", "oldest" (default: "bestmatch" or "title").

size
string
Example: size=1

Specify number of items in the results page (default: 10).

page
string
Example: page=1

Specify the page of results.

ln
string
Example: ln=en_US

Locale used to localize the title and description (e.g. en or en_US)

accept-language
string
Example: accept-language=en_US

Locale used to localize the title and description (e.g. en or en_US)

Responses

Response samples

Content type
application/json
{ }

Get a vocabulary record by ID

Authorizations:
BearerAuth
path Parameters
vocabularies-type
required
string
vocabulariesId
required
string

Unique identifier for the vocabulary

Responses

Response samples

Content type
application/json
{ }

Search vocabularies resourcetypes

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Search vocabularies languages

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Search vocabularies licenses

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Search vocabularies relationtypes

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

vocabularies contributorsroles

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

vocabularies descriptiontypes

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

vocabularies datetypes

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

vocabularies creatorsroles

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies affiliations

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies affiliations by ID

Authorizations:
BearerAuth
path Parameters
vocAffiliationId
required
string

Unique identifier for the affiliation vocabulary

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies subjects

Authorizations:
BearerAuth
query Parameters
suggest
required
string
Example: suggest={{subject-query}}

Responses

Response samples

Content type
application/json
{ }

Specific vocabularies subjects by ID

Authorizations:
BearerAuth
path Parameters
vocSubjectsId
required
string

Unique identifier for the subject vocabulary

Responses

Response samples

Content type
application/json
{ }

Audit Logs

Audit log entries and search

Search Logs (Admins only)

Search and filter audit log entries based on various parameters.

Authorizations:
BearerAuth
query Parameters
q
string
Example: q=abcd-1234

Search query used to filter audit log entries

size
string
Example: size=10

Specify number of items in the results page (default: 10)

page
string
Example: page=1

Specify the page of results

sort
string
Example: sort=newest

Sort search results. Built-in options are "newest", "oldest" (default: "newest")

Responses

Response samples

Content type
application/json
{
  • "hits": {
    },
  • "aggregations": { }
}

Retrieve Log Entry (Admins only)

Retrieve a specific audit log entry by its unique identifier.

Authorizations:
BearerAuth
path Parameters
logId
required
string

Unique identifier for the audit log entry

Responses

Response samples

Content type
application/json
{
  • "id": "9913abd2-1a7c-42cb-a73e-e48a9e1bf4f2",
  • "created": "2025-06-20T08:05:27.730677+00:00",
  • "action": "record.publish",
  • "resource": {
    },
  • "metadata": {
    },
  • "user": {
    },
}

OAI-PMH Sets

Create a set

Authorizations:
BearerAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "{{$randomWord}}",
  • "spec": "{{$randomWord}}",
  • "description": "{{$randomLoremParagraph}}",
  • "search_pattern": "{{$randomWord}}"
}

Response samples

Content type
application/json
{
  • "access": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "files": {
    },
  • "id": "string",
  • "is_published": true,
  • "links": {},
  • "metadata": { },
  • "parent": { },
  • "pids": {
    },
  • "revision_id": 0,
  • "updated": "2019-08-24T14:15:22Z",
  • "versions": {
    }
}

Search sets

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Get a set by ID

Authorizations:
BearerAuth
path Parameters
setId
required
string

Unique identifier for the OAI-PMH set

Responses

Response samples

Content type
application/json
{ }

Update a set

Authorizations:
BearerAuth
path Parameters
setId
required
string

Unique identifier for the OAI-PMH set

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "{{$randomWord}}",
  • "spec": "{{$randomWord}}",
  • "description": "{{$randomLoremParagraph}}",
  • "search_pattern": "{{$randomWord}}"
}

Response samples

Content type
application/json
{ }

Delete a set

Authorizations:
BearerAuth
path Parameters
setId
required
string

Unique identifier for the OAI-PMH set

Responses

Response samples

Content type
application/json
{ }