Transfer drafts

Register a transfer draft for platform approval

Changed on

Registers an MCP transfer draft (tdraft_…) as pending platform approval. Customer must belong to the caller organization. Idempotent for the same draftId + draftHash. Does not move money.

post/v1/transfer-drafts

Request

Headers

X-API-Keystring

API key

Request body

draftIdstring required

MCP transfer draft id from create_transfer_draft.

draftHashstring required

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

customerIdstring required

Bound Connect customer that owns the draft.

destinationAccountIdsstring[]

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).

quotedDestinationAmountMinorstring

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

Example request

{
  "draftId": "tdraft_0123456789abcdef01234567",
  "draftHash": "a1b2c3d4e5f6789012345678abcdef01",
  "customerId": "cus_abc123",
  "destinationAccountIds": [
    "eba_abc123"
  ],
  "quotedDestinationAmountMinor": "850000"
}

Response

Transfer draft registered

idstring required
draftIdstring required
customerIdstring required
draftHashstring required
destinationAccountIdsstring[] required

Payee account ids bound at registration and screened at approve.

status'PENDING_APPROVAL' | 'SCREENING' | 'APPROVED' | 'REJECTED' required
createdAtstring date-time required
updatedAtstring date-time required

Example response

{
  "id": "tda_abc123",
  "draftId": "tdraft_0123456789abcdef01234567",
  "customerId": "cus_abc123",
  "draftHash": "a1b2c3d4e5f6789012345678abcdef01",
  "destinationAccountIds": [
    "eba_payee1"
  ],
  "status": "PENDING_APPROVAL"
}

Changes

    • warning

      added the new SCREENING enum value to the response property for the response status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the required property to the response with the status

    • info

      endpoint added