Cumbuca Gateway API Quickstart

Reference for the Cumbuca Open Finance data-sharing API: participant directory, data-sharing consent lifecycle, Phase 2 data consumption endpoints, and the shared consent management portal.

Background - Open Finance Brasil

This section is a high-level primer for readers new to the ecosystem. If you already know how Open Finance Brasil works, jump straight to Overview.

What is Open Finance Brasil

Open Finance Brasil is a Central Bank-regulated programme that lets customers (individuals and legal entities) share their financial data across institutions in a standardised, secure way. The same idea that powered Pix's interoperability is applied to the rest of the financial stack: accounts, cards, credit, investments, and FX.

The Central Bank (BACEN) sets the rules and publishes the regulated APIs; a Deliberative Council coordinated by an industry-wide governance structure operationalises them through working groups (security, customer experience, infrastructure, etc.). Compliance is not optional: every regulated institution must expose the standard APIs in the way the spec defines.

Participation roles

Each institution joins the ecosystem under one or more roles. For data sharing, the roles split into a passive side (holds the data) and an active side (asks for the data):

RoleDescription
Transmissor de Dados passive Typically banks; serves data requests on behalf of consented customers.
Receptor de Dados active Typically fintechs / advisors; requests customer data to power their product.

An institution can hold multiple roles simultaneously (data and payments). For this data-sharing reference, the relevant tag in the participants directory is DADOS; that's what you'll see filtered in GET /consent-management/v1/participants.

Client vs server in the protocol. The passive/active split lines up directly with the OAuth client/server split. The Receptor de Dados plays the role of OAuth client: it registers via DCR, asks for authorisation, holds the access token, and makes the API calls. The Transmissor de Dados plays the role of Authorisation Server (AS) and resource server: it authenticates the user, issues consents and tokens, and serves the regulated endpoints. So when you read "AS" in the FAPI-BR spec, picture the bank that holds the customer's data; when you read "client", picture the fintech driving the integration.

Implementation phases

The programme rolled out in four phases. The labels are still used everywhere in the spec and in conversations:

How institutions communicate

Two cross-cutting standards govern every request between institutions:

These two combined implement the FAPI-BR security profile, a Brazilian regional flavour of OpenID Foundation's Financial-grade API standard. On top of FAPI-BR, the standard OAuth 2.0 / OIDC building blocks are used:

For first-time integrations all of this orchestration (directory lookup, DCR, token exchange, PAR, mTLS handshake) happens for every call. It's a lot of moving parts.

Simplified request flow, putting the pieces together for a typical authorised data read:

Customer (browser / app) 1. clicks "connect bank" Directory (Open Finance BR) lists active participants, certificates, metadata Client (Receptor) active side OAuth client 0. discovery (GET list) 2. DCR + PAR + consent create (mTLS + JWS, over HTTPS) Authorisation Server (AS) Transmissor de Dados passive side OAuth server Customer authorises at the AS 3. browser redirect user authenticates & authorises consent 4. callback 5. authorised API call (mTLS + token + JWS payload) Resource server at the AS 6. response (JWS-signed for sensitive endpoints)

Every arrow between client and AS rides on mTLS. Steps that expose private data (steps 2 and 5/6) additionally carry JWS-signed payloads. The customer's browser is only involved on steps 3 and 4: the redirect handoff that triggers authentication and brings the user back.

Every cross-institution data read is anchored on a consent. The consent is a regulated artefact created on the holder side and tied to:

Until the consent is in AUTHORISED state, no protected resource can be read. After it expires, the holder will refuse the call. Picking up consent state and reacting to it (see GET /consent-management/v1/consents/{consentId}) is therefore central to any integration.

Where Cumbuca fits in

Cumbuca acts as the regulatory plumbing for institutions that want to participate as data receivers without having to build the full FAPI-BR stack in-house. The two-prefix structure you'll see throughout this reference reflects that:

The rest of this document is the API reference for those two layers.

Overview

