Skip to main content
POST
/
v1
/
transfers
/
process
Process a Transfer
curl --request POST \
  --url https://plugin-br-bank-transfer.sandbox.lerian.net/v1/transfers/process \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Idempotency: <x-idempotency>' \
  --header 'X-Tenant-Id: <x-tenant-id>' \
  --data '
{
  "initiationId": "019c96a0-aa10-7abc-d1e2-8c9d0e1f2a3b"
}
'
{
  "transferId": "019c96a0-ab10-7cde-f1a2-0e1f2a3b4c5d",
  "confirmationNumber": "20260201001",
  "status": "PROCESSING",
  "feeAmount": 1.5,
  "totalAmount": 1002
}

Authorizations

Authorization
string
header
required

JWT Bearer token authentication. The token must include a tenantId claim that matches the X-Tenant-Id header.

Headers

X-Tenant-Id
string<uuid>
required

Organization ID used as the tenant identifier. All data is scoped to this organization. Must match the JWT tenantId claim when authentication is enabled.

X-Idempotency
string
required

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.

Maximum string length: 255

Body

application/json
initiationId
string<uuid>
required

The initiation ID returned by the Initiate Transfer endpoint. Expires after 24 hours.

Example:

"019c96a0-aa10-7abc-d1e2-8c9d0e1f2a3b"

Response

Indicates that the transfer was confirmed and processing has started.

The response includes the X-Idempotency-Replayed header.

If the value is false, the transaction was just processed. If the value is true, the response is a replay of a previously processed request.

See Retries and idempotency for more details.

transferId
string<uuid>
required

The unique transfer ID. Use this value to track the transfer status.

Example:

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

confirmationNumber
string
required

A human-readable confirmation number in YYYYMMDD+sequence format.

Maximum string length: 20
Example:

"20260201001"

status
enum<string>
required

The current transfer status. For TED_OUT transfers, the status immediately after processing is always PROCESSING.

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

"COMPLETED"

feeAmount
number<decimal>
required

The fee amount as calculated during initiation.

Example:

1.5

totalAmount
number<decimal>
required

The total amount held or transferred, including the fee.

Example:

1002

packageAppliedId
string<uuid> | null

ID of the fee package applied to this transfer, if any.

Example:

"019c96a0-ad10-7fab-c1d2-3b4c5d6e7f8a"