Process a Transfer
Use this endpoint to confirm and execute a previously initiated transfer. The system validates the initiationId, checks the sender’s balance, holds funds in Midaz, and routes the transfer to JD SPB (for TED OUT) or creates an internal Midaz transaction (for P2P). Submitting the same initiationId returns the same transferId.
Authorizations
JWT Bearer token authentication. The tenantId is derived from the bearer token or authenticated request context and is not supplied through X-Organization-Id.
Headers
Midaz organization scope for the request, used for downstream CRM, Fees, and Midaz calls. Required on org-scoped transfer routes in every deployment mode; a missing or non-UUID value returns 400. This is not the tenant identifier — tenantId is derived from the bearer JWT or authenticated context, never from this header. Background workers (TED IN poller, reconciliation) have no request header and, in single-tenant mode, fall back to the deployment's ORGANIZATION_ID env.
Required idempotency key for safe retries. Use a UUID v4 or unique business identifier. If the same key is sent again and the original request was already processed, the cached response is returned.
See Retries and idempotency for details.
255Body
- Option 1
- Option 2
The initiation ID returned by the Initiate Transfer endpoint. Expires after 24 hours.
"019c96a0-aa10-7abc-d1e2-8c9d0e1f2a3b"
Identifier of the frozen signing artifact returned by Prepare Transfer Signature.
"019c96a0-bb10-7def-a1b2-3c4d5e6f7a8b"
SHA-256 hash of the canonical payload that was signed.
"8f0c7f5c1c7b4d9f2f5c7d1a0d4c9a2b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f"
Base64-encoded signature for tenants that sign outside the plugin.
"base64-signature-here"
Response
Indicates that the transfer was confirmed and processing has started.
Repeated calls with the same X-Idempotency key replay the cached response.
See Retries and idempotency for more details.
The unique transfer ID. Use this value to track the transfer status.
"019c96a0-ab10-7cde-f1a2-0e1f2a3b4c5d"
A human-readable confirmation number. Format is YYYYMMDD followed by a short hex suffix derived from the transfer ID (e.g. 20260201aa10bc3d4e5f).
20"20260201001"
The current transfer status. For TED_OUT transfers, the status immediately after processing is always PROCESSING.
CREATED, PENDING, PROCESSING, COMPLETED, REJECTED, FAILED, CANCELLED, RECEIVED "COMPLETED"
The fee amount as calculated during initiation.
1.5
The total amount held or transferred, including the fee.
1002
ID of the fee package applied to this transfer, if any.
"019c96a0-ad10-7fab-c1d2-3b4c5d6e7f8a"