The API surface is organized in three groups, all served under the same PARTNER_BASE_URL unless noted otherwise:

  • /consent-management/...: Cumbuca orchestration endpoints. Internally chain DCR → Token → Consent creation → PAR → Redirect URL, so the client only needs to call a single HTTP endpoint per business operation.
  • /open-finance/...: transparent proxy to the regulated Open Finance Brasil APIs. mTLS, JWS request/response signing, and other regulatory plumbing are handled by the proxy.
  • https://[sandbox.]directory.openbankingbrasil.org.br/participants: the official OF Brasil participants directory. Surfaced through the Cumbuca API as /consent-management/v1/participants.
Environments: Two directories are exposed (sandbox and production), selected via configuration. Sandbox should be used for conformance suite testing and all non-production traffic.

How Access Works

Authentication to the Cumbuca API is built on two layers:

  • mTLS: every connection rides on a mutually authenticated TLS handshake against the Cumbuca CA.
  • Bearer access token: obtained from POST /auth/v1/token and sent as Authorization: Bearer <access_token> on every call. Required for every endpoint in this reference except the two auth endpoints themselves.

Beyond those two layers, the only piece of state the client carries from one call to the next is the consentId, which scopes the request to a specific authorised consent.

Obtaining an access token
  1. Client calls POST /auth/v1/token over mTLS with its credentials. The response carries an access_token, a short-lived expires_in, and a long-lived refresh_token.
  2. The client sends Authorization: Bearer <access_token> on every subsequent call.
  3. When the access token expires, the client calls POST /auth/v1/token with grant_type=refresh_token to obtain a new access token without re-submitting credentials.
Onboarding note: valid credentials are not enough on their own; the client_id must also be provisioned on the Cumbuca side. Until it is, you can still obtain tokens, but every other call fails with 401 UNAUTHORIZED and detail client_id is not provisioned. If you see that detail, contact Cumbuca to complete provisioning; the token itself is fine.
Bootstrapping a consent
  1. Client calls POST /consent-management/v1/consents over mTLS with a valid bearer token.
  2. On 201, Cumbuca returns the regulated payload (data.consentId, data.redirectUrl, data.consent).
  3. The client persists data.consentId for later use.
  4. User is redirected to data.redirectUrl, authorises the consent at the bank, and is redirected back to the client's callbackApplicationUri.
Calling protected resources

On every subsequent call to a consent-protected endpoint (the data reads under /open-finance/... and the consent lookup itself), the client must:

  • Send Authorization: Bearer <access_token>.
  • Send the consentId as the x-consent-id header.
  • Send x-authorisation-server-id identifying the target institution.

Cumbuca resolves the caller from the client_id carried in the bearer token and forwards the request to the regulated API under that client's identity. The upstream response flows back to the client unchanged.

When is x-consent-id required? Every endpoint that operates on an existing consent; that is, every endpoint except GET /consent-management/v1/participants (no consent involved) and POST /consent-management/v1/consents (the call that creates the consent in the first place).
Why this matters: client isolation is enforced by the authenticated client identity, the client_id in the bearer token. Every call is executed under that identity, so a client can't act on another client's data. mTLS remains a transport requirement on every connection (including POST /auth/v1/token); it is not used for per-consent checks.

Common Headers

Every request to the partner API uses some combination of the following headers:

HeaderRequired whenValue
AuthorizationEvery endpoint except POST /auth/v1/tokenBearer <access_token> obtained from the auth endpoints
x-authorisation-server-idEvery regulated call (except auth and GET /consent-management/v1/participants)Authorisation Server ID of the target institution (from the directory)
authorizationServerId querySame endpoints as x-authorisation-server-idQuery-parameter alternative to the header. Takes precedence when both are supplied.
x-consent-idPhase 2 data readsconsentId returned by the consent creation call
content-typePOSTs with a JSON bodyapplication/json

Error Format

The partner returns errors as JSON in the response body for any non-2xx HTTP status. The shape follows the Open Finance Brasil regulated format:

