Skip to content

DOI registration


The DOI registration feature requires that you have a contract with DataCite. In addition, you will also need a DataCite test account to test the feature.


Enable DOI registration

You enable the DOI minting feature in your invenio.cfg file:


Credentials and prefix

Before you continue, make sure you first have a DataCite test account.

You need to provide the account credentials and the DOI prefix for the DataCite repository account in your invenio.cfg file:

DATACITE_USERNAME = "..." # Your username
DATACITE_PASSWORD = "..."  # Your password
DATACITE_PREFIX = "10.1234"  # Your prefix


Never commit or store credentials in a source code repository.

Mode: Test or production

InvenioRDM by default uses the DataCite Test Environment to avoid accidentally registering DOIs during test. In test mode InvenioRDM will use the following DataCite test systems:

  • DOI Fabrica (
  • REST API (

To enable production mode, set the following configuration variable in invenio.cfg:


In production mode, InvenioRDM will use the following DataCite systems:

  • DOI Fabrica (
  • REST API (

Did you know?

You can write your own persistent identifier plugin in InvenioRDM to support other types of persistent identifiers.

Generated DOI

By default, InvenioRDM generates a DOI using the prefix and internal persistent identifier. You can change the generated DOI string by editing your invenio.cfg.

DATACITE_FORMAT = "{prefix}/inveniordm.{id}"


Before branding your DOIs, please read about Cool DOIs and why it might not be a good idea.


The OAI-PMH server's metadata format oai_datacite that allows you to harvest record from InvenioRDM in DataCite XML needs to be configured with your DataCite data center symbol. This is only required if you want your records to be harvestable in DataCite XML format.


Known issues

  • Restricted records: DOIs are registered for all records including restricted records, thus metadata like titles, authors, description and more is sent to DataCite Metadata registry where it is public. Provide an external DOI if no DOI should be registered by InvenioRDM.