Updating metadata with the REST API
With the REST API you can update a DOI either in full or partially via the attributes you specify. This is handled by the HTTP verb PUT and still ensuring you follow a JSON:API document structure for your request payload.
Below is an example of how to partially update metadata using the REST API, in this case the relatedIdentifier.
First we define our JSON Payload:
{
"data": {
"attributes": {
"relatedIdentifiers": [
{
"relatedIdentifier": "https://doi.org/10.xxxx/xxxxx",
"relatedIdentifierType": "DOI",
"relationType": "References",
"resourceTypeGeneral": "Dataset"
}
]
}
}
}
To submit this using curl, we'll use the following command, first:
- Replacing
YOUR_REPOSITORY_ID:YOUR_PASSWORD
with your DataCite repository credentials. - Replacing
my_doi_update.json
with the file you've saved the metadata in. - Replacing :id with the DOI you wish to update e.g. https://api.test.datacite.org/dois/10.5072/1234
# PUT /dois/:id
$ curl -X PUT -H "Content-Type: application/vnd.api+json" --user YOUR_REPOSITORY_ID:YOUR_PASSWORD -d @my_doi_update.json https://api.test.datacite.org/dois/:id
More information about updating DOI metadata via the REST API can be found in the reference API.
Updated 10 months ago