---
title: "Simulate an Account Updater Check"
method: POST
path: "/payments/cards/checks/simulate"
tags: ["Payments", "Real-time Account Updater"]
---

# Simulate an Account Updater Check

`POST /payments/cards/checks/simulate`

## Request

- Base URL: `https://api.evervault.com`
- URL: `https://api.evervault.com/payments/cards/checks/simulate`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/evervault/apis/evervault-api/docs/payments/cards/checks/simulate/post.ts> (a function with typed inputs; its response is checked against the schema)

Simulate a [card check](#createAccountUpdaterCheck) so you can test your
integration without a real query to the card networks. Provide the test card
`4242424242424242` and the `type` of result you want returned.

The response is an [Account Updater Check](#the-account-updater-check-object),
identical in shape to a live check. A `new-account-number` result returns
`4111111111111111` as the replacement card, as an Evervault encrypted string.

Checks can only be simulated for the test card `4242424242424242`. Any other card
returns a `400` response.

This endpoint is only available to [Sandbox apps](/developers/sandbox).

## Request body

- object
  - `card` object, required
    - `number` string, required: The card number. Must be the test card `4242424242424242`, as plaintext or a valid Evervault encrypted card number.
    - `expiry` CardExpiry, required: The card expiry date.
      - `month` string, required: The card expiry month, in MM format (e.g. 12 for December)
      - `year` string, required: The card expiry year, in YY format (e.g. 29 for 2029)
  - `type` 'no-change' | 'new-expiry-date' | 'new-account-number' | 'account-closed' | 'contact-cardholder' | 'cardholder-opt-out' | 'merchant-opt-out' | 'no-match', required: The check result to simulate. Accepts any of the results a live check can return.

## Response `200`

The simulated check completed.

- AccountUpdaterCheck: The result of pulling the latest details for a card from the card networks.
  - `id` string, required: The unique identifier for the check.
  - `result` 'no-change' | 'new-expiry-date' | 'new-account-number' | 'account-closed' | 'contact-cardholder' | 'cardholder-opt-out' | 'merchant-opt-out' | 'no-match', required: The outcome of the check. Only `new-expiry-date` and `new-account-number` carry an `update` payload; every other result returns no new credentials.
  - `update` object, nullable, required: The updated card details. Present on `new-account-number` and `new-expiry-date` results, and `null` on every other result.
    - `card` object: The updated card details.
      - `number` string: The updated card number. Always an Evervault encrypted string, and only present on a `new-account-number` result. The plaintext card number is never returned, so decrypt this value with Evervault if you need the plaintext account number.
      - `expiry` CardExpiry: The card expiry date.
        - `month` string, required: The card expiry month, in MM format (e.g. 12 for December)
        - `year` string, required: The card expiry year, in YY format (e.g. 29 for 2029)

## Other responses

- `400`: The request was invalid or cannot be otherwise served.
- `401`: The request cannot be authenticated.
- `403`: The request is not authorized to perform this action.

## Changes

- **2026-11-06** `8d0ca833fa04`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/evervault/apis/evervault-api/changes/payments/cards/checks/simulate/post.md)

---

[API](https://skmtc.dev/evervault/apis/evervault-api.md) - [All operations](https://skmtc.dev/evervault/apis/evervault-api/llms.txt) - [OpenAPI document](https://skmtc.dev/evervault/apis/evervault-api/revisions/8d0ca833fa04?raw)
