Skip to content

Card Kiosk Collection

These APIs are designed to allow you to print and encrypt your card directly from a kiosk machine. The card information will be sent to our card manufacturer to configure and print the card on-site on a kiosk machine.

The card printing process will automatically begin once the request is received by our card manufacturer.

During the printing process, you will be notified via webhook about any card production status change.

Before using these APIs, make sure to read the guide on kiosk collection.

Please reach out to your Implementation Manager for more information on these APIs.

Testing: In the sandbox environment, use the card production simulation API to test your integration with various production statuses and error scenarios.

Production status flow

These statuses represent the lifecycle of a card production:

  • READY - Card is ready for production. The produce card endpoint can be called.
  • IN_PROGRESS - Card is being produced at the kiosk machine (chip encryption and printing in progress).
  • PRODUCED - Card has been successfully produced and collected from the kiosk. This is a final state.
  • PRODUCTION_ERROR - Card production failed. Check the errorCode to identify the issue, resolve it, then retry using the produce card endpoint.

A card with production status PRODUCED will trigger an asynchronous call to update the associated card order to PRODUCED status.

Card production status flow

Produce a card

Request

Sends the card production request to a kiosk machine. To confirm that card information has been successfully created, listen to the card-production-status-change webhook with status READY.

Cards that were created over 60 days ago will result in a 422 error code and cannot be retried. This is due to the data being obfuscated on our side. In this case, a new card order has to be created.

Security
UserToken
Path
profileIdinteger, (int64)required

The profile ID (personal or business) that owns the card.

Example:123456
cardTokenstringrequired

The unique token identifying the card.

Example:ca0c8154-1e14-4464-a1ce-dcea7dc3de52
Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Example:f47ac10b-58cc-4372-a567-0e02b2c3d479
Bodyapplication/jsonrequired
kioskIdstringrequired

Identifier that specifies on which kiosk the card should be produced.

Example:"WIS00001"
curl -i -X PUT \
  https://api.wise.com/2026Q3/spend/profiles/123456/cards/ca0c8154-1e14-4464-a1ce-dcea7dc3de52/production \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
  -d '{
    "kioskId": "WIS00001"
  }'

Responses

OK - The card information has been successfully sent to the kiosk machine.

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Echoed back when X-External-Correlation-Id was included in the request. Learn more.

Example:"f47ac10b-58cc-4372-a567-0e02b2c3d479"
x-trace-idstring

Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.

Example:"fba501b6d453b96789f52338f019341f"
Bodyapplication/json
statusstring

Current production status:

  • READY - Card is ready for production
  • IN_PROGRESS - Card is in production at the kiosk machine
  • PRODUCED - Card is produced and collected. This is a final state
  • PRODUCTION_ERROR - Card production failed
  • REQUEST_ERROR - Card production request failed
Enum:"READY""IN_PROGRESS""PRODUCED""PRODUCTION_ERROR""REQUEST_ERROR"
Example:"IN_PROGRESS"
kioskIdstring or null

Identifier that specifies which kiosk machine is producing the card. When the status is READY, this value is null.

Example:"WIS00001"
occurredAtstring, (date-time)

Time when the card production request has been sent to the kiosk machine (ISO 8601 format).

Example:"2024-01-01T12:24:56.121Z"
errorCodestring or null

Code returned when card production is not successful. Nullable.