{
  "errors": [
    {
      "code": "INVALID_REQUEST",
      "title": "Validation failed",
      "detail": "data.payment.amount must be a string"
    }
  ]
}

Multiple entries in errors[] are possible when several validation failures are reported in the same response.

Response headers
HeaderMeaning
x-nexus-request-idCorrelation id (UUIDv7) present on every response, success or error, and propagated to the upstream services. Log it and quote it in support tickets.
x-nexus-error-sourcePresent on every error response: client means the gateway rejected your request or credentials (auth, validation, rate limit, 404); upstream means the bank / an upstream service returned the error or failed, including 4xx passed through from the bank; gateway means Cumbuca itself failed. Use it to classify failures without parsing bodies.
Gateway error codes
CodeHTTPMeaningRetry?
UNAUTHORIZED401Missing, malformed, or expired bearer token, or the token's client_id is not provisionedNo; fix credentials / provisioning
INVALID_CLIENT401Missing or invalid Basic credentials on POST /auth/v1/tokenNo
INVALID_GRANT400Token request failed: bad, expired, or reused refresh_token, or the authorisation server is unavailableOnly when the detail is "authorization server unavailable" or "token request failed" (transient authorisation-server problems)
INVALID_REQUEST400Malformed body or missing required field / headerNo
UNSUPPORTED_GRANT_TYPE400grant_type other than client_credentials / refresh_tokenNo
UNSUPPORTED_MEDIA_TYPE415Body with a content-type other than JSON / form-urlencodedNo
RATE_LIMITED429Per-client rate limit exceeded; see Rate limitsYes, after retry-after
NOT_FOUND404No route matches the request (returned only to authenticated callers)No
INTERNAL_ERROR500Unexpected gateway failureYes, with backoff
OPUS_ERRORupstream statusUpstream returned an error whose body could not be relayed as-isDepends on status
OPUS_UNAVAILABLE502Upstream transport failure or timeoutYes (transient)
REGISTER_ERRORupstream statusThe reciprocity store returned an error with an empty or unreadable bodyDepends on status
REGISTER_UNAVAILABLE502The reciprocity store is unreachableYes (transient)
UPSTREAM_ERROR502The shared-consent portal returned a non-2xx responseYes (transient)
UPSTREAM_UNAVAILABLE502The shared-consent portal is unreachableYes (transient)

Errors from the data-holding banks pass through with their original status and their own errors[] entries; tolerate codes beyond the ones listed above.

Shape exception: failures of POST /openid/authorize return 422 with the body {"error", "error_description"}, the only error in this API that does not use the errors[] envelope above.

Deny by default: an unknown or mistyped path returns 401 UNAUTHORIZED when the bearer token is missing or invalid; only authenticated callers get the 404 NOT_FOUND ("no route matches this request"). If a 401 surprises you, check the URL as well as the credentials.

Rate Limits

Requests are rate limited per client_id over a fixed time window shared across all bearer-authenticated endpoints of the API (consents, data reads, everything). When the limit is exceeded the API returns 429 with code RATE_LIMITED and a retry-after response header carrying the integer number of seconds until the window resets; honour it before retrying.

  • POST /auth/v1/token is not rate limited.
  • No x-ratelimit-* headers are emitted on successful responses; the only signal is the 429 itself.
  • Limits are configured per environment (default 600 requests per 60 s), so don't hardcode assumptions; drive backoff from retry-after.

Timeouts & Retries

Calls proxied to the data-holding bank run under an upstream budget of roughly 30 seconds; once it is exhausted the gateway answers 502 (OPUS_UNAVAILABLE). Set client-side timeouts of at least ~35 seconds or you will truncate slow-but-successful responses.

  • GETs may be retried by the gateway itself, only on connection-level failures (max 2 retries, i.e. up to 3 attempts total, no backoff), and are safe for you to retry as well.
  • Writes are never retried by the gateway. A 502 on a POST or PATCH is indeterminate: the operation may or may not have reached the bank. Reconcile with a GET instead of blindly retrying: after an ambiguous failure on POST /consent-management/v1/consents, look the consent up before creating a new one.
  • There is no idempotency-key support; build your own deduplication for writes.
  • 502 / *_UNAVAILABLE errors are transient and retryable. Note that an authorisation-server outage on POST /auth/v1/token surfaces as 400 INVALID_GRANT ("authorization server unavailable"), not as a 5xx.

