curl --request POST \
--url https://staging.crossmint.com/api/unstable/order-intents/{orderIntentId}/credentials \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"amount": {
"currency": "USD",
"value": "25.00"
},
"credential": {
"format": "card"
},
"merchant": {
"countryCode": "US",
"name": "Acme Store",
"url": "https://acme.example.com"
},
"provider": "vic",
"rail": "agentic-token"
}
'{
"amount": {
"currency": "<string>",
"value": "<string>"
},
"credential": {
"format": "card",
"value": "<string>"
},
"expiresAt": "2024-01-15T10:30:00.000Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rail": "encrypted-card"
}{
"error": true,
"message": "<string>",
"code": "<string>",
"parameters": {}
}{
"error": true,
"message": "<string>",
"code": "<string>",
"parameters": {}
}Order Intents
Get Order Intent Credentials
Create a payment credential from an order intent.
API scope required: order-intents.credentials
POST
/
unstable
/
order-intents
/
{orderIntentId}
/
credentials
curl --request POST \
--url https://staging.crossmint.com/api/unstable/order-intents/{orderIntentId}/credentials \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"amount": {
"currency": "USD",
"value": "25.00"
},
"credential": {
"format": "card"
},
"merchant": {
"countryCode": "US",
"name": "Acme Store",
"url": "https://acme.example.com"
},
"provider": "vic",
"rail": "agentic-token"
}
'{
"amount": {
"currency": "<string>",
"value": "<string>"
},
"credential": {
"format": "card",
"value": "<string>"
},
"expiresAt": "2024-01-15T10:30:00.000Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rail": "encrypted-card"
}{
"error": true,
"message": "<string>",
"code": "<string>",
"parameters": {}
}{
"error": true,
"message": "<string>",
"code": "<string>",
"parameters": {}
}Authorizations
Headers
Makes a retry of this request safe: a second call with the same key never consumes the amount again. Credential payloads are returned once, so a replay after a successful mint answers 409 ORDER_INTENT_CREDENTIAL_ALREADY_ISSUED. Without it every call is a new mint. 1 to 255 characters.
Body
application/json
Response
Returns the payment credential
- Option 1
- Option 2
- Option 3
Was this page helpful?

