Skip to main content

execute-transfer

Execute a transfer the user has confirmed. Takes only the transfer_intent_id returned by prepare-transfer. The intent's amount, creditor, debtor, and rail are immutable: any change requires a new prepare call. Servers reject expired intents with a structured error.

Input

FieldTypeRequiredDescription
idempotency_keystring | nullOptional idempotency key. Servers SHOULD return the original response for repeat calls with the same key. Default: null.
transfer_intent_idstringIntent token from a recent prepare-transfer call.
Raw JSON Schema
{
"additionalProperties": false,
"properties": {
"idempotency_key": {
"anyOf": [
{
"maxLength": 128,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional idempotency key. Servers SHOULD return the original response for repeat calls with the same key."
},
"transfer_intent_id": {
"description": "Intent token from a recent `prepare-transfer` call.",
"type": "string"
}
},
"required": [
"transfer_intent_id"
],
"type": "object"
}

Output

FieldTypeRequiredDescription
codestring | nullServer-defined code identifying a recoverable error. Canonical values: intent_expired, intent_not_found. Omitted on success. Default: null.
contentstringHuman-readable status message.
itemExecutedTransfer | nullReceipt details when the transfer was accepted by the bank. Default: null.

itemExecutedTransfer

Bank-issued receipt for an executed transfer.

FieldTypeRequiredDescription
executedAtstringISO 8601 timestamp when the bank recorded the transfer.
rejectionReasonstring | nullHuman-readable reason when status is Rejected. Default: null.
status"Accepted" | "Pending" | "Settled" | "Rejected"Execution status reported by the bank.
transactionIdstringTransaction.id of the resulting bank transaction. Use with get-transaction to fetch full details.
Raw JSON Schema
{
"description": "Envelope for `execute-transfer`.",
"properties": {
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Server-defined code identifying a recoverable error. Canonical values: `intent_expired`, `intent_not_found`. Omitted on success."
},
"content": {
"description": "Human-readable status message.",
"type": "string"
},
"item": {
"anyOf": [
{
"description": "Bank-issued receipt for an executed transfer.",
"properties": {
"executedAt": {
"description": "ISO 8601 timestamp when the bank recorded the transfer.",
"format": "date-time",
"type": "string"
},
"rejectionReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Human-readable reason when `status` is `Rejected`."
},
"status": {
"description": "Execution status reported by the bank.",
"enum": [
"Accepted",
"Pending",
"Settled",
"Rejected"
],
"type": "string"
},
"transactionId": {
"description": "`Transaction.id` of the resulting bank transaction. Use with `get-transaction` to fetch full details.",
"type": "string"
}
},
"required": [
"transactionId",
"status",
"executedAt"
],
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Receipt details when the transfer was accepted by the bank."
}
},
"required": [
"content"
],
"type": "object"
}