Request errors - Returned when status is REQUEST_ERROR:

  • UNKNOWN_ERROR - An error occurred on the server
  • REQUEST_ALREADY_EXISTS - The request has already been submitted
  • KIOSK_ID_NOT_FOUND - The kiosk ID does not exist
  • CARD_TYPE_NOT_FOUND - The card type does not exist
  • INVALID_FIELD_VALUE - Some field values are unexpected
  • INVALID_PIN_FORMAT - The PIN does not follow ISO0 or ISO2 standard
  • EMPTY_OR_NULL_FIELD_VALUE - Some required fields are empty or null
  • EMPTY_OR_NULL_OR_WRONG_SIZE_FIELD_VALUE - Some required fields are empty, null, or have incorrect lengths
  • CHARSET_NOT_SUPPORTED - The character set for some fields is not supported
  • INVALID_FIELD_FORMAT - Some field formats are invalid
  • INVALID_FIELD_ENCODING - The encoding for some fields is not expected
  • CDATA_ENCODING_OR_FORMATING_ERROR - The encoding or formatting for XML text field values is incorrect
  • PIN_LENGTH_ERROR - The PIN length is incorrect
  • PIN_VERIFICATION_FAILED - The PIN cannot be verified because the server is unreachable
  • DATA_PREPARATION_FAILED - The server failed to parse the request
  • PARTIAL_DATA_RECEIVED - Only part of the expected data has been received
  • NO_BRANCH_LINKED_TO_KIOSK - The kiosk has not been linked to any branch
  • IMAGE_SERVER_ERROR - The image server is unreachable or failed to process the data
  • PAN_ALREADY_EXISTS - The PAN already exists
  • PRINTER_OR_SATELLITE_NOT_READY - The printer or satellite is not ready to start the production
  • REQUEST_CREATED_BUT_NOT_STARTED - The request has been created, but production is pending until the printer or satellite is ready
  • UNABLE_TO_ACCEPT_REQUEST - The system is currently busy and cannot accept new requests at this time

Production errors - Returned when status is PRODUCTION_ERROR:

  • CB_NOT_AVAILABLE - Main server error: central base not available
  • CB_DB_NOT_AVAILABLE - Main server error: database not available
  • CB_NETWORK_NOT_AVAILABLE - Main server error: network not available
  • CB_AUTHENTICATION_FAILED - Main server error: user authentication verification failed
  • CB_SERVICE_NOT_ALLOWED - Main server error: the accessed service requires a higher security level
  • CB_TIME - Main server error: timeout occurred on the Central Base side
  • DP_NOT_AVAILABLE - Data processing error: the Data preparation module is not available
  • DP_IO_ERROR - Data processing error: Input/Output error when communicating with the DP
  • DP_TIMEOUT - Data processing error: timeout error
  • SAT_SERVER_NOT_REACHABLE - Satellite agent error: the server is not reachable
  • SAT_AUTHENTICATION_FAILED - Satellite agent error: user authentication failed on satellite
  • SAT_NETWORK_NOT_AVAILABLE - Satellite agent error: the network is not available
  • PRT_NOT_REACHABLE - Printer error: printer is not reachable
  • PRT_SETUP_ERROR - Printer error: printer setup is incorrect
  • PRT_TIMEOUT - Printer error: printer timeout
  • PRT_RIBBON - Printer error: ribbon error
  • PRT_LOCK_ERROR - Printer error: printer physically unlocked
  • PRT_RIBBON_MISSING - Printer error: ribbon is missing
  • PRT_RIBBON_ENDED - Printer error: ribbon has ended
  • PRT_COVER_OPEN - Printer error: printer cover is open
  • PRT_PAUSED - Printer error: printer paused
  • PRD_UNEXPECTED_DATA - Production error: production data is incorrect
  • PRD_FEEDER_EMPTY - Production error: feeder is empty
  • PRD_FEEDER_JAM - Production error: feeder card jam
  • PRD_HOPPER_FULL - Production error: hopper is full
  • PRD_HOPPER_DOOR - Production error: hopper door is open
  • PRD_HOPPER_JAM - Production error: hopper card jam
  • PRD_MAGSTRIPE - Production error: error occurred during magstripe encoding
  • PRD_SMARTCARD - Production error: error occurred during chip personalization
  • PRD_EMBOSSER - Production error: error occurred during embossing
  • PRD_TIMEOUT - Production error: production timeout has been reached
  • PRD_REJECT_FULL - Production error: reject box is full
  • PRD_SMARTCARD_CARD_NOT_IN_READER - Production error: card is not in reader
  • PRD_FINAL_VALIDATION_NOK - Production error: user has rejected card production
  • INV_NOT_INITIALIZED - Production error: inventory not initialized
  • UNKNOWN_ERROR - Unknown error
Example:"PIN_VERIFICATION_FAILED"
descriptionstring or null

Detailed description of the error code.

Example:"The PIN cannot be verified because the server is unreachable"
Response
{ "status": "IN_PROGRESS", "kioskId": "WIS00001", "occurredAt": "2024-01-01T12:24:56.121Z" }