Skip to main content
POST
Simulate a card authorization

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

Unique key to ensure request idempotency. If the same key is used within a certain time window, the original response will be returned instead of executing the request again.

Body

application/json

A request to present a simulated authorization on a card.

card_id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

amount
string

Amount in decimal USD, at most two decimal places. Capped by the sandbox per-transaction limit.

Required for every type except balance_inquiry, which moves no funds and so takes no amount: omit it, or send "0". A balance_inquiry naming a non-zero amount is refused.

Example:

"2.00"

merchant
object

The merchant presenting a simulated card transaction.

type
enum<string>
default:authorization

Which network message the simulation opens. authorization is a standard purchase; financial_authorization clears immediately; balance_inquiry checks the spendable balance and moves no funds, so it is the one type that takes no amount.

Available options:
authorization,
credit_authorization,
financial_authorization,
balance_inquiry
Example:

"authorization"

partial_approval_capable
boolean

Whether the merchant accepts a partial approval. A merchant that does gets an approval for the available balance instead of a decline.

Response

Card simulation accepted

An accepted card simulation.

simulation_id
string
required

Simulation identifier. Resolve it with GET /sandbox/simulations/{simulation_id}.

Example:

"sim_card_01J8ZQ4T7K2M9X"

status
enum<string>
required

Where a card simulation stands. completed means the card transaction exists and this response names it. pending means the simulation was accepted but the transaction has not been materialized yet; poll GET /sandbox/simulations/{simulation_id} for the identifier. failed means the simulation was not accepted: a refusal the endpoint could classify comes back as a problem response instead, so failed is what an unclassified one looks like. It can still name a card transaction, because the response reports whichever transaction the call resolved. A declined card authorization is not a failed simulation: the simulation succeeded and the decline arrives on the card transaction.

Available options:
pending,
completed,
failed
card_transaction_id
string

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"