Skip to main content
POST
CLI

Authorizations

Authorization
string
header
required

API Key in Bearer format (e.g., Bearer sk_test_...)

Headers

X-API-Key
string

API key

Body

application/json
draftId
string
required

MCP transfer draft id from create_transfer_draft.

Example:

"tdraft_0123456789abcdef01234567"

draftHash
string
required

SHA-256 hex prefix of the canonical create payload (requestDigest). Bound at approve so post-approve tampering invalidates execute.

Example:

"a1b2c3d4e5f6789012345678abcdef01"

customerId
string
required

Bound Connect customer that owns the draft.

Example:

"cus_abc123"

draftSnapshot
object

MCP instruction snapshot. When present, server verifies requestDigest against draftHash and derives screening payees from destinationAccountId (ENG-2014). Optional during API/bot rollout so older clients can still register; without it caller payees are ignored (empty) and approve stays blocked until a snapshot backfill. New bot always sends it.

destinationAccountIds
string[]

Payee / destination account ids. When draftSnapshot is present these must match destinationAccountId (derived server-side). Ignored when draftSnapshot is omitted (stored as empty; approve fails closed).

Example:
quotedDestinationAmountMinor
string

Destination payout minor units from the MCP indicative quote when source and destination currencies differ. Omit for same-currency drafts.

Example:

"850000"

Response

Transfer draft registered

id
string
required
Example:

"tda_abc123"

draftId
string
required
Example:

"tdraft_0123456789abcdef01234567"

customerId
string
required
Example:

"cus_abc123"

draftHash
string
required
Example:

"a1b2c3d4e5f6789012345678abcdef01"

destinationAccountIds
string[]
required

Payee account ids bound at registration and screened at approve.

Example:
status
enum<string>
required
Available options:
PENDING_APPROVAL,
SCREENING,
APPROVED,
REJECTED
Example:

"PENDING_APPROVAL"

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