Crossmint Minting API Unstable API
The Minting API Unstable API from Crossmint — 3 operation(s) for minting api unstable.
The Minting API Unstable API from Crossmint — 3 operation(s) for minting api unstable.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/crossmint:crossmint-minting-api-unstable-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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)