---
title: "POST /3ds/sessions/{sessionId}/authenticate"
method: POST
path: "/3ds/sessions/{sessionId}/authenticate"
tags: ["ThreeDS"]
---

# POST /3ds/sessions/{sessionId}/authenticate

`POST /3ds/sessions/{sessionId}/authenticate`

## Path parameters

- `sessionId` string, uuid, required

## Request body

- AuthenticateThreeDSSessionRequest
  - `authentication_category` string, required
  - `authentication_type` string, required
  - `card_brand` string, nullable
  - `challenge_preference` string, nullable
  - `request_decoupled_challenge` boolean
  - `decoupled_challenge_max_time` integer, nullable
  - `purchase_info` ThreeDSPurchaseInfo
    - `amount` string, nullable
    - `currency` string, nullable
    - `exponent` string, nullable
    - `date` string, nullable
    - `transaction_type` string, nullable
    - `installment_count` string, nullable
    - `recurring_expiration` string, nullable
    - `recurring_frequency` string, nullable
  - `merchant_info` ThreeDSMerchantInfo
    - `mid` string, nullable
    - `acquirer_bin` string, nullable
    - `name` string, nullable
    - `country_code` string, nullable
    - `category_code` string, nullable
    - `url` string, nullable
    - `risk_info` ThreeDSMerchantRiskInfo
      - `delivery_email` string, nullable
      - `delivery_time_frame` string, nullable
      - `gift_card_amount` string, nullable
      - `gift_card_count` string, nullable
      - `gift_card_currency` string, nullable
      - `pre_order_purchase` boolean, nullable
      - `pre_order_date` string, nullable
      - `reordered_purchase` boolean, nullable
      - `shipping_method` string, nullable
  - `requestor_info` ThreeDSRequestorInfo
    - `id` string, nullable
    - `name` string, nullable
    - `url` string, nullable
    - `discover_client_id` string, nullable
    - `discover_requestor_id` string, nullable
    - `amex_requestor_type` string, nullable
    - `cb_siret_number` string, nullable
  - `cardholder_info` ThreeDSCardholderInfo
    - `account_id` string, nullable
    - `account_type` string, nullable
    - `account_info` ThreeDSCardholderAccountInfo
      - `account_age` string, nullable
      - `account_last_changed` string, nullable
      - `account_change_date` string, nullable
      - `account_created_date` string, nullable
      - `account_pwd_last_changed` string, nullable
      - `account_pwd_change_date` string, nullable
      - `purchase_count_half_year` string, nullable
      - `transaction_count_day` string, nullable
      - `payment_account_age` string, nullable
      - `transaction_count_year` string, nullable
      - `payment_account_created` string, nullable
      - `shipping_address_first_used` string, nullable
      - `shipping_address_usage_date` string, nullable
      - `shipping_account_name_match` boolean, nullable
      - `suspicious_activity_observed` boolean, nullable
    - `authentication_info` ThreeDSCardholderAuthenticationInfo
      - `method` string, nullable
      - `timestamp` string, nullable
      - `data` string, nullable
    - `prior_authentication_info` ThreeDSPriorAuthenticationInfo
      - `method` string, nullable
      - `timestamp` string, nullable
      - `reference_id` string, nullable
      - `data` string, nullable
    - `name` string, nullable
    - `email` string, nullable
    - `phone_number` ThreeDSCardholderPhoneNumber
      - `country_code` string, nullable
      - `number` string, nullable
    - `mobile_phone_number` ThreeDSCardholderPhoneNumber
      - `country_code` string, nullable
      - `number` string, nullable
    - `work_phone_number` ThreeDSCardholderPhoneNumber
      - `country_code` string, nullable
      - `number` string, nullable
    - `billing_shipping_address_match` string, nullable
    - `billing_address` ThreeDSAddress
      - `line1` string, nullable
      - `line2` string, nullable
      - `line3` string, nullable
      - `postal_code` string, nullable
      - `city` string, nullable
      - `state_code` string, nullable
      - `country_code` string, nullable
    - `shipping_address` ThreeDSAddress
      - `line1` string, nullable
      - `line2` string, nullable
      - `line3` string, nullable
      - `postal_code` string, nullable
      - `city` string, nullable
      - `state_code` string, nullable
      - `country_code` string, nullable
  - `broadcast_info` unknown
  - `message_extensions` ThreeDSMessageExtension[], nullable
    - `id` string, nullable
    - `name` string, nullable
    - `critical` boolean, nullable
    - `data` unknown
  - `metadata` object, nullable

## Response `200`

Success

- ThreeDSAuthentication
  - `pan_token_id` string, nullable
  - `token_id` string, nullable
  - `token_intent_id` string, nullable
  - `session_id` string, nullable
  - `threeds_version` string, nullable
  - `acs_transaction_id` string, uuid, nullable
  - `acs_operator_id` string, nullable
  - `ds_transaction_id` string, uuid, nullable
  - `sdk_transaction_id` string, uuid, nullable
  - `acs_reference_number` string, nullable
  - `ds_reference_number` string, nullable
  - `liability_shifted` boolean, nullable
  - `authentication_value` string, nullable
  - `authentication_status` string, nullable
  - `authentication_status_code` string, nullable
  - `directory_status_code` string, nullable
  - `authentication_status_reason` string, nullable
  - `authentication_status_reason_code` string, nullable
  - `eci` string, nullable
  - `acs_challenge_mandated` string, nullable
  - `acs_decoupled_authentication` string, nullable
  - `authentication_challenge_type` string, nullable
  - `acs_rendering_type` ThreeDSAcsRenderingType
    - `acsInterface` string, nullable
    - `acsUiTemplate` string, nullable
  - `acs_signed_content` string, nullable
  - `acs_challenge_url` string, nullable
  - `challenge_preference` string, nullable
  - `challenge_preference_code` string, nullable
  - `challenge_attempts` string, nullable
  - `challenge_cancel_reason` string, nullable
  - `challenge_cancel_reason_code` string, nullable
  - `cardholder_info` string, nullable
  - `whitelist_status` string, nullable
  - `whitelist_status_source` string, nullable
  - `message_extensions` ThreeDSMessageExtension[], nullable
    - `id` string, nullable
    - `name` string, nullable
    - `critical` boolean, nullable
    - `data` unknown

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/basistheory/apis/basis-theory-api.md) · [All operations](https://skmtc.net/basistheory/apis/basis-theory-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/basistheory/basis-theory-api/revisions/cbb8e098b560/schema)
