If you are looking for the last documentation in the 4.x series, see 4.7.5. Looking for another version? See all documentation.

To configure an external PID minter, create a Spring bean configuration file using the HttpPidMinter class, and use a system property to use it instead of the internal PID minter:

-Dfcrepo.spring.minter.configuration=file:///path/to/minter.xml -Dfcrepo.minter.username=minterUser -Dfcrepo.minter.password=minterPass

Example minter.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=""

    <bean class="org.fcrepo.kernel.identifiers.HttpPidMinter"
        c:url="http://localhost/my/minter" c:method="POST"
        c:regex="" c:xpath="/response/ids/value"/>


The properties that can be set are:

  • url (required): The URL of the external minter REST service.
  • method: The HTTP method to use to generate a new identifier: GET, POST, or PUT.  If not specified, POST is used.
  • username/password: The username and password to use for connecting to the minter REST service.  You may want to pass the username/password using System properties instead of hard-coding them in the config file (the example above shows how to use a System property with a fallback value if the property is not set).  If not specified, no authentication is used.
  • regex: If set, remove text matching the regular expression from the minter service response.  For example, if the minter response is "id: foo/abc123", the regular expression ".*/" would remove the "id: foo/" and result in the identifier "abc123".
  • xpath: If set, parse the minter service response as XML and use XPath to get the identifier value to use.
  • No labels


  1. Hi, Are there any minter services, that could generate URI according to the variables we set: like (containers/<container_id>/resource_id)?

    1. No, but extending the HierarchicalIdentifierSupplier, as is done in the example fcrepo-mint should be straight forward.