---
title: "Send pre-authentication info"
method: POST
path: "/v1/preauthenticate"
tags: ["Pre-authentication"]
---

# Send pre-authentication info

`POST /v1/preauthenticate`

Send pre-authentication information to the client's anti-fraud validator to evaluate. Pismo calls the validator's webhook and gets a response before sending a response to the caller.

Pismo provides the encrypt/decrypt keys for the hashed PAN. Talk to your Pismo representative about getting these keys.

For information on PAN encryption, refer to the [PAN encryption for 3DS authentication](https://developers.pismo.io/pismo-docs/docs/pan-encryption-for-3ds-authentication) guide.

## Request body

- PreAuthenticationRequest
  - `id` string, required — Client-generated caller ID.
  - `pan` string, required — Encrypted PAN using 2048 rsa key and base64 encoded. Pismo provides the encrypt/decrypt keys for this field.
  - `raw_provider` RawProvider — All non-PCI information received from provider. Check provider documentation for details.

## Response `200`

OK

- PreAuthenticationResponse
  - `id` string — The Correlation identifier field is used to link related API requests and events. The CID can help the Pismo engineering team track everything related to a call. If not passed, a random one is generated. You can find the CID in the response header.
  - `external_id` string — Provider-generated unique ID for client monitoring and tracking
  - `decision` 'approve' | 'reject' — Client's anti-fraud decision
  - `account` PreAuthenticationAccount
    - `id` integer — Account ID
    - `status` 'NORMAL' | 'BLOCKED' | 'CANCELLED' — Account status
    - `name` string — name
    - `phone` string — Phone number
    - `email` string — E-mail
  - `customer` PreAuthenticationCustomer
    - `id` integer — Pismo customer ID.
    - `name` string — name
    - `phone` string — Phone number
    - `email` string — E-mail
  - `card` PreAuthenticationCard
    - `id` integer — Enrolled card ID
    - `status` 'ACTIVE' | 'SUSPENDED' | 'PENDING' — Card status
    - `type` 'PLASTIC' | 'VIRTUAL' | 'RECURRING' | 'TEMPORARY' — Card type
    - `hash` string — Encrypted PAN using 2048 rsa key and base64 encoded. Pismo provides the encrypt/decrypt keys for this field.
    - `printed_name` string — Printed name on physical card
  - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).

## Other responses

- `400` — Bad request
- `422` — Unprocessable entity error
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
