Skip to main content
POST
POST /token lets you store card details as reusable tokens without processing a payment. Use it to pre-vault cards during account setup flows, or to migrate stored cards from another provider. Each token is scoped to your merchant account and stored with BIN data (brand, type, issuer).
To tokenize a card during a payment, add card.cardData.tokenize: true to your payment request instead — see Tokenization concepts.
Each entry in tokens[] must carry a card with either cardData (raw fields — server-side/PCI-compliant environments only) or nonceData (an SDK-generated nonce, for browser flows). A successful request returns 200 OK with the merchant code, the echoed shopper, and one created token object per entry (id prefixed vt_, masked cardData, expirationDate, tokenCreationReference) — same order as the request.

Authorizations

Authorization
string
header
required

Your secret API key: Bearer prv_production_xxx (production) or Bearer prv_sandbox_xxx (sandbox).

Body

application/json
merchantCode
string
required

Your merchant account identifier.

tokens
object[]
required

Cards to tokenize. Each entry carries a card instrument (cardData or nonceData) and an optional expirationDate.

shopper
object

Shopper information. Required when tokenizing a card (card.<instrument>.tokenize: true).

Response

200 - application/json

Tokens created

merchantCode
string
shopper
object
tokens
object[]