Planetary Data System DOI Service API (0.2)

Download OpenAPI specification:Download

PDS API for managing DOI registration with a DOI service provider (OSTI, DataCite, etc.).

dois

PDS DOI Core function restFull API

get_dois

List the DOI requests within the transaction database

query Parameters
doi
Array of string
Example: "10.17189/21734"

List of DOIs to fetch from transaction database.

submitter
Array of string
Example: "my.email@node.gov"

List of submitter email addresses to filter DOIs by.

node
Array of string
Example: "eng"

List of PDS node names cited as contributor of the DOI to filter by. Each identifier must be one of the valid PDS steward IDs, see https://pds.nasa.gov/datastandards/documents/dd/current/PDS4_PDS_DD_1D00.html#d5e72146

status
Array of string
Example: "review"

List of DOI workflow status values to filter results by. Status must be one of the following - "unknown", "draft", "review", or "findable".

ids
Array of string

List of PDS identifiers to filter DOIs by. Each identifier may contain one or more Unix-style wildcards (*) to pattern match against.

start_date
string
Example: "2020-01-01T00:00:00.00"

A start date to filter resulting DOI records by. Only records with an update time after this date will be returned. Value must be a valid isoformat string of the form \<YYYY>-\<mm>-\<dd>[T\<HH>:\<MM>:\<SS>.\<ms>]

end_date
string
Example: "2020-12-31T23:59:00.00"

An end date to filter resulting DOI records by. Only records with an update time prior to this date will be returned. Value must be a valid isoformat string of the form \<YYYY>-\<mm>-\<dd>[T\<HH>:\<SS>.\<ms>]

Responses

200

Success

400

Invalid Argument

500

Internal error

get /dois
Production server
http://pds.nasa.gov/api/doi/0.2/dois

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

post_dois

Submit a DOI to reserve or update. The payload includes URLs for one or more records to be submitted. Record URLs must resolve to PDS4 label files (xml).

query Parameters
action
required
string
Example: "reserve"

The submission action to perform. Must be one of "reserve", "draft" or "update". "draft" is an alias for "update".

submitter
required
string
Example: "my.email@node.gov"

Email address of the submission requester.

node
required
string
Example: "eng"

The PDS node name to cite as contributor of the DOI. Must be one of the valid PDS steward IDs, see https://pds.nasa.gov/datastandards/documents/dd/current/PDS4_PDS_DD_1D00.html#d5e72146

url
string

URL to provide as the record to register a DOI for. URL must start with either "http://" or "https://" and resolve to a valid PDS4 label in XML format. This value is only utilized when request is set to "update".

force
boolean
Default: false

If true, forces a reserve request to completion, ignoring any warnings encountered. Has no effect for update requests.

Request Body schema:
labels
Array of object

Responses

200

Success

201

Success

400

Invalid Argument

500

Internal error

post /dois
Production server
http://pds.nasa.gov/api/doi/0.2/dois

Request samples

Copy
Expand all Collapse all
{
  • "labels":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

get_doi_from_id

Get the status of a DOI from the transaction database.

query Parameters
identifier
required
string
Example: "urn:nasa:pds:lab_shocked_feldspars::1.0"

The PDS identifier associated with the record to fetch.

Responses

200

Success

404

Not existing

500

Internal error

get /doi
Production server
http://pds.nasa.gov/api/doi/0.2/doi

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

put_doi_from_id

Update the record associated with an existing DOI.

query Parameters
identifier
required
string
Example: "urn:nasa:pds:lab_shocked_feldspars::1.0"

The PDS identifier associated with the record to fetch.

submitter
string
Example: "my.email@node.gov"

Email address of the DOI update requester.

node
string
Example: "eng"

The PDS node name to cite as contributor of the DOI. Must be one of the valid PDS steward IDs, see https://pds.nasa.gov/datastandards/documents/dd/current/PDS4_PDS_DD_1D00.html#d5e72146

url
string

URL to provide as the record to update the DOI with. URL must start with either "http://" or "https://" and resolve to a valid PDS4 label in XML format.

Responses

501

Not implemented

put /doi
Production server
http://pds.nasa.gov/api/doi/0.2/doi

post_submit_doi

Move a DOI record from draft status to "review".

query Parameters
identifier
required
string
Example: "urn:nasa:pds:lab_shocked_feldspars::1.0"

The PDS identifier associated with the record to submit for review.

force
boolean
Default: false

If true, forces a submit request to completion, ignoring any warnings encountered.

Responses

200

Success

400

Can not be released

404

No entry found for identifier

500

Internal error

post /doi/submit
Production server
http://pds.nasa.gov/api/doi/0.2/doi/submit

Response samples

application/json
Copy
Expand all Collapse all
{
  • "doi": "string",
  • "identifier": "string",
  • "title": "string",
  • "node": "string",
  • "submitter": "string",
  • "status": "string",
  • "update_date": "2025-06-05T15:31:47Z",
  • "record": "string",
  • "creation_date": "2025-06-05T15:31:47Z",
  • "message": "string"
}

get_check_dois

Check submission status of all records pending release.

query Parameters
email
boolean
Default: false

If true, the check action sends results to the default recipients and pending DOI submitters.

attachment
boolean
Default: false

If true, the check action sends results as an email attachment. Has no effect if the email flag is not set to true.

submitter
required
string

The email address of the user to register as author of the check action. This address is also included in the list of recipients.

Responses

200

Success

400

DOI service provider cannot be reached

500

Internal error

get /dois/check
Production server
http://pds.nasa.gov/api/doi/0.2/dois/check

Response samples

application/json
Copy
Expand all Collapse all
{
  • "doi": "string",
  • "identifier": "string",
  • "title": "string",
  • "node": "string",
  • "submitter": "string",
  • "status": "string",
  • "update_date": "2025-06-05T15:31:47Z",
  • "record": "string",
  • "creation_date": "2025-06-05T15:31:47Z",
  • "message": "string"
}