Crossmint Minting API Unstable API

The Minting API Unstable API from Crossmint — 3 operation(s) for minting api unstable.

Operations 3

POST /v1-alpha1/credentials/templates Create Credential Template #
GET /v1-alpha1/credentials/templates/{collectionId}/nfts/{customerFacingId}/credentials Get Credential by NFT ID #
POST /v1-alpha1/credentials/templates/{templateId}/vcs Issue Credential #

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/crossmint:crossmint-minting-api-unstable-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

crossmint-minting-api-unstable-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@crossmint.com
    name: Crossmint Support
    url: https://www.crossmint.com
  description: Generated from Crossmint's published product API specifications. Do not edit by hand.
  title: Crossmint Minting API Unstable API
  version: 1.0.0
servers:
- description: Staging environment (testnets)
  url: https://staging.crossmint.com/api
- description: Production environment (mainnets)
  url: https://www.crossmint.com/api
tags:
- name: Minting API Unstable
paths:
  /v1-alpha1/credentials/templates:
    post:
      description: 'Creates a credential template: a collection whose NFTs carry verifiable credentials. `credentials.type` names the credential type each credential must match; `credentials.storage` and `credentials.encryption` set where credentials are stored and whether they are encrypted. Deployment is processing when this returns.


        **API scope required**: `credentials:templates.create`


        **Related**: Create credential templates'
      operationId: credentials.templates.create
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCollectionDto'
        required: true
      responses:
        '200':
          description: Template creation started. Returns the collection with its `id` and `actionId`, as Create Collection does.
      security:
      - apiKey: []
      summary: Create Credential Template
      tags:
      - Minting API Unstable
  /v1-alpha1/credentials/templates/{collectionId}/nfts/{customerFacingId}/credentials:
    get:
      description: 'Returns the verifiable credential carried by an NFT, addressed by its template and the NFT''s ID. The response has the same shape as Get Credential.


        **API scope required**: `credentials.read`


        **Related**: Retrieve credentials'
      operationId: credentials.getByNftId
      parameters:
      - description: The credential template's ID.
        in: path
        name: collectionId
        required: true
        schema:
          type: string
      - description: The NFT's ID, `<UUID>`, as returned by Issue Credential.
        in: path
        name: customerFacingId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The credential as `unencryptedCredential`, `encryptedCredential`, or both, as in Get Credential.
        '404':
          description: No NFT matches `customerFacingId` in this template.
      security:
      - apiKey: []
      summary: Get Credential by NFT ID
      tags:
      - Minting API Unstable
  /v1-alpha1/credentials/templates/{templateId}/vcs:
    post:
      description: 'Issues a verifiable credential from a template and mints the NFT that carries it to `recipient`. `credential.subject` holds the claims and must match the template''s credential type. NFT metadata defaults to the template''s. Issuance is processing when this returns; the credential is readable once the mint completes.


        **API scope required**: `credentials.create`


        **Related**: Issue credentials'
      operationId: credentials.create
      parameters:
      - description: The credential template's ID.
        in: path
        name: templateId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialCreationDTO'
        required: true
      responses:
        '200':
          description: Issuance started. Returns the NFT creation response with `credentialId`, the credential's ID, and `actionId` to follow the mint.
      security:
      - apiKey: []
      summary: Issue Credential
      tags:
      - Minting API Unstable