Callback URIs

Consent-creating endpoints accept a callbackApplicationUri in the request body. After the user authorises (or rejects) the consent on the user's bank, the bank redirects them back to that URI carrying status query parameters. Each business flow conventionally uses its own callback path so the redirect handler can route appropriately:

FlowSuggested callbackApplicationUri
Data sharinghttps://<your-host>/consent/callback

Quickstart - Data Sharing

End-to-end flow for reading data from a user's bank account: ask consent, pick one account, and pull its transactions.

  1. Get an access token: call POST /auth/v1/token with your credentials over mTLS. Keep the returned access_token for the calls below, and the refresh_token for when the access token expires (call this same endpoint with grant_type=refresh_token). Every call from here on must carry Authorization: Bearer <access_token>.
  2. Pick the user's bank: call GET /consent-management/v1/participants?role=DADOS&familyType=accounts to let the directory filter server-side: role=DADOS keeps only data-sharing institutions and familyType=accounts keeps only those exposing the accounts APIs you'll read below. Capture the chosen authorisationServerId.
  3. Create the data-sharing consent: call POST /consent-management/v1/consents with the user's document and the permissions you need (at minimum ACCOUNTS_READ, ACCOUNTS_TRANSACTIONS_READ, and RESOURCES_READ). You'll get back a consentId and a redirectUrl.
  4. Send the user to the bank: redirect the browser to the returned redirectUrl. The user authenticates and authorises the sharing on the bank's site, then is redirected back to your callbackApplicationUri.
  5. Complete the authorisation: when the bank redirects back to your callbackApplicationUri, capture the full query string (it contains code, id_token, and state). POST it to POST /openid/authorize in the body's data field. A 204 No Content response means Cumbuca has validated the code with the bank and the consent is now being authorised.
  6. Confirm the consent is authorised: when the callback hits, call GET /consent-management/v1/consents/{consentId} and check status == "AUTHORISED". If it's REJECTED, stop here and show an error.
  7. List the user's accounts: call GET /open-finance/accounts/v2/accounts with the authorised consentId in the x-consent-id header. Pick the accountId you want to read from (e.g. the first checking account).
  8. Read the transactions: call GET /open-finance/accounts/v2/accounts/{accountId}/transactions using the same headers. The response contains the transaction history under data[].

The same pattern (list endpoint → pick id → fetch sub-resource) applies to every other data family: credit cards, loans, investments, and so on. Just request the matching permissions in step 2 and call the appropriate endpoints from the Data Consumption reference.

Authentication

All endpoints in this reference (except the one below) require an Authorization: Bearer <access_token> header. Access tokens are short-lived; long-lived refresh tokens let the client renew them without re-exchanging credentials.

POST/auth/v1/token

Issues an access token using either the Client Credentials or Refresh Token grant type. This endpoint does not use the Bearer token; instead, send your client credentials as Authorization: Basic base64(client_id:client_secret).

Headers
content-typerequired application/x-www-form-urlencoded
Authorizationrequired Basic <base64(client_id:client_secret)>
Body (form-encoded)
FieldValue
grant_typerequired client_credentials or refresh_token
scopeOptional: space-separated list of scopes. Applies to client_credentials only.
refresh_tokenRequired when grant_type is refresh_token. The token returned by a previous response.
Example
POST /auth/v1/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <base64(client_id:client_secret)>

grant_type=client_credentials
Response (200)
{
  "access_token": "eyJhbGciOi...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "eyJhbGciOi...",
  "refresh_expires_in": 2592000
}

Send the access_token as Authorization: Bearer <access_token> on every subsequent call. Persist the refresh_token securely; it's how you'll renew access without re-submitting credentials.

