Action Provider: DataCite Mint
URL: https://actions.globus.org/datacite/mint/basic_auth
[Introspect]
Scope: https://auth.globus.org/scopes/5fac2e64-c734-4e6b-90ea-ff12ddbf9653/datacite_mint_basic_auth_action_all
Synchronous / Asynchronous: Synchronous
The DataCite DOI Minting action provider uses the DataCite "Create DOIs" JSON API to mint DOIs.
The action provider requires several values to interact with the DataCite API:
-
username
andpassword
are used to interact with the DataCite API. -
as_test
is flag that, if set totrue
, indicates to create a DOI in the DataCite Test environment.
The Doi
key must contain a complete input document to pass to DataCite;
the contents will be submitted in a data
key.
The Doi
key accepted by the action provider passes its contents to the DataCite API.
In the Usage Example below, a small number of metadata fields are shown,
but the DataCite API supports many more metadata fields.
Please review the DataCite "Create DOIs" JSON API documentation for a complete list of supported properties.
Usage Example
The example below demonstrates how to use the action provider in a flow.
Features of the flow:
-
Variables (those using the
.$
key suffix and$.
value prefix) allow users to customize the metadata of the new DOI that will be created. -
__Private_Parameters
is used to flag keys that should be scrubbed from log or error messages.
{
"StartAt": "DataCiteMint",
"States": {
"DataCiteMint": {
"Type": "Action",
"ActionUrl": "https://actions.globus.org/datacite/mint/basic_auth",
"Parameters": {
"__Private_Parameters": [
"username",
"password"
],
"username.$": "$.username",
"password.$": "$.password",
"as_test": true,
"Doi": {
"type": "dois",
"attributes": {
"event": "publish",
"prefix.$": "$.prefix",
"creators": [
{
"creator.$": "$.creator"
}
],
"titles": [
{
"title.$": "$.title"
}
],
"publisher": "Demo Publisher",
"publicationYear.$": "$.year",
"types": {
"resourceTypeGeneral": "Text"
},
"url.$": "$.url"
}
}
},
"End": true
}
}
}
Features of the input schema:
-
Properties are ordered (the
propertyOrder
key) to improve how the Globus Web App renders the input fields when users start the flow in the Globus Web App. -
Descriptions (the
description
key) are provided for specific input keys, and will be displayed by the Globus Web App when users start the flow.
{
"properties": {
"username": {
"title": "DataCite API username",
"type": "string"
},
"password": {
"title": "DataCite API password",
"type": "string"
},
"prefix": {
"title": "DOI prefix",
"description": "The DOI prefix to use, e.g. '10.11111'",
"type": "string"
},
"creator": {
"title": "Content creator",
"type": "string"
},
"title": {
"title": "Content title",
"type": "string"
},
"publisher": {
"title": "Content publisher",
"type": "string"
},
"year": {
"title": "Publication year",
"type": "string"
},
"url": {
"title": "Content URL",
"description": "The URL that the DOI should redirect to",
"type": "string"
}
},
"propertyOrder": [
"username",
"password",
"prefix",
"creator",
"title",
"publisher",
"year",
"url"
],
"required": [
"username",
"password",
"prefix",
"creator",
"title",
"publisher",
"year",
"url"
],
"additionalProperties": false
}
{
"username": "DATACITE_API_USERNAME",
"password": "DATACITE_API_PASSWORD",
"prefix": "10.11111",
"creator": "Example Researcher",
"title": "A Survey of Data Languages",
"publisher": "Example Organization",
"year": "2024",
"url": "https://domain.example/survey-of-data-languages"
}