components:
  schemas:
    CredentialCreationDTO:
      properties:
        compressed:
          description: Whether the NFT is compressed (solana only).
          type: boolean
        contractArguments:
          additionalProperties: {}
          description: The contract arguments if you are using your own contract.
          propertyNames:
            type: string
          type: object
        credential:
          description: The credential to issue.
          properties:
            expiresAt:
              description: When the credential expires, as an ISO 8601 date, or `none` for no expiration.
              type: string
            subject:
              additionalProperties: {}
              description: The claims about the recipient. Must match the `credentialSubject` schema of the template's credential type.
              properties: {}
              type: object
          required:
          - expiresAt
          - subject
          type: object
        id:
          description: The id of the NFT for usage inside Crossmint.
          type: string
        locale:
          description: The locale for the recipient's notification.
          enum:
          - Klingon
          - de-DE
          - en-US
          - es-ES
          - fr-FR
          - it-IT
          - ja-JP
          - ko-KR
          - pt-PT
          - ru-RU
          - th-TH
          - tr-TR
          - uk-UA
          - vi-VN
          - zh-CN
          - zh-TW
          type: string
        metadata:
          anyOf:
          - anyOf:
            - anyOf:
              - anyOf:
                - anyOf:
                  - additionalProperties: false
                    properties:
                      collection:
                        properties:
                          family:
                            type: string
                          name:
                            type: string
                        type: object
                      name:
                        type: string
                      properties:
                        properties:
                          category:
                            type: string
                          creators:
                            items:
                              additionalProperties: false
                              properties:
                                address:
                                  type: string
                                share:
                                  default: 0
                                  type: number
                              required:
                              - address
                              type: object
                            maxItems: 5
                            type: array
                          files:
                            items:
                              properties:
                                cdn:
                                  type: boolean
                                type:
                                  type: string
                                uri:
                                  type: string
                              required:
                              - type
                              - uri
                              type: object
                            type: array
                        type: object
                      seller_fee_basis_points:
                        maximum: 10000
                        minimum: 0
                        type: number
                      symbol:
                        type: string
                      uri:
                        type: string
                    required:
                    - name
                    - uri
                    type: object
                  - properties:
                      animation_url:
                        type: string
                      attributes:
                        items:
                          properties:
                            trait_type:
                              type: string
                            value:
                              anyOf:
                              - type: number
                              - type: string
                          required:
                          - trait_type
                          - value
                          type: object
                        type: array
                      collection:
                        properties:
                          family:
                            type: string
                          name:
                            type: string
                        type: object
                      description:
                        default: ''
                        type: string
                      external_url:
                        type: string
                      image:
                        type: string
                      name:
                        type: string
                      properties:
                        properties:
                          category:
                            type: string
                          creators:
                            items:
                              additionalProperties: false
                              properties:
                                address:
                                  type: string
                                share:
                                  default: 0
                                  type: number
                              required:
                              - address
                              type: object
                            maxItems: 5
                            type: array
                          files:
                            items:
                              properties:
                                cdn:
                                  type: boolean
                                type:
                                  type: string
                                uri:
                                  type: string
                              required:
                              - type
                              - uri
                              type: object
                            type: array
                        type: object
                      seller_fee_basis_points:
                        maximum: 10000
                        minimum: 0
                        type: number
                      symbol:
                        type: string
                    required:
                    - image
                    - name
                    type: object
                - properties:
                    animation_url:
                      type: string
                    attributes:
                      items:
                        properties:
                          display_type:
                            type: string
                          trait_type:
                            type: string
                          value:
                            anyOf:
                            - type: number
                            - type: string
                        required:
                        - trait_type
                        - value
                        type: object
                      type: array
                    description:
                      maxLength: 5000
                      type: string
                    external_url:
                      type: string
                    image:
                      type: string
                    name:
                      type: string
                    uri:
                      type: string
                  required:
                  - description
                  - image
                  - name
                  type: object
              - properties:
                  animation_url:
                    type: string
                  attributes:
                    items:
                      properties:
                        trait_type:
                          type: string
                        value:
                          anyOf:
                          - type: number
                          - type: string
                      required:
                      - trait_type
                      - value
                      type: object
                    type: array
                  description:
                    maxLength: 5000
                    type: string
                  external_url:
                    type: string
                  image:
                    type: string
                  name:
                    maxLength: 100
                    type: string
                  uri:
                    type: string
                required:
                - description
                - name
                type: object
            - properties:
                animation_url:
                  type: string
                attributes:
                  items:
                    properties:
                      trait_type:
                        type: string
                      value:
                        anyOf:
                        - type: number
                        - type: string
                    required:
                    - trait_type
                    - value
                    type: object
                  type: array
                description:
                  maxLength: 5000
                  type: string
                external_url:
                  type: string
                image:
                  type: string
                name:
                  maxLength: 100
                  type: string
              required:
              - description
              - name
              type: object
          - type: string
        recipient:
          description: The recipient of the NFT.
          type: string
        reuploadLinkedFiles:
          default: true
          description: Whether to reupload linked files.
          type: boolean
        sendNotification:
          anyOf:
          - description: Whether to send a notification to the custodial wallet address, or the recipient if it was minted to an email address.
            type: boolean
          - properties:
              recipientEmail:
                description: The email address to send the notification to.
                format: email
                pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                type: string
            required:
            - recipientEmail
            type: object
        templateId:
          description: The template which replaces metadata of the NFT.
          type: string
        transferable:
          description: Whether the NFT is transferable (aptos only).
          type: boolean
      required:
      - credential
      - recipient
      type: object
    CreateCollectionDto:
      properties:
        chain:
          enum:
          - abstract
          - abstract-testnet
          - apechain
          - aptos
          - arbitrum
          - arbitrum-sepolia
          - arbitrumnova
          - arc
          - arc-testnet
          - astar-zkevm
          - avalanche
          - avalanche-fuji
          - base
          - base-goerli
          - base-sepolia
          - bsc
          - bsc-testnet
          - celo
          - celo-sepolia
          - chiliz
          - chiliz-spicy-testnet
          - coti
          - coti-testnet
          - curtis
          - ethereum
          - ethereum-goerli
          - ethereum-sepolia
          - flow
          - flow-testnet
          - hedera
          - hedera-testnet
          - hypersonic-testnet
          - lightlink
          - lightlink-pegasus
          - mantle
          - mantle-sepolia
          - mode
          - mode-sepolia
          - optimism
          - optimism-goerli
          - optimism-sepolia
          - plume
          - plume-testnet
          - polygon
          - polygon-amoy
          - polygon-mumbai
          - rari
          - rari-testnet
          - robinhood-chain
          - robinhood-chain-testnet
          - scroll
          - scroll-sepolia
          - sei-atlantic-2-testnet
          - sei-pacific-1
          - shape
          - shape-sepolia
          - skale-nebula
          - skale-nebula-testnet
          - solana
          - soneium
          - soneium-minato-testnet
          - space
          - space-testnet
          - stellar
          - story
          - story-testnet
          - sui
          - tempo
          - tempo-testnet
          - u2u-nebulas
          - u2u-solaris
          - verify-testnet
          - viction
          - viction-testnet
          - world-chain
          - world-chain-sepolia
          - xai
          - xai-sepolia-testnet
          - xion
          - zenchain-testnet
          - zkatana
          - zkyoto
          - zora
          - zora-goerli
          - zora-sepolia
          type: string
        checkout:
          properties:
            feesPayer:
              enum:
              - buyer
              - buyer-subtract
              - seller
              type: string
          type: object
        credentials:
          description: 'Makes the collection a credential template: its NFTs carry verifiable credentials.'
          properties:
            delegatedSignature:
              description: Issuer that signs credentials in place of Crossmint. Only when the issuer signs credentials itself.
              properties:
                endpoint:
                  description: The issuer's endpoint that signs credentials.
                  type: string
                issuerDid:
                  description: 'The issuer''s DID: `did:<chain>:<address>` or `did:web:<domain>`.'
                  type: string
                token:
                  description: Bearer token for the issuer's endpoint.
                  type: string
              required:
              - endpoint
              - issuerDid
              - token
              type: object
            delegatedStorageEndpoint:
              description: Endpoint Crossmint retrieves credentials from. Only when `storage` is `delegated`.
              type: string
            encryption:
              description: Whether issued credentials are encrypted, so that only the subject and the issuer can read them.
              enum:
              - crossmint-recoverable
              - decentralized-lit
              - none
              type: string
            physicalPass:
              default: false
              description: Whether each credential is also issued as a wallet pass. The issuer receives the Apple Wallet and Google Wallet links in `pass`.
              type: boolean
            storage:
              description: Where issued credentials are stored.
              enum:
              - crossmint
              - crossmint-private
              - decentralized-ipfs
              - delegated
              type: string
            type:
              description: ID of the credential type every credential issued from this template must match.
              type: string
          required:
          - encryption
          - storage
          - type
          type: object
        features:
          additionalProperties: {}
          default: {}
          propertyNames:
            type: string
          type: object
        fungibility:
          default: non-fungible
          enum:
          - non-fungible
          - semi-fungible
          type: string
        metadata:
          properties:
            description:
              description: description of the collection
              type: string
            imageUrl:
              description: url to the image of the collection
              type: string
            name:
              description: name of the collection
              type: string
            symbol:
              description: symbol of the collection
              maxLength: 10
              type: string
          required:
          - description
          - name
          type: object
        payments:
          properties:
            currency:
              minLength: 1
              type: string
            price:
              type: string
            recipientAddress:
              type: string
          required:
          - price
          - recipientAddress
          type: object
        plugins:
          items:
            anyOf:
            - properties:
                permanentTransferDelegateAddress:
                  type: string
              required:
              - permanentTransferDelegateAddress
              type: object
            - properties:
                permanentTransferDelegateAddress:
                  type: string
              required:
              - permanentTransferDelegateAddress
              type: object
          type: array
        reuploadLinkedFiles:
          default: true
          type: boolean
        subscription:
          anyOf:
          - properties:
              enabled:
                type: boolean
            type: object
          - type: 'null'
        supplyLimit:
          type: number
        tokenStandard:
          enum:
          - metaplex-core
          - metaplex-core-compressed
          - metaplex-token-metadata
          type: string
        transferable:
          default: true
          type: boolean
      required:
      - chain
      - metadata
      type: object
  securitySchemes:
    apiKey:
      description: API key required for authentication
      in: header
      name: X-API-KEY
      type: apiKey
    orderClientSecret:
      description: The `clientSecret` returned when the order was created, sent as the raw `Authorization` header value. Lets a browser or mobile client read and continue its own order without a server-side API key.
      in: header
      name: Authorization
      type: apiKey
    userJwt:
      bearerFormat: JWT
      description: 'The end user''s JWT, sent as `Authorization: Bearer <JWT>` together with a client-side API key. Validated against the project''s external JWT configuration.'
      scheme: bearer
      type: http
x-provenance:
  method: harvested
  publisher: Crossmint
  source: https://www.crossmint.com/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)