ReferenceData dictionary

Data dictionary

Detailed description of entities, fields, and enumerations in the API

Overview

This dictionary documents the entities returned by the API, their fields, types, and allowed values. Use it as a reference when building your integration.


Main entities

CardTransaction

Represents a credit card purchase or related operation.

FieldTypeRequiredDescription
idstringYesUnique transaction id (ULID, e.g. 01JB4M8WQ2YX5KN7RT9HF3DE6C)
operationenumYesOperation type (see values)
transactionDatestringYesTransaction time (ISO 8601)
statusenumYesStatus (see values)
typeenumYesTransaction type (see values)
merchantstringYesMerchant name
amountBrlnumberYesAmount in Brazilian Reais (BRL)
exchangeRateUsdnumberYesUSD rate (for international)
isCanceledbooleanYesCanceled or not
isConciledbooleanYesReconciled or not
installmentnumberYesInstallment number (1 = paid in full)
cardCardYesCard used for the purchase
categoryCategoryYesExpense category
costCenterCostCenterYesCost center
attachmentsarray[Attachment]YesLinked receipts and documents

Example

{
  "id": "01JB4M8WQ2YX5KN7RT9HF3DE6C",
  "operation": "CASH_OUT",
  "transactionDate": "2025-01-15T14:30:00.000Z",
  "status": "PROCESSED",
  "type": "PURCHASE",
  "merchant": "UBER *TRIP",
  "amountBrl": 45.90,
  "exchangeRateUsd": 0,
  "isCanceled": false,
  "isConciled": true,
  "installment": 1,
  "card": {
    "id": "card_xyz789",
    "maskedNumber": "**** **** **** 1234",
    "responsibleName": "John Smith",
    "responsibleEmail": "john@company.com",
    "type": "VIRTUAL"
  },
  "category": {
    "id": "cat_001",
    "name": "Transport"
  },
  "costCenter": {
    "id": "cc_001",
    "name": "Sales"
  },
  "attachments": []
}

BankingTransaction

Represents an entry on the banking statement — Pix, TED, transfers between Conta Simples accounts, bill payments, and other account operations. Returned by Banking statement and updated by Update Banking Transaction.

FieldTypeRequiredDescription
idintegerYesTransaction id. Use it in Update Banking Transaction and Banking Transaction Receipt
transactionTypeobjectYesOperation type: { id, description, icon, subType }
companyIdstringYesCompany id
statusintegerYesNumeric status: 1 canceled, 2 processed, 3 pending
statusDescriptionstringYesStatus label
accountIdintegerYesBank account id
finalCardNumberstringNoLast card digits, if any
bearerNamestringNoCardholder name, if any
transactionDatestringYesTransaction time (ISO 8601)
brlAmountnumberYesAmount in Brazilian Reais (BRL)
usdAmountnumberYesAmount in USD
usdExchangeRatenumberYesUSD/BRL rate used
usdExchangeRateDatestringNoWhen the rate was set
totalTransactionAmountnumberYesTotal amount, fees included
iofAmountnumberYesIOF amount
feeServiceAmountnumberYesService fee amount
mccCodeintegerNoMerchant MCC code
mccGroupintegerNoMerchant MCC group
idPurchaseEventintegerNoLinked purchase event id
mccDescriptionstringNoMerchant MCC description
sourceDestinationNamestringNoSource or destination name
placeEstablishmentstringNoMerchant location
attachmentsarray[Attachment]YesDocuments attached to the transaction (invoices, receipts). Distinct from showReceipt
conciliationobjectNoReconciliation state: { description, conciled }conciled: true once the transaction has been reviewed
showReceiptbooleanYesWhether the operation generated a bank receipt on the platform. Check this field before calling Banking Transaction Receipt; it is not an attachment — for documents, use attachments
descriptionstringNoTransaction description
notesstringNoTransaction note (editable, up to 1000 characters)
categoryobjectNoTransaction category: { id, description }
costCenterobjectNoCost center: { id, description }
userobjectNoUser responsible: { id, email }
requesterUserobjectNoRequesting user: { id, email }
customCategoryobjectNoCustom category: { id, name }