Directory

GET/consent-management/v1/participants

Returns all institutions registered in the Open Finance Brasil participants directory. Clients should filter by the roles they care about, typically DADOS (data) and CONTA (payments), and by claim Status == "Active".

Headers
Authorizationrequired Bearer <access_token>
Query parameters
role queryFilters entries whose OrgDomainRoleClaims contain the given role, e.g. DADOS (data) or CONTA (payments). Role types are subject to change; check the directory spec for the current list.
familyType queryFilters entries whose ApiResources contain the given ApiFamilyType, e.g. accounts, credit-cards-accounts.

Both filters are applied server-side, so you can narrow the directory before it reaches your client. Example: GET /consent-management/v1/participants?role=DADOS&familyType=accounts.

Response (200)
[
  {
    "CustomerFriendlyName": "Banco X",
    "CustomerFriendlyLogoUri": "https://...",
    "AuthorisationServerIds": ["asid-uuid"],
    "OrgDomainRoleClaims": [
      { "Role": "DADOS", "Status": "Active" },
      { "Role": "CONTA", "Status": "Active" }
    ],
    "ApiResources": [{ "ApiFamilyType": "accounts" }],
    "Organisations": [{ "RegisteredName": "BANCO X S.A." }]
  }
]

Each entry can carry multiple AuthorisationServerIds; treat each one as a separate selectable institution since they may correspond to different brands or product lines under the same legal entity.

POST/openid/authorize

Completes the OAuth 2.0 authorisation loop. After the data provider redirects the user back to your callbackApplicationUri, POST the full callback query string here so Cumbuca can exchange the authorisation code for tokens and finalise the consent. Returns 204 No Content on success.

Headers
Authorizationrequired Bearer token
x-authorisation-server-idrequired
Body
{
  "data": "code=LxSev...&id_token=eyJ...&state=dXJu..."
}

The data field must contain the complete query string exactly as appended to your callbackApplicationUri by the bank.

Response

204 No Content: authorisation complete. No response body.

Response (422)
{
  "error": "authorization_failed",
  "error_description": "authorization could not be completed"
}

Any failure returns 422 with this {error, error_description} shape, the one exception to the error format. This includes the routine case where the user denies the request at the bank: the callback then carries error=access_denied&state=... instead of a code; still POST it here, and the upstream OIDC error (e.g. access_denied) is passed through in the 422 body.

Consent lifecycle. Beyond creation and lookup, three lifecycle operations are available: DELETE /consent-management/v1/consents/{consentId} revokes the consent (returns 204); POST .../consents/{consentId}/authorisation-retry mints a fresh redirectUrl when the original authorisation attempt lapsed (e.g. the user abandoned the bank redirect); and POST .../consents/{consentId}/extends renews an AUTHORISED consent's expiration. This POST alone additionally requires the x-customer-user-agent and x-fapi-customer-ip-address headers, and a companion GET on the same path lists the extension history.

Data Consumption (Phase 2) - Authenticated GETs

All endpoints in this section follow the same shape:

Customers

EndpointNotes
GET /open-finance/customers/v2/personal/identificationsNatural person identification
GET /open-finance/customers/v2/business/identificationsLegal entity identification
GET /open-finance/customers/v2/personal/financial-relationsPersonal financial relationships
GET /open-finance/customers/v2/business/financial-relationsBusiness financial relationships
GET /open-finance/customers/v2/personal/qualificationsPersonal qualifications (income, etc.)
GET /open-finance/customers/v2/business/qualificationsBusiness qualifications

Accounts (Checking / Savings)

EndpointNotes
GET /open-finance/accounts/v2/accountsList accounts
GET /open-finance/accounts/v2/accounts/{accountId}Account details
GET /open-finance/accounts/v2/accounts/{accountId}/balancesBalances
GET /open-finance/accounts/v2/accounts/{accountId}/overdraft-limitsOverdraft limits
GET /open-finance/accounts/v2/accounts/{accountId}/transactionsTransactions

