...
URL | HTTP Verb | Description | Request Object | Response Object | Notes |
---|---|---|---|---|---|
/doi/async/start | POST | Asynchronously create or update a DOI. If the DOI does not exist, start a DOI creation job that will attempt to register a DOI with the DOI provider with the supplied metadata. If the DOI does exist, then it will simply update the DOI with the supplied metadata. Note: The caller must have the ACCESS_TYPE.UPDATE permission on the Entity to make this call. | Doi (application/json) | Shift the work to an asynchronous worker queue (as we have been doing with other asynchronous services). We combine the create and update calls because they require the same information and are both idempotent. The Doi object must contain all fields required to mint or update a DOI with DataCite. | |
/doi/async/get/{asyncToken} | GET | Asynchronously get the results of a DOI transaction started with POST /entity/{id}/doi/async/start Note: When the result is not ready yet, this method will return a status code of 202 (ACCEPTED) and the response body will be a AsynchronousJobStatus object. | None | Get the status of the asynchronous job. If complete, returns the Doi object created by the job. | |
/doi | GET | Get a Doi object (including associated metadata) for the object referred to in DoiRequest, if the Doi object exists. | None (supply required path parameters id, objectType, and optional objectVersion) | Doi | This call relies on availability of DataCite's API to return the metadata, as we do not store it. |
/doi/association | GET | Get a DoiAssociation object that contains the DOI of an object referred to in DOI. | None (supply required path parameters id, objectType, and optional objectVersion) | DoiAssociation | By making this call, a client can get the DOI of an object without certain metadata that relies on availability of DataCite's API. |
/doi/locate | GET | Redirect to a specific object in the web portal, or a "Not found" page if the object cannot be located. | None (supply required path parameters id, objectType, and optional objectVersion) | Redirect | This redirects a URL that we supply to DataCite to the current URL of an associated object. This allows us to register a more "permanent" URL with DataCite in case the URL to an object changes. For example, http://synapse.org/#!Synapse:syn123 may change and become http://sage.gov/syn123. This service can be updated to support that and as a result, the DOI does not break. |
...