---
title: "Simulate authorization"
method: POST
path: "/v1/simulate/authorize"
tags: ["Transaction"]
---

# Simulate authorization

`POST /v1/simulate/authorize`

Simulates an authorization request from the card network as if it came from a merchant acquirer.
If you are configured for ASA, simulating authorizations requires your ASA client to be set up properly, i.e. be able to respond to the ASA request with a valid JSON. For users that are not configured for ASA, a daily transaction limit of $5000 USD is applied by default. You can update this limit via the [update account](https://docs.lithic.com/reference/patchaccountbytoken) endpoint.

## Request body

- object
  - `amount` integer, required — Amount (in cents) to authorize. For credit authorizations and financial credit authorizations, any value entered will be converted into a negative amount in the simulated transaction. For example, entering 100 in this field will result in a -100 amount in the transaction. For balance inquiries, this field must be set to 0.
  - `descriptor` string, required — Merchant descriptor.
  - `mcc` string — Merchant category code for the transaction to be simulated. A four-digit number listed in ISO 18245. Supported merchant category codes can be found [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
  - `merchant_acceptor_id` string — Unique identifier to identify the payment card acceptor.
  - `merchant_acceptor_city` string — Merchant acceptor city
  - `merchant_acceptor_state` string — Merchant acceptor state/province (ISO 3166-2 subdivision code)
  - `merchant_acceptor_country` string — Merchant acceptor country code (ISO 3166-1 alpha-3)
  - `merchant_amount` integer — Amount of the transaction to be simulated in currency specified in merchant_currency, including any acquirer fees.
  - `merchant_currency` string — 3-character alphabetic ISO 4217 currency code. Note: Simulator only accepts USD, GBP, EUR and defaults to GBP if another ISO 4217 code is provided
  - `pan` string, required — Sixteen digit card number.
  - `partial_approval_capable` boolean — Set to true if the terminal is capable of partial approval otherwise false. Partial approval is when part of a transaction is approved and another payment must be used for the remainder.
  - `pin` string — Simulate entering a PIN. If omitted, PIN check will not be performed.
  - `status` 'AUTHORIZATION' | 'BALANCE_INQUIRY' | 'CREDIT_AUTHORIZATION' | 'FINANCIAL_AUTHORIZATION' | 'FINANCIAL_CREDIT_AUTHORIZATION' — Type of event to simulate. * `AUTHORIZATION` is a dual message purchase authorization, meaning a subsequent clearing step is required to settle the transaction. * `BALANCE_INQUIRY` is a $0 authorization requesting the balance held on the card, and is most often observed when a cardholder requests to view a card's balance at an ATM. * `CREDIT_AUTHORIZATION` is a dual message request from a merchant to authorize a refund, meaning a subsequent clearing step is required to settle the transaction. * `FINANCIAL_AUTHORIZATION` is a single message request from a merchant to debit funds immediately (such as an ATM withdrawal), and no subsequent clearing is required to settle the transaction. * `FINANCIAL_CREDIT_AUTHORIZATION` is a single message request from a merchant to credit funds immediately, and no subsequent clearing is required to settle the transaction.

## Response `201`

OK

- object
  - `debugging_request_id` string, uuid — Debugging request ID to share with Lithic Support team.
  - `token` string, uuid — A unique token to reference this transaction with later calls to void or clear the authorization.

## Other responses

- `400` — A parameter in the query given in the request does not match the valid queries for the endpoint.
- `401` — | | | |---|---| | User has not been authenticated | Invalid or missing API key | | API key is not active | The API key used is no longer active | | Could not find API key | The API key provided is not associated with any user | | Please provide API key in Authorization header | The Authorization header is not in the request | | Please provide API key in the form Authorization: [api-key] | The Authorization header is not formatted properly | | Insufficient privileges. Issuing API key required | Write access requires an Issuing API key. Reach out at [lithic.com/contact](https://lithic.com/contact) | | Insufficient privileges to create virtual cards. | Creating virtual cards requires an additional privilege | Reach out at [lithic.com/contact](https://lithic.com/contact) |
- `422` — Unprocessable Entity.
- `429` — Client has exceeded the number of allowed requests in a given time period. | | | |---|---| | Rate limited, too many requests per second | User has exceeded their per second rate limit | | Rate limited, reached daily limit | User has exceeded their daily rate limit | | Rate limited, too many keys tried | One IP has queried too many different API keys |

---

[API](https://skmtc.net/lithic-com/apis/lithic-developer-api.md) · [All operations](https://skmtc.net/lithic-com/apis/lithic-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lithic-com/lithic-developer-api/revisions/53ab5d4e2adb/schema)