Credit Cards

EndpointNotes
GET /open-finance/credit-cards-accounts/v2/accountsList card accounts
GET /open-finance/credit-cards-accounts/v2/accounts/{id}Card account details
GET /open-finance/credit-cards-accounts/v2/accounts/{id}/billsBills
GET /open-finance/credit-cards-accounts/v2/accounts/{id}/bills/{billId}/transactionsBill transactions
GET /open-finance/credit-cards-accounts/v2/accounts/{id}/limitsCard limits
GET /open-finance/credit-cards-accounts/v2/accounts/{id}/transactionsCard transactions

Credit Operations (4 families)

Generic shape for the scopes loans, financings, invoice-financings, and unarranged-accounts-overdraft:

Endpoint (with {scope})Notes
GET /open-finance/{scope}/v2/contractsList contracts
GET /open-finance/{scope}/v2/contracts/{contractId}Contract details
GET /open-finance/{scope}/v2/contracts/{contractId}/paymentsPayment history
GET /open-finance/{scope}/v2/contracts/{contractId}/scheduled-instalmentsScheduled instalments
GET /open-finance/{scope}/v2/contracts/{contractId}/warrantiesCollateral / warranties

Investments (5 families)

Scopes: bank-fixed-incomes, credit-fixed-incomes, variable-incomes, treasure-titles, funds.

EndpointNotes
GET /open-finance/{scope}/v1/investmentsList investments
GET /open-finance/{scope}/v1/investments/{id}Investment details
GET /open-finance/{scope}/v1/investments/{id}/balancesBalances
GET /open-finance/{scope}/v1/investments/{id}/transactionsHistorical transactions
GET /open-finance/{scope}/v1/investments/{id}/transactions-currentCurrent-period transactions

Exchanges (FX)

EndpointNotes
GET /open-finance/exchanges/v1/operationsList FX operations
GET /open-finance/exchanges/v1/operations/{operationId}Operation details
GET /open-finance/exchanges/v1/operations/{operationId}/eventsOperation events

Resources (discovery)

EndpointNotes
GET /open-finance/resources/v3/resourcesLists every resource the consent grants access to

Reciprocity

As a data receiver you are also expected to make your own account holders' registration data available to the ecosystem (reciprocidade). The write below populates the reciprocity store Cumbuca serves on your behalf: once a customer is registered, other Open Finance participants querying your institution get a positive account-holder check and the registered identification data.

PUT/personal/identifications/register

Registers (or updates) the personal-identification record of one of your account holders. Writes are idempotent upserts keyed by the customer's CPF and attributed to the client_id in your bearer token. Call it when a customer becomes an account holder and whenever their registration data changes. Records you write here always take precedence over the gateway's automatic reciprocity registration.

Headers
Authorizationrequired Bearer <access_token>
content-typerequired application/json
Body

An Open Finance personal-identification record, forwarded as-is. Validation requires documents.cpfNumber (exactly 11 digits) plus the top-level fields updateDateTime, personalId, brandName, civilName, birthDate, hasBrazilianNationality, and contacts (an object; its postalAddresses[], phones[] and emails[] arrays are optional and stored when present).

Response (201)
{
  "data": { "cpf": "12345678901" }
}

Errors: 400 "Missing or invalid required fields"; 422 when your tenant delegates reciprocity (nothing is stored at Cumbuca); 502 REGISTER_UNAVAILABLE when the reciprocity store is unreachable.

Delegated clients: if your institution answers reciprocity lookups from its own service instead of registering data with Cumbuca, do not call this endpoint; see the reciprocity guide.

Consent Management

Lets the end user view, manage, and revoke all the consents they've authorised for the client. The call returns a one-time URL; redirect the user there to open the management portal. See also Reciprocity for the register write that keeps your own account holders' data available to the ecosystem.

POST/management/result

Returns a one-time URL with an embedded session token. Redirect the end user to that URL to access the consent management portal. You call this endpoint on the gateway (same base URL and Bearer token as every other endpoint in this reference); Cumbuca then signs a PS256 JWT internally and delivers it to the shared-consent portal on your behalf, so your integration never handles the JWT.

