Skip to main content
POST
Confirm a TED payment
Choose in category the balance category of the wallet the amount is taken from. When the bank accepts the transfer, the TED is PAID and the debit appears in the wallet’s transactions. If the receiving bank later returns it, the TED becomes REFUNDED and the amount comes back to the wallet. When the confirmation fails while sending, the TED is FAILED and can’t be confirmed again — create a new one. An error before anything is sent (the permission check, or the bank not answering while the wallet is read) leaves it REQUESTED, so read the TED before retrying. A refusal the bank gives without a code of its own in this API reaches you with the bank’s reason, in lower case, as code, and the bank’s explanation as message — Unknown error when it gave none. You need permission to pay from the wallet: on the organization’s main wallet, be an admin of the organization or of the realm; on another wallet, be one of those admins or have it shared with you as OWNER or USER. TEDs are limited by the wallet’s TED transaction limits, which the bank applies when you confirm — see Get transaction limits. The account’s tedOut limit is not applied.

Headers

x-environment
enum<string>

Environment of the TED: LIVE (production) or TEST (sandbox). When you omit it, TEST is used; any other value is rejected.

Available options:
LIVE,
TEST

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

organizationId
string<uuid>
required

ID of the organization.

Format: UUID

accountId
string
required

ID of the organization's account (24 hexadecimal characters).

Pattern: ^[0-9a-fA-F]{24}$
walletId
string
required

ID of the wallet the TED is sent from (24 hexadecimal characters), or default for the organization's main wallet.

Pattern: ^([0-9a-fA-F]{24}|default)$
tedId
string
required

ID of the TED payment — its _id (24 hexadecimal characters).

Pattern: ^[0-9a-fA-F]{24}$

Body

application/json
category
enum<string>
required

Balance category of the wallet the amount is taken from. FLEX_INTERNATIONAL is the general-purpose one.

Available options:
FLEX_NATIONAL,
FLEX_INTERNATIONAL,
FOOD,
GAS,
MOBILITY,
TOLL,
FLEX_NATIONAL_WITHOUT_WITHDRAWALS,
ADS,
SAAS,
HOTEL,
AIRLINES,
TRAVEL
Example:

"FLEX_INTERNATIONAL"

Response

Successful response

A TED sent — or to be sent — from a wallet to an account at another bank.

_id
string
required

ID of the TED. Use it as tedId to read, confirm or cancel it.

Example:

"6728c4e1b4d3e80012c9a5b3"

environment
enum<string>
required

Environment of the TED.

Available options:
LIVE,
TEST
Example:

"LIVE"

realmId
string<uuid>
required

ID of the realm.

Example:

"f495ff0c-ab54-4f99-8e92-ca8682e4de9b"

organizationId
string<uuid>
required

ID of the organization.

Example:

"c4bd3f21-dfbd-44e8-8055-68ba15bed410"

accountId
string
required

ID of the organization's account.

Example:

"66f2a1c7b4d3e80012c9a0b4"

walletId
string
required

ID of the wallet the TED is sent from — the wallet's own ID, also when you used the default alias.

Example:

"66f2a3d1b4d3e80012c9a0d2"

creditParty
object
required

The account the TED is sent to.

debitParty
object
required

Who sent the TED.

status
enum<string>
required

Where the TED is: REQUESTED (created, not sent yet — confirm or cancel it), PAID (the bank accepted it and the amount left the wallet), FAILED (the confirmation failed), CANCELLED (cancelled before it was sent) or REFUNDED (the bank returned the transfer and the amount came back to the wallet — usually a PAID TED, but a FAILED one whose confirmation timed out after the bank took it can end here too).

Available options:
REQUESTED,
CANCELLED,
PAID,
FAILED,
REFUNDED
Example:

"PAID"

txnCurrency
string
required

Currency of the amounts, as its ISO 4217 numeric code — always 986 (Brazilian real).

Example:

"986"

txnAmount
number
required

Amount of the TED, in centavos.

Example:

235000

confirmedAmount
number
required

Amount that left the wallet, in centavos: equal to txnAmount once the TED is PAID, and 0 before. A few TEDs paid long ago carry 0 here too — for those, txnAmount is what was sent.

Example:

235000

createdAt
string<date-time>
required

When the TED was created.

Example:

"2026-11-04T14:11:47.000Z"

updatedAt
string<date-time>
required

When the TED last changed.

Example:

"2026-11-04T14:12:09.000Z"

__v
number
required

Internal revision number of the record.

Example:

0

description
string

The note sent with the TED. Absent when none was given.

Example:

"Ensaio fotográfico da campanha de novembro"

confirmedBalanceCategory
enum<string>

Balance category of the wallet the amount was taken from. Set when the TED is paid — absent on a few TEDs paid long ago.

Available options:
FLEX_NATIONAL,
FLEX_INTERNATIONAL,
FOOD,
GAS,
MOBILITY,
TOLL,
FLEX_NATIONAL_WITHOUT_WITHDRAWALS,
ADS,
SAAS,
HOTEL,
AIRLINES,
TRAVEL,
BLOCKED,
CASHBACK
Example:

"FLEX_INTERNATIONAL"

confirmedAt
string<date-time>

When the TED was sent. Set when it is paid — absent on a few TEDs paid long ago.

Example:

"2026-11-04T14:12:09.000Z"

canceledAt
string<date-time>

When the TED was cancelled. Set once it is CANCELLED.

Example:

"2026-11-04T14:15:02.000Z"

refundedAt
string<date-time>

When the returned amount came back to the wallet. Set once the TED is REFUNDED.

Example:

"2026-11-05T10:47:22.000Z"

external
object

References of the TED at the bank. Set when the TED is paid and the bank identified it.