📄 Guide
A physical card comes from an activated (ACTIVE) virtual card upgraded in place through “virtual to physical”. The PAN, expiry, CVV2 andcardId all stay the same throughout the upgrade — queries return the original virtual card’s details before activation and take effect as the physical card after it — so you never need to replace the card or migrate any targets after upgrading. For the card-state background see State machines and freezing.
The four-step chain:
The shipping address hangs off the employee’s record; it is read when the virtual-to-physical application is accepted and locked as a snapshot — later address changes do not affect cards already in production.
① Upgrade application: virtual to physical
shippingAddressId is sent. Without it the card ships individually to the card’s holder / custodian, with the address and mailing phone number taken from that employee. With it the card ships in bulk to the address that id points to, and cards accepted on the same day under the same id go out together as one batch.
Request parameters
Response data
Request and response examples
Error codes
Related webhooks:
CARD_SHIPPED (dispatched) / CARD_ACTIVATED (activated).
② Tracking production and shipping
Request parameters
Response data
Response examples (shipped / not shipped)
CARD_INVALID — the card does not exist / does not belong to your partnership.
③ Activating the physical card
Request parameters and response
Request parameters:companyId (String, required, ≤36; the requesting company ID) and cardId (String, required, ≤32; the card id). This is an action endpoint: data is null.
Error codes
Related webhook:
CARD_ACTIVATED.
④ Setting the PIN
The PIN and the identity-check fields are AES-GCM encrypted with your SK before upload — the same crypto contract as
retrieve-secure-card, in the opposite direction (for the contract see Retrieving secure card details: AES/GCM/NoPadding, 128-bit tag, keyed with the SK).Request parameters
Request and response examples
cardId and success (Boolean, whether the PIN was set):
Error codes
Next steps
- No upgradable virtual card yet? Issue one first: Applying for a virtual card
- Card states and the freeze capability domains: State machines and freezing