Headers
Authorizationrequired Bearer <access_token>
content-typerequired application/json
Body
{
  "document": "12345678901",
  "representativeCpf": "98765432100"
}
Body fields
FieldTypeNotes
documentstringrequired The end user's CPF (11 digits) or CNPJ (14 digits)
representativeCpfstringoptional The representative's CPF, only used when document is a CNPJ and a legal-entity representative is acting on behalf of the company
Response (200)
{
  "redirectUrl": "https://.../management/?token=..."
}

The URL is single-use and short-lived. Redirect the user immediately; don't persist it.

Errors: 400 INVALID_REQUEST when document is missing or not a valid CPF (11) / CNPJ (14 digits); 500 INTERNAL_ERROR "Signing unavailable" when the tenant's signing configuration is not provisioned yet (onboarding prerequisite; contact Cumbuca); 502 UPSTREAM_ERROR / UPSTREAM_UNAVAILABLE when the portal failed or was unreachable.

Appendix

Permissions mapping

Open Finance Brasil groups permissions by data category and grouping (the granular sharing unit the user authorises). Each grouping maps to a set of regulated permission strings. RESOURCES_READ must always be included when creating a data-sharing consent.

Role Data category Grouping Permissions
DADOS Registration Registration data (individual) CUSTOMERS_PERSONAL_IDENTIFICATIONS_READ
RESOURCES_READ
Additional information (individual) CUSTOMERS_PERSONAL_ADITTIONALINFO_READ
RESOURCES_READ
Registration data (legal entity) CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ
RESOURCES_READ
Additional information (legal entity) CUSTOMERS_BUSINESS_ADITTIONALINFO_READ
RESOURCES_READ
Accounts Balances ACCOUNTS_READ
ACCOUNTS_BALANCES_READ
RESOURCES_READ
Limits ACCOUNTS_READ
ACCOUNTS_OVERDRAFT_LIMITS_READ
RESOURCES_READ
Statements ACCOUNTS_READ
ACCOUNTS_TRANSACTIONS_READ
RESOURCES_READ
Credit Card Limits CREDIT_CARDS_ACCOUNTS_READ
CREDIT_CARDS_ACCOUNTS_LIMITS_READ
RESOURCES_READ
Transactions CREDIT_CARDS_ACCOUNTS_READ
CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ
RESOURCES_READ
Bills CREDIT_CARDS_ACCOUNTS_READ
CREDIT_CARDS_ACCOUNTS_BILLS_READ
CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ
RESOURCES_READ
DADOS Credit Operations Contract data LOANS_READ
LOANS_WARRANTIES_READ
LOANS_SCHEDULED_INSTALMENTS_READ
LOANS_PAYMENTS_READ
FINANCINGS_READ
FINANCINGS_WARRANTIES_READ
FINANCINGS_SCHEDULED_INSTALMENTS_READ
FINANCINGS_PAYMENTS_READ
UNARRANGED_ACCOUNTS_OVERDRAFT_READ
UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ
UNARRANGED_ACCOUNTS_OVERDRAFT_SCHEDULED_INSTALMENTS_READ
UNARRANGED_ACCOUNTS_OVERDRAFT_PAYMENTS_READ
INVOICE_FINANCINGS_READ
INVOICE_FINANCINGS_WARRANTIES_READ
INVOICE_FINANCINGS_SCHEDULED_INSTALMENTS_READ
INVOICE_FINANCINGS_PAYMENTS_READ
RESOURCES_READ
DADOS Investments Operation data BANK_FIXED_INCOMES_READ
CREDIT_FIXED_INCOMES_READ
FUNDS_READ
VARIABLE_INCOMES_READ
TREASURE_TITLES_READ
RESOURCES_READ
DADOS Foreign Exchange Operation data EXCHANGES_READ
RESOURCES_READ

Cumbuca Gateway API - Data Sharing.