v66

latestOpenAPI 3.1.0Apache 2.0raw.githubusercontent.com2026-08-042174421.1 MB
Event Types

tokenization.approval_request

Occurs when a tokenization approval request is made.

postWebhooktokenization.approval_request

Payload

event_type'tokenization.approval_request' required

The name of this event

account_tokenstring required

Unique identifier for the user tokenizing a card

card_tokenstring required

Unique identifier for the card being tokenized

createdstring date-time required

Indicate when the request was received from Mastercard or Visa

issuer_decision'APPROVED' | 'DENIED' | 'VERIFICATION_REQUIRED' required

Whether Lithic decisioned on the token, and if so, what the decision was. APPROVED/VERIFICATION_REQUIRED/DENIED.

tokenization_channel'DIGITAL_WALLET' | 'MERCHANT' required

The channel through which the tokenization was made.

tokenization_source'ACCOUNT_ON_FILE' | 'CONTACTLESS_TAP' | 'MANUAL_PROVISION' | 'PUSH_PROVISION' | 'TOKEN' | 'UNKNOWN'

The source of the tokenization.

tokenization_tokenstring required

Unique identifier for the digital wallet token attempt

tokenization_decline_reasonsTokenizationDeclineReason[]

List of reasons why the tokenization was declined

tokenization_tfa_reasonsTokenizationTfaReason[]

List of reasons why two-factor authentication was required

Example payload

{
  "account_token": "00000000-0000-0000-0000-000000000002",
  "card_token": "00000000-0000-0000-0000-000000000001",
  "created": "2023-09-18T12:34:56Z",
  "customer_tokenization_decision": {
    "latency": "100",
    "outcome": "APPROVED",
    "responder_url": "https://example.com",
    "response_code": "123456"
  },
  "device": {
    "imei": "123456789012345",
    "ip_address": "1.1.1.1",
    "location": "37.3860517/-122.0838511"
  },
  "token_metadata": {
    "payment_account_info": {
      "account_holder_data": {
        "phone_number": "+15555555555"
      },
      "pan_unique_reference": "pan_unique_ref_1234567890123456789012345678",
      "payment_account_reference": "ref_1234567890123456789012",
      "token_unique_reference": "token_unique_ref_1234567890123456789012345678"
    },
    "payment_app_instance_id": "app_instance_123456789012345678901234567890",
    "status": "Pending",
    "token_requestor_id": "12345678901",
    "token_requestor_name": "APPLE_PAY"
  },
  "event_type": "tokenization.approval_request",
  "issuer_decision": "APPROVED",
  "tokenization_channel": "DIGITAL_WALLET",
  "tokenization_source": "PUSH_PROVISION",
  "tokenization_token": "tok_1234567890abcdef",
  "wallet_decisioning_info": {
    "account_score": "100",
    "device_score": "100",
    "recommendation_reasons": [
      "Reason1"
    ],
    "recommended_decision": "Decision1"
  },
  "tokenization_decline_reasons": [],
  "tokenization_tfa_reasons": [
    "WALLET_RECOMMENDED_TFA"
  ],
  "rule_results": [
    {
      "auth_rule_token": "550e8400-e29b-41d4-a716-446655440001",
      "result": "REQUIRE_TFA",
      "name": "CustomerRiskRule",
      "explanation": "High risk transaction detected"
    }
  ]
}

Response

Return a 200 status to indicate that the data was received successfully