Reconciliation reads and writes use different fields. On the statement, the state comes in conciliation.conciled. To reconcile, send isConciled at the root of the Update Banking Transaction body — the field accepts true only, and reconciliation is irreversible through the API.

Example

{
  "id": 987654,
  "transactionType": {
    "id": 12,
    "description": "PIX SENT",
    "icon": "pix",
    "subType": "PIX_OUT"
  },
  "companyId": "01JB4M8WQ2YX5KN7RT9HF3DE6C",
  "status": 2,
  "statusDescription": "PROCESSED",
  "accountId": 4321,
  "transactionDate": "2025-01-15T13:05:22.000Z",
  "brlAmount": 1250.00,
  "usdAmount": 0,
  "usdExchangeRate": 0,
  "totalTransactionAmount": 1250.00,
  "iofAmount": 0,
  "feeServiceAmount": 0,
  "sourceDestinationName": "Example Supplier LTDA",
  "attachments": [],
  "conciliation": {
    "description": "Reviewed",
    "conciled": true
  },
  "showReceipt": true,
  "description": "Supplier payment",
  "notes": "Ref. order 4471",
  "category": {
    "id": "cat_014",
    "description": "Suppliers"
  },
  "costCenter": {
    "id": "cc_002",
    "description": "Operations"
  },
  "user": {
    "id": "usr_001",
    "email": "finance@company.example"
  },
  "customCategory": {
    "id": 7,
    "name": "Supplies"
  }
}

Card

A physical or virtual credit card.

FieldTypeRequiredDescription
idstringYesCard id
maskedNumberstringYesMasked PAN (e.g. **** **** **** 1234)
responsibleNamestringYesPerson responsible for the card
responsibleEmailstringYesThat person’s email
typeenumYesCard type

Example

{
  "id": "card_xyz789",
  "maskedNumber": "**** **** **** 1234",
  "responsibleName": "Jane Doe",
  "responsibleEmail": "jane@company.com",
  "type": "PHYSICAL"
}

Category

Expense category for classification.

FieldTypeRequiredDescription
idstringYesCategory id
namestringYesCategory name

Example

{
  "id": "cat_001",
  "name": "Meals"
}

CostCenter

Cost center for expense allocation.

FieldTypeRequiredDescription
idstringYesCost center id
namestringYesCost center name

Example

{
  "id": "cc_001",
  "name": "Marketing"
}

Attachment

A file linked to a transaction (receipt, invoice, etc.).

FieldTypeRequiredDescription
idstringYesAttachment id
namestringYesFile name
_linksobjectNoHATEOAS links to the content

Example

{
  "id": "att_001",
  "name": "receipt.pdf",
  "_links": {
    "content": {
      "href": "/attachments/v1/content/att_001",
      "rel": "GET"
    }
  }
}

Download binary content with GET /attachments/v1/content/{attachmentId} in the API Reference.


Vcn

🚧 Coming soon — the VCN endpoints are not yet available in Sandbox or Production. The terms below are already published so you can prepare your integration.

Restricted-use virtual card (VCN, Virtual Card Number) issued to pay for a travel booking — lodging (HOTEL) or air (AERIAL) — or a use you define (CUSTOM, e.g. one top-up-able card per supplier). Returned by Create VCN and updated by Update VCN.

