Skip to main content
POST
/
v1
/
yativo-card
/
customers
/
{yativoCardId}
/
cards
/
{cardId}
/
view-token
curl -X POST 'https://crypto-api.yativo.com/api/v1/yativo-card/customers/yativo_card_customer_8f9a..._1769031332068/cards/afeb85fe-02f8-48da-b61e-84ad02704167/view-token' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled_views": ["data", "pin"],
    "require_access_code": true,
    "access_code": "1234",
    "theme": {
      "accent_color": "#6366f1",
      "logo_url": "https://yourapp.com/logo.png"
    }
  }'
{
  "success": true,
  "data": {
    "secure_view_url": "https://crypto-api.yativo.com/api/v1/yativo-card/view/eyJhbGciOiJIUzI1NiJ9...",
    "url": "https://crypto-api.yativo.com/api/v1/yativo-card/view/eyJhbGciOiJIUzI1NiJ9...",
    "expires_at": "2026-04-25T19:09:00.000Z",
    "last_four": "4291",
    "card_type": "virtual",
    "holder_name": "John Doe",
    "enabled_views": ["data", "pin"],
    "requires_access_code": true,
    "theme": {
      "accentColor": "#6366f1",
      "backgroundColor": "#f5f1ea",
      "panelColor": "#fffaf7",
      "textColor": "#1e2a24",
      "mutedColor": "#6b746e",
      "borderRadius": 24,
      "fontFamily": "Inter, sans-serif",
      "logoUrl": "https://yourapp.com/logo.png"
    },
    "usage_notes": [
      "Open secure_view_url in a browser, iframe, or WebView hosted on your side",
      "The hosted page renders card data securely and does not auto-refresh",
      "Request a fresh view URL whenever the previous one expires"
    ]
  }
}
Yativo hosts the card data page and handles all cryptography internally. Your backend requests a URL, then passes it to your customer via your app, an email, or an iframe. The cardholder opens it in any browser or WebView.
Authorization
string
required
Bearer token: Bearer YOUR_ACCESS_TOKEN
yativoCardId
string
required
The customer’s yativo_card_id.
cardId
string
required
The card ID to display.
enabled_views
array
Which panels to show. Options: "data" (PAN, CVV, expiry) and "pin". Defaults to ["data", "pin"].
require_access_code
boolean
If true, the cardholder must enter a code before card data is revealed.
access_code
string
The access code the cardholder must enter. Setting this automatically enables require_access_code.
theme
object
Customize the hosted page to match your brand.
FieldTypeDescription
accent_colorstringHex color for buttons and highlights
background_colorstringPage background
panel_colorstringCard panel background
text_colorstringPrimary text
logo_urlstringYour logo shown at the top
border_radiusnumberCorner radius in px (8–36)
font_familystringCSS font-family string
curl -X POST 'https://crypto-api.yativo.com/api/v1/yativo-card/customers/yativo_card_customer_8f9a..._1769031332068/cards/afeb85fe-02f8-48da-b61e-84ad02704167/view-token' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled_views": ["data", "pin"],
    "require_access_code": true,
    "access_code": "1234",
    "theme": {
      "accent_color": "#6366f1",
      "logo_url": "https://yourapp.com/logo.png"
    }
  }'
{
  "success": true,
  "data": {
    "secure_view_url": "https://crypto-api.yativo.com/api/v1/yativo-card/view/eyJhbGciOiJIUzI1NiJ9...",
    "url": "https://crypto-api.yativo.com/api/v1/yativo-card/view/eyJhbGciOiJIUzI1NiJ9...",
    "expires_at": "2026-04-25T19:09:00.000Z",
    "last_four": "4291",
    "card_type": "virtual",
    "holder_name": "John Doe",
    "enabled_views": ["data", "pin"],
    "requires_access_code": true,
    "theme": {
      "accentColor": "#6366f1",
      "backgroundColor": "#f5f1ea",
      "panelColor": "#fffaf7",
      "textColor": "#1e2a24",
      "mutedColor": "#6b746e",
      "borderRadius": 24,
      "fontFamily": "Inter, sans-serif",
      "logoUrl": "https://yourapp.com/logo.png"
    },
    "usage_notes": [
      "Open secure_view_url in a browser, iframe, or WebView hosted on your side",
      "The hosted page renders card data securely and does not auto-refresh",
      "Request a fresh view URL whenever the previous one expires"
    ]
  }
}