---
title: "Lista contas bancárias do workspace da chave"
method: GET
path: "/api/v1/accounts"
tags: ["Contas"]
---

# Lista contas bancárias do workspace da chave

`GET /api/v1/accounts`

## Request

- Base URL: `https://snabber.com.br`
- URL: `https://snabber.com.br/api/v1/accounts`
- Auth: HTTP bearer

Retorna as contas (bancárias, cartão de crédito, investimento) do workspace vinculado à chave de API.

## Query parameters

- `workspace_id` integer
- `type` 'BANK' | 'CREDIT' | 'INVESTMENT'

## Response `200`

Lista de contas

- AccountList
  - `data` Account[]
    - `id` integer
    - `name` string, nullable
    - `account_number` string, nullable
    - `type` string, nullable
    - `subtype` string, nullable
    - `balance` number, nullable
    - `currency_code` string
    - `credit_limit` number, nullable
    - `available_credit_limit` number, nullable
    - `statement_closing_date` integer, nullable
    - `payment_due_date` integer, nullable
    - `institution` object
      - `name` string, nullable
      - `logo_url` string, nullable
    - `is_connected` boolean
    - `provider_updated_at` string, date-time, nullable: Quando o parceiro de Open Finance atualizou os dados desta conta junto à instituição. É este o campo que indica a idade do saldo — `updated_at` diz apenas quando o registro foi gravado na Snabber, o que pode ser bem depois. Nulo em conta manual/importada ou enquanto a conexão não passou por uma sincronização após a introdução do campo. Ressalva: é a informação que o parceiro reporta sobre a própria atualização dele; a instituição ainda pode ter servido dado mais antigo por trás disso.
    - `sync` object, nullable: Estado da sincronização Open Finance desta conta. Nulo em conta manual/importada. Use junto com `provider_updated_at`: este bloco diz se o dado está estável, aquele campo diz de quando ele é.
      - `state` 'ok' | 'syncing' | 'error' | 'needs_reconnection': `ok` = em dia, nada em andamento. `syncing` = sincronização rodando agora, o saldo pode estar em trânsito. `error` = a última sincronização não completou (falhou ou foi interrompida no meio), então o saldo pode estar gravado sem que as transações tenham chegado inteiras; este estado permanece até que uma sincronização conclua com sucesso — na prática, até a próxima atualização automática do parceiro disparar uma nova — então pode continuar por um tempo numa conexão que já voltou a funcionar. Leia junto com `last_completed_at` para saber de quando é o último ciclo completo. `needs_reconnection` = a conexão precisa de ação do usuário no app, e o dado vai envelhecer até isso ser feito. Valores podem ser acrescentados no futuro: trate um valor desconhecido como `ok`, que é o comportamento padrão desta API.
      - `last_completed_at` string, date-time, nullable: Última sincronização concluída com sucesso. Só avança quando a sincronização foi até o fim e importou dados — uma que morreu no meio não mexe neste carimbo, então ele nunca indica um sucesso que não houve.
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `pagination` Pagination
    - `limit` integer
    - `has_more` boolean
    - `next_cursor` string, nullable
  - `meta` object
    - `workspace_id` integer

## Other responses

- `401`: Chave de API ausente, inválida, revogada ou expirada
- `403`: Plano do usuário não tem acesso à API (downgrade para free)
- `429`: Limite de requisições excedido

---

[API](https://skmtc.dev/snabber/apis/snabber-api.md) · [All operations](https://skmtc.dev/snabber/apis/snabber-api/llms.txt) · [OpenAPI document](https://skmtc.dev/snabber/apis/snabber-api/revisions/bf5841cbd8ce?raw)
