Skip to main content
POST
Create an FX quote
Read FX quotes for the complete quote and transfer flow.

Authorizations

X-API-Key
string
header
required

User API key authentication. Create a key under Settings → API keys in the Slash dashboard (https://app.slash.com/global-settings/api-keys) and send the x-legal-entity header naming the legal entity to act on with every request. Keys scoped to a legal entity are rejected with 403 user_api_key_required.

Headers

X-Idempotency-Key
string
required

Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns 409 and never replays a response, unlike API v1, which replays the original response for a matching key.

Required string length: 1 - 255

The legal entity to act on. Required on every request; a user API key can act on any legal entity its user has access to.

Pattern: ^le_[a-zA-Z0-9]+$

Body

application/json

An exact foreign-currency amount to quote from a source virtual account.

fromAccount
string
required

Source virtual-account id with the subaccount_ prefix.

amount
PositiveMoney · object
required

A positive monetary amount expressed in the currency's minor units.

Response

The created FX quote.

A time-limited USD price for an exact foreign-currency amount.

id
string
required

FX quote id with the fx_rate_quote_ prefix.

status
enum<string>
required
Available options:
pending,
available,
expired,
used,
canceled
amount
PositiveMoney · object
required

A positive monetary amount expressed in the currency's minor units.

estimatedDebit
UsdMoney · object
required

A positive USD amount expressed in cents.

exchangeRate
string
required

Foreign currency units received per USD, including the FX fee.

createdAt
string<date-time>
required
expiresAt
string<date-time>
required

Exact expiration time. Quotes are typically valid for about 15 minutes; clients must treat this timestamp as authoritative.

updatedAt
string<date-time>
required