Skip to main content
POST
Create pre-transaction

Authorizations

API-KEY
string
header
required

Your partner API key.

Headers

Api-Version
string
default:2026-09.1
required

The API version this request targets. Required on every /api/v0/* call. Format YYYY-MM.<release>; 2026-09.1 is the latest. The version that served the request is echoed back on the response. Missing, malformed or unsupported values are rejected with 400.

Pattern: ^\d{4}-\d{2}\.\d+$

Path Parameters

userId
string
required

The customer — a cus_… reference id.

Example:

"cus_3HfG8kLp2QwE7rTy9UiO"

Body

application/json
quoteId
string
required

The quote being checked — qut_…. Required.

recipientId
string

The recipient being paid — rec_….

transferPurposeCode
string

Purpose-of-transfer code — see Purpose codes.

walletId
string

The customer's wallet the transfer is funded from — wlt_…. Required when the quote's depositRail is CRYPTO; Endl derives the source address from it, so no address is sent. Ignored for other deposit rails.

Response

Validated. Unwrapped. No transaction exists yet.

status
string

Always VALIDATED: the quote, recipient, wallet and KYC checks passed. No transaction exists yet.

quoteId
string

The qut_… id you sent.

expiresOn
string

Quote expiry (ISO 8601). Submit before this.

source
object
destination
object
fees
object
settlement
string

Always SERVER_SIDE: Endl moves the funds at submit.