Cancel a transfer (before sending) or a pending entry in the STR
Cancels a transfer that is not yet sent to the STR, or asks the STR to cancel a pending entry.
| Current state | Result |
|---|---|
CREATED, RESERVED | Cancels immediately and releases the hold: 200, status=CANCELLED |
PENDING_STR | Asks the STR to cancel: 202. The state changes only when the STR confirms (503 TED-1012 if the rail does not expose this capability) |
CANCELLED | 200, with no new effect |
SUBMITTED, SETTLED, REJECTED | Not cancelable: 409 TED-0061. A settled TED comes back only through a return from the recipient institution |
AWAITING_RECONCILIATION, EXHAUSTED | Not cancelable: 409 TED-0061. Operations use POST .../unblock with evidence |
The body is optional (reason). X-Idempotency is required; X-Idempotency-Replayed: true indicates a replay.
Autorizaciones
JWT token that the Lerian Access Manager issues for your institution. Send it in Authorization: Bearer <token> on every call (except the public health probes). The tenant never comes from the body, the query, or the path. Each operation requires a role with the matching permission (see the API overview). Without it, 403 TED-0071. Missing, invalid, or expired token: 401 TED-0070.
Encabezados
Replay window of the idempotency key, in seconds. Default 300 (5 minutes) when missing or invalid. Values outside 30 s to 7 days are adjusted to these limits. Only the value of the FIRST request for a key counts. A change to X-TTL on retries has no effect. The window sets how long the response is replayed.
x >= 1Idempotency key that the integrator creates (1 to 128 printable ASCII characters, no spaces; we recommend a UUID). Required on every operation with an effect. Send the SAME key again when you retry a call that failed because of a timeout or network error. Same key + same body returns the original response with X-Idempotency-Replayed: true and no new effect. Same key + different body responds 422 TED-0012. Same key still in processing responds 409 TED-0013 (retry after Retry-After). Missing or in the wrong format: 400 TED-0011.
Correlation identifier of this request (UUID). Optional: when you omit it, or when the value is not a well-formed UUID, the platform creates a UUID and returns it in the X-Request-Id header of the response. The resolved identifier goes to the logs, spans, and audit events of this request. Keep it to open a support ticket.
Parámetros de ruta
Transfer identifier
Cuerpo
Optional body of the cancellation. The reason is recorded. When the cancellation is sent to the STR, the reason goes with the history of the entry.
Reason (goes to the cancellation description in the STR, when applicable)
140Respuesta
Transfer cancelled and hold released (status=CANCELLED). If X-Idempotency-Replayed: true, or if it was already cancelled, no new effect occurred.
Representation of an outgoing (TED) or internal transfer. The create, query, and list operations return it, and so do the cancel and unblock actions. Track the lifecycle through the status field and the instants reservedAt/submittedAt/settledAt. When status=REJECTED, rejection tells you who refused it and why.
Amount in BRL as a decimal string with two decimal places.
^(0\.(0[1-9]|[1-9][0-9])|[1-9][0-9]{0,11}\.[0-9]{2})$"1500.00"
Time (UTC) of creation.
Fee charged at sending, in BRL (0.00 when exempt).
^(0|[1-9][0-9]{0,11})\.[0-9]{2}$"0.00"
Purpose code given in the send request (FinlddCli, 5 digits).
^[0-9]{5}$"00001"
Recipient sent when the transfer was created. In an internal transfer it includes accountId.
Source account, always in your own institution (includes accountId).
Current state (published as a free string: handle unknown values with tolerance). Current values: CREATED, RESERVED, SUBMITTED, PENDING_STR, SETTLED, REJECTED, CANCELLED, AWAITING_RECONCILIATION, EXHAUSTED. TED: CREATED → RESERVED (amount + fee on hold) → SUBMITTED (sent to the STR) → SETTLED | REJECTED; PENDING_STR when the STR keeps the entry pending; AWAITING_RECONCILIATION and EXHAUSTED when the outcome could not be confirmed automatically; CANCELLED on a cancellation before submission or of a confirmed pending entry. INTERNAL: CREATED → SETTLED | REJECTED in the same call. Terminal: SETTLED, REJECTED, CANCELLED.
Amount + fee: the total debited (on hold) from the source account, in BRL.
^(0|[1-9][0-9]{0,11})\.[0-9]{2}$"1500.00"
Transfer identifier. Use it in queries and actions.
TED (another institution, through the STR) or INTERNAL (same institution, settled in the ledger).
TED, INTERNAL Time (UTC) of the last write to the record. This is not always a status change. ⚠️ An INTERNAL transfer can stay in CREATED because the ledger response was undetermined. In that case, the reprocessor uses updatedAt as the queue position on each new attempt, and it moves a transfer whose resend window expired one hour ahead: updatedAt CAN BE IN THE FUTURE (up to 1 h after the current time). Do not use it as a transition time.
Requester reference sent with the transfer request.
64Description given in the send request.
140Free-form key-value pairs from the requester, kept verbatim. Never sent to external systems.
Identifier of the entry assigned by the STR (20 characters, XXXAAAAMMDDnnnnnnnnn).
^[A-Za-z0-9]{20}$SPB identifier of the operation, 23 digits. It can be absent even in status=SUBMITTED. In that case, correlate by railOperationId.
^[0-9]{23}$Identifier of the operation in the rail (after acceptance).
Present only when status=REJECTED.
Instant (UTC) when the amount and fee were put on hold in the source account. Start of the 30-min regulatory deadline for submission.
Return received for this outgoing TED (credit back to the sender). Requires status=SETTLED and a LATER return from the recipient institution. For this reason it never appears in the creation response or in the list items, only in GET /v1/transfers/{transferId}.
Instant of settlement. Exists only from status=SETTLED.
Timestamp (UTC) when the rail accepted the TED for sending to the STR.

