Skip to main content
GET
Get a Transfer

Authorizations

Authorization
string
header
required

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

X-Organization-Id
string<uuid>
required

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.

Path Parameters

transferId
string<uuid>
required

The unique identifier of the transfer.

Response

Indicates that the transfer was found and its details are returned.

transferId
string<uuid>
required

The unique identifier of the transfer.

Example:

"019c96a0-ab10-7cde-f1a2-0e1f2a3b4c5d"

type
enum<string>
required

The type of transfer. TED_OUT is an outgoing transfer to an external bank via JD SPB. TED_IN is an incoming transfer from an external bank. P2P is a peer-to-peer transfer within the same institution (same ISPB).

Available options:
TED_OUT,
TED_IN,
P2P
Example:

"TED_OUT"

status
enum<string>
required

The current status of the transfer. For TED OUT: CREATED → PENDING → PROCESSING → COMPLETED, REJECTED, or FAILED. For P2P: CREATED → PROCESSING → COMPLETED or FAILED (PENDING is an SPB-specific state and does not apply to P2P). Transfers can be CANCELLED while in CREATED or PENDING status. For TED IN: RECEIVED → PROCESSING → COMPLETED or FAILED. A COMPLETED TED IN can also transition to FAILED in the event of a chargeback.

Available options:
CREATED,
PENDING,
PROCESSING,
COMPLETED,
REJECTED,
FAILED,
CANCELLED,
RECEIVED
Example:

"COMPLETED"

senderAccountId
string<uuid>
required

UUID of the sender account. Always present. For TED IN, where the sender is an external bank with no local account, this is a synthetic identifier deterministically derived from the sender's document.

Example:

"019c96a0-0c0c-7221-8cf3-13313fb60081"

recipient
object
required
amount
number<decimal>
required

The transfer amount without the fee.

Example:

1000.5

feeAmount
number<decimal>
required

The fee charged for this transfer.

Example:

1.5

totalAmount
number<decimal>
required

The total amount, calculated as the transfer amount plus the fee.

Example:

1002

createdAt
string<date-time>
required

The timestamp when the transfer was created.

Example:

"2026-02-01T15:30:00-03:00"

updatedAt
string<date-time>
required

The timestamp of the last status update.

Example:

"2026-02-01T15:35:00-03:00"

statusHistory
object[]
required

The history of status transitions for this transfer.

originalTransferId
string<uuid> | null

For TED IN devolutions, the ID of the original incoming transfer being returned.

Example:

"019c96a0-ab10-7cde-f1a2-0e1f2a3b4c5d"

devolutionCode
string | null

BACEN devolution reason code, present only when the transfer is a devolution.

Example:

"18"

recipientAccountId
string<uuid> | null

UUID of the recipient account, when the recipient is represented as a Midaz account.

Example:

"019c96a0-ac10-7efa-b1c2-2a3b4c5d6e7f"

confirmationNumber
string | null

The human-readable confirmation code, if available.

Maximum string length: 20
Example:

"20260201001"

controlNumber
string | null

The JD SPB control number, present for TED OUT and TED IN transfers.

Maximum string length: 20
Example:

"202602010001"

midazTransactionId
string<uuid> | null

The corresponding Midaz ledger transaction ID.

Example:

"019c96a0-ac10-7efa-b1c2-2a3b4c5d6e7f"

description
string | null

The purpose or description of the transfer.

Maximum string length: 140
Example:

"Payment for services"

metadata
object | null

Custom metadata as key-value pairs.

completedAt
string<date-time> | null

The timestamp when the transfer was completed. Null if not yet completed.

Example:

"2026-02-01T15:35:00-03:00"