FieldTypeRequiredDescription
vcnIdstringYesVCN identifier (ULID). Addresses Update VCN and Reveal VCN card data
typeenumYesWhat the card is tied to: HOTEL, AERIAL or CUSTOM
partnerstringYesIntegrator platform, resolved from the credential and echoed in the response — the partner does not send it
hotelBooking.reservationIdstringConditionalBooking id in the OBT — idempotency key for HOTEL
flightBooking.recordLocatorstringConditionalBooking locator (PNR, Passenger Name Record) — idempotency key for AERIAL
reference.idstringConditionalOpaque identifier you define — idempotency key for CUSTOM
statusenumYesACTIVE, BLOCKED or CANCELLED
startDate / endDatestringYesCard usage window, as pure dates (YYYY-MM-DD) — what you sent in the request or, when absent, the issuance day and the type default. Same names in both directions; not the physical card expiration (card.expirationDate)
limitobjectYesCurrent spending ceiling {value, currency} (decimal, 2 places): sent for CUSTOM, derived from amount for booking types
cardobjectYespan, cvv and expirationDate in clear text — do not log or cache

Full request and response examples in the endpoint reference.


Enumerations

operation

Direction of the financial movement.

ValueDescription
CASH_INMoney in (credit, refund)
CASH_OUTMoney out (purchase, cash advance)

status

Processing state.

ValueDescription
PENDINGPending
PROCESSEDSettled or processed
CANCELEDCanceled

type

Detailed transaction classification.

ValueDescription
PURCHASEDomestic purchase
PURCHASE_INTERNATIONALInternational purchase
PURCHASE_BNPLInstallment / BNPL purchase
WITHDRAWDomestic cash advance
WITHDRAW_INTERNATIONALInternational cash advance
WITHDRAW_FUNDSFunds withdrawal
BALANCE_INQUIRYBalance inquiry
PAYMENT_PLAN_INQUIRYInstallment plan inquiry
REFUNDDomestic refund
REFUND_INTERNATIONALInternational refund
REFUND_CREDIT_ADJUSTMENTCredit adjustment (refund)
REVERSAL_CREDIT_ADJUSTMENTReversal of credit adjustment
REFUND_IOFIOF refund
REFUND_PURCHASE_BNPLBNPL refund
IOFIOF tax
LIMITLimit change (debit)
LIMIT_CREDITLimit change (credit)
SUMMARYSummary or consolidation
BILL_TARIFFStatement fee
REFUND_BILL_TARIFFStatement fee refund
INVOICE_PAYMENTInvoice payment

card.type

ValueDescription
VIRTUALVirtual card (online)
PHYSICALPhysical (plastic) card

Request objects

CardsTransactionRequest

Parameters to query the card statement.

FieldTypeRequiredDescription
startDatestringYesStart of range (YYYY-MM-DD)
endDatestringYesEnd of range (YYYY-MM-DD)
limitintegerYesPage size (5–100)
nextPageStartKeystringNoPagination cursor

The queried range (endDate minus startDate) cannot exceed 62 days.

Example

{
  "startDate": "2025-01-01",
  "endDate": "2025-01-31",
  "limit": 50
}

Response objects

CardsTransactionResponse

Response for the card statement: list of transactions and optional next page.

FieldTypeDescription
transactionsarray[CardTransaction]Transactions
nextPageStartKeystringNext page token if more data exists

Example

{
  "transactions": [
    {
      "id": "01JB4M9XR3ZY6LN8SU0IG4EF7D",
      "operation": "CASH_OUT",
      "transactionDate": "2025-01-15T14:30:00.000Z",
      "status": "PROCESSED",
      "type": "PURCHASE",
      "merchant": "RESTAURANT XYZ",
      "amountBrl": 89.90
    }
  ],
  "nextPageStartKey": "eyJsYXN0SWQiOiJ0eG5fMDAxIn0="
}

Global rules

Dates and ranges

  • Input format: YYYY-MM-DD (e.g. 2025-01-15)
  • Output format: full ISO 8601 in UTC (e.g. 2025-01-15T14:30:00.000Z)
  • Maximum range: 62 days per request
  • Timezone: UTC

Pagination

  • Minimum page size: 5
  • Maximum page size: 100
  • Cursor: nextPageStartKey is opaque — do not parse or change it
  • Attachments can include HATEOAS _links for the download URL
  • Use GET /attachments/v1/content/{attachmentId} to download the file
  • Supported: image/png, image/jpeg, application/pdf

Next steps