Skip to main content
POST
Authorize my Vault funding operation
Consumes the one-time actionId from the selected option’s execution object and authorizes Stableyard to execute the exact Vault-to-escrow transfer under the active policy. The client bearer token identifies the payer UPA; X-Stableyard-Payment-Secret binds the command to one Payment. A successful response means authorization was recorded, not that funds arrived or the Payment completed. The Payment advances only after Stableyard verifies the transfer on-chain. Underpayments, duplicate receipts, late payments and execution failures follow the Payment’s normal reconciliation and recovery states. Idempotency-Key is required; reusing it with different input returns 409 idempotency_conflict.

Authorizations

Authorization
string
header
required

Short-lived account-bound token returned by POST /v2/client/auth/exchange.

X-Stableyard-Payment-Secret
string
header
required

Payment-specific secret used together with an account-bound Client bearer token. It proves access to exactly one Payment and must never be placed in a URL, analytics event, or log.

Headers

Idempotency-Key
string
required

Required retry key for this account-bound Payment mutation. Reuse the same key only with the identical Payment, option, and body; different input returns 409 idempotency_conflict.

Required string length: 1 - 256
Pattern: ^[ -~]+$
Example:

"vault-payment-option-01"

Path Parameters

paymentId
string
required

Canonical receive Payment whose escrow will be funded.

Pattern: ^payment_[A-Za-z0-9_-]+$
Example:

"payment_123"

optionId
string
required

Vault option returned by the account-bound option endpoint.

Pattern: ^pay_option_[A-Za-z0-9_-]+$
Example:

"pay_option_vault_123"

Body

application/json
actionId
string
required

Single-use action identifier returned in option.execution.actionId.

Required string length: 1 - 128
Example:

"fund_auth_123"

proof
object
required
metadata
object

Optional partner metadata. Must be JSON-safe, at most 4096 bytes, depth 3, 25 keys per object, 512 characters per string, and 50 items per array.

Response

Vault funding operation authorized for asynchronous execution

paymentId
string
required
Pattern: ^payment_[A-Za-z0-9_-]+$
Example:

"payment_123"

option
object
required
fundingOperation
object
required