Flows API
  • Globus Flows
  • Overview
  • Getting Started
    • How to Run a Flow
    • How to Monitor a Flow Run
    • How to Create a Flow
  • Authoring Flows
    • Introduction
    • Actions
    • Expressions
    • Choice States
    • Wait States
    • Fail States
    • Pass States
    • Protecting Secrets
    • Handling Exceptions
    • Performing Actions as Different Users
    • Run Context
    • Validating Flow Definitions
  • Authoring Input Schemas
  • Authentication and Authorization
  • Consents and Resuming Runs
  • Permissions
  • Limits
  • Hosted Action Providers
    • Hello World
    • Globus Search - Ingest Task
    • Globus Search - Delete Task
    • Send Notification Email
    • Wait For User Selection
    • Expression Evaluation
    • DataCite Mint
    • Transfer APs
    • Compute AP
  • Example Flows
    • Simple Transfer
    • Move (copy and delete) files
    • Transfer and Share Files
    • Two Stage Globus Transfer
    • Transfer After Approval
    • Looping Batched Move
    • Tar and Transfer with Globus Compute
Skip to main content
Globus Docs
  • Getting Started
    Getting Started

    Getting Started and Tutorial docs cover how to perform some activity or provide an introduction to a feature. They are not comprehensive, but help you get started with Globus or with new Globus features.

    • Users
    • Admins
    • Developers
  • Reference
    Reference
    • Service
      • Auth
      • Groups
      • Transfer
      • Timers
      • Flows
      • Compute
      • Search
    • Agents
      • Globus Connect Server
      • GCS CLI
      • Globus Connect Personal
      • Globus Compute
    • SDK
      • Python
      • JS
    • Clients
      • CLI
    • Security and Compliance
      • Product Security
      • Privacy
      • Solutions for Sensitive Data
      • FAQs
  • Solutions & Guides
    Solutions & Guides

    Find practical approaches for leveraging Globus in research environments, integrating with platforms, and building science gateways. Access hands-on guides, integration instructions, and real-world scenarios for advanced usage.

    • Portals/Science Gateways
    • Guides
  • Support
    Support

    Find answers to frequently asked questions, connect with the community by joining our mailing lists, or reach out directly to Globus support.

    • FAQs
    • Mailing Lists
    • Contact Us
    • Check Support Tickets
  • Site Search
  1. Home
  2. Globus Services
  3. Globus Flows
  4. Hosted Action Providers
  5. DataCite Mint

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 and password are used to interact with the DataCite API.

  • as_test is flag that, if set to true, 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.

Note

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.

  • Flow definition
  • Flow input schema
  • Sample flow input body

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"
}
  • Globus Flows
  • Overview
  • Getting Started
    • How to Run a Flow
    • How to Monitor a Flow Run
    • How to Create a Flow
  • Authoring Flows
    • Introduction
    • Actions
    • Expressions
    • Choice States
    • Wait States
    • Fail States
    • Pass States
    • Protecting Secrets
    • Handling Exceptions
    • Performing Actions as Different Users
    • Run Context
    • Validating Flow Definitions
  • Authoring Input Schemas
  • Authentication and Authorization
  • Consents and Resuming Runs
  • Permissions
  • Limits
  • Hosted Action Providers
    • Hello World
    • Globus Search - Ingest Task
    • Globus Search - Delete Task
    • Send Notification Email
    • Wait For User Selection
    • Expression Evaluation
    • DataCite Mint
    • Transfer APs
    • Compute AP
  • Example Flows
    • Simple Transfer
    • Move (copy and delete) files
    • Transfer and Share Files
    • Two Stage Globus Transfer
    • Transfer After Approval
    • Looping Batched Move
    • Tar and Transfer with Globus Compute
© 2010- The University of Chicago Legal Privacy Accessibility