Updating from Schema 3 to Schema 4
Schema 3 has been deprecated
As of January 2025, Schema 3 is no longer supported for DOI registrations and updates.
DataCite Members and Consortium Organizations must use Schema 4 to register DOIs and update DOI metadata.
Frequently Asked Questions
What changed from Schema 3 to Schema 4?
Schema 4 introduced two breaking changes:
- The
resourceType
property was changed from optional to mandatory. This property hasresourceTypeGeneral
as a mandatory attribute. - The
contributorType
"Funder" was deprecated. This concept was replaced with theFundingReference
property.
There are also many new properties, sub-properties, and controlled list values. For more information, see the latest version documentation at https://schema.datacite.org/.
Can repositories still register Schema 3 DOIs?
No, new DOIs can only be registered using Schema 4.
Can repositories update existing Schema 3 DOIs?
Yes, Schema 3 DOIs can still be updated. These updates must be sent as Schema 4 metadata.
What happens to Schema 3 DOIs that aren’t updated to Schema 4?
Schema 3 DOIs are searchable in DataCite’s APIs and services and continue to resolve.
I received a 422 error response saying Schema 3 is no longer supported. What can I do?
Because Schema 3 metadata is no longer accepted, DataCite’s APIs return a 422 error response with a message like this:
MDS API
DOI 10.14454/10703: Schema http://datacite.org/schema/kernel-3 is no longer supported
REST API
{
"errors": [
{
"source": "xml",
"title": "DOI 10.14454/10703: Schema http://datacite.org/schema/kernel-3 is no longer supported",
"uid": "10.14454/10703"
}
]
}
To continue registering or updating DOIs, repositories should switch to Schema 4.
How to switch to Schema 4
Method 1: Submit Schema 4 XML
The DataCite MDS API accepts XML metadata. XML is also accepted via the REST API (“xml” attribute) and the Fabrica File Upload.
To change from Schema 3 to Schema 4 in XML, make the following changes:
Specify Kernel 4
The XML record should indicate kernel-4 in the resource
element:
<resource xmlns="http://datacite.org/schema/kernel-4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
kernel-4 will always represent the latest minor version of Schema 4. Note that it is also possible to specify a minor version, e.g., kernel-4.4. However, because all minor versions are backward compatible, we recommend specifying kernel-4 to stay up-to-date with the latest changes.
When submitting XML metadata, we recommend specifying the major version (kernel-4). This enables you to always take advantage of the latest minor version changes. All minor versions are backward compatible.
Include resourceType / resourceTypeGeneral
The record must include—or be updated to include—the resourceType
property with the resourceTypeGeneral
attribute. For example:
<resourceType resourceTypeGeneral="Dataset">Census Data</resourceType>
It is possible to include resourceTypeGeneral
only without specifying a free text resourceType
. For example:
<resourceType resourceTypeGeneral="JournalArticle"/>
Move Contributors with contributorType "Funder" to FundingReference
The record must not use the contributorType
"Funder". This information can be moved to the FundingReference
property, which was introduced in Schema 4.0. This property has sub-properties for the funderName
, funderIdentifier
, awardNumber
, and awardTitle
.
<fundingReferences>
<fundingReference>
<funderName>European Commission</funderName>
<funderIdentifier funderIdentifierType="Crossref Funder ID">https://doi.org/10.13039/501100000780</funderIdentifier>
<awardNumber awardURI="https://cordis.europa.eu/project/rcn/100603_en.html">284382</awardNumber>
<awardTitle>Institutionalizing global genetic-resource commons. Global Strategies for accessing and using essential public knowledge assets in the life sciences</awardTitle>
</fundingReference>
<fundingReferences>
Method 2: Submit JSON with the REST API
When updating a Schema 3 DOI to Schema 4, you can make a PUT request to update the DOI with the REST API. This request should include the following attributes.
Include schemaVersion to trigger the update to Schema 4
Include the schemaVersion
attribute, set to "http://datacite.org/schema/kernel-4". While this is not required for new DOI registrations or to update DOIs that already use Schema 4, this is necessary to trigger the update from Schema 3 to Schema 4.
Add a resourceTypeGeneral if not already present
If not already present in the record, include the required metadata property resourceTypeGeneral
(part of types
in JSON).
{
"data": {
"id": "10.21384/1f84-ta02",
"type": "dois",
"attributes": {
"doi": "10.21384/1f84-ta02",
"types": {
"resourceTypeGeneral": "JournalArticle"
},
"schemaVersion": "http://datacite.org/schema/kernel-4"
}
}
}
Move Contributors with contributorType "Funder" to fundingReferences
If any existing Contributors use contributorType
“Funder”, they should be migrated to fundingReferences
. To avoid data loss, provide both the contributors
property (with all non-Funder contributors) and the fundingReferences
property.
{
"data": {
"id": "10.21384/1f84-ta02",
"type": "dois",
"attributes": {
"doi": "10.21384/1f84-ta02",
"types": {
"resourceTypeGeneral": "JournalArticle"
},
"contributors": [
{
"name": "Garcia, Sofia",
"contributorType": "ProjectLeader",
}
],
"fundingReferences": [
{
"funderName": "National Science Foundation",
"funderIdentifier": "https://ror.org/021nxhr62",
"funderIdentifierType": "ROR"
}
],
"schemaVersion": "http://datacite.org/schema/kernel-4"
}
}
Method 3: Use the Fabrica Form
Updating a Schema 3 DOI using the Fabrica form will update the DOI to Schema 4. A warning will appear at the top of the page for Schema 3 DOIs:
If the metadata is not compatible with Schema 4, an error message will appear at the bottom of the page:
To save the DOI using Schema 4, add resourceTypeGeneral
and remove any Contributors with contributorType
"Funder".
How to find Schema 3 DOIs
To identify Schema 3 DOIs in your repository, you can use the REST API and filter DOI results by client-id
and schema-version
using the request below. Replace the client-id
"abcd.efgh" with your Repository account ID:
https://api.datacite.org/dois?client-id=abcd.efgh&schema-version=3
You can also filter by a Direct Member or Consortium Organization (provider-id
parameter) or by a Consortium ( consortium-id
) parameter. See Queries and filtering: Filtering List Responses for additional filter parameters.
Updated 12 days ago