Skip to main content

POST /tokenize

Create a token from sensitive card or bank account data. Card data can include an optional CVV, which is stored in a separate CVC session (90-second TTL; deleted after use in proxy). Auth: X-Pub-Key and X-API-Key (or JWT). Both headers are required for tokenize. For testing you can use this pub key: pk_prod_jys4le1jgncomgda_L8HbeakKLNRWdBXoX5A6QJUYOlhUkNle. Do not use this test pub key in production or with sensitive card data. For a production pub key, contact ammar@ozura.com. Get an X-API-Key by creating an account at Ozura Vault.

Request

{
  "type": "card",
  "data": {
    "cardNumber": "4111111111111111",
    "expirationMonth": "12",
    "expirationYear": "2025",
    "cvv": "123"
  }
}

Request body

FieldTypeRequiredDescription
typestringYes"card" or "bank"
data.cardNumberstringYes (card)13–19 digit card number
data.expirationMonthstringYes (card)2-digit month (01–12)
data.expirationYearstringYes (card)2- or 4-digit year
data.cvvstringNo3–4 digit security code
data.cvcstringNoAlias for cvv

CVV/CVC handling

  • If cvv or cvc is provided: stored in a separate CVC session, 90-second TTL, deleted after use in proxy; response includes cvc_session_id.
  • If omitted: no CVC session; no cvc_session_id in response; CVC cannot be used in proxy.
For long-lived test CVC sessions (e.g. 1-year), use POST /test-tokens.

Response

201 Created

{
  "success": true,
  "token": "tok_a1b2c3d4e5f6g7h8i9j0",
  "mask": {
    "card_number": "411111******1111"
  },
  "cvc_session_id": "550e8400-e29b-41d4-a716-446655440000",
  "bin": "411111"
}
FieldTypeDescription
successbooleanRequest success
tokenstringToken identifier
dataobjectMasked payload (e.g. number, expiration_month, expiration_year) for display
mask.card_numberstringMasked card for display
cvc_session_idstringPresent if CVV was sent
binstringFirst 6 digits (BIN)
fingerprintstringIf deduplication enabled
deduplicatedbooleanIf existing token was returned
Request may include optional maskingConfig for custom masking behavior.

Validation

  • Card number: 13–19 digits, Luhn valid; spaces/dashes stripped.
  • Expiration: month 01–12; year current or future.
  • CVV: 3 digits (Visa, MC, Discover), 4 (Amex).

Error responses

StatusExample message
400Invalid card number, Card has expired, Missing required field: cardNumber
401Invalid API key
403Permission denied
See Status codes and Common errors.