API pública Condoa

v1.0.0

OAuth 2.0 client credentials, webhooks assinados, cobranças PIX e boleto em uma única chamada, ledger completo. Tudo escopado por condomínio.

Começando

  1. 1. Crie seu sandbox para obter um client_id e um client_secret (mostrado uma única vez) vinculados a um condomínio de teste.
  2. 2. Troque por um access token em POST /api/v1/oauth/token com grant_type=client_credentials.
  3. 3. Envie o header Authorization: Bearer <token> em todas as chamadas seguintes.
  4. 4. Em requisições que mudam estado, mande Idempotency-Key: <ulid> para poder repetir com segurança em caso de falha de rede (janela de 24h).

Headers

Headers comuns a toda a API. Authorization e Content-Type são de chamada; os demais a Condoa emite (ou aceita) para te dar correlação de logs e segurança contra dupla cobrança.

HeaderDireçãoQuando usar
AuthorizationEnviaBearer <access_token> em toda chamada autenticada. Tokens valem 1h, renovados em /oauth/token.
Content-TypeEnviaapplication/json em requisições com corpo, exceto multipart/form-data no upload de extrato bancário.
Idempotency-KeyEnvia Opcional, recomendado em POST/PUT/PATCH/DELETE. ULID ou string [A-Za-z0-9_-]{1,255}. Janela de 24h. Reuso com corpo diferente retorna 409 idempotency_conflict.
X-Request-IdEnvia + recebe Opcional. Caller pode mandar (sanitizado para [A-Za-z0-9_-]{1,64}); senão a Condoa gera uma ULID. Sempre ecoado na resposta. Use para correlacionar com nossos logs em caso de incidente.
Idempotency-ReplayedRecebe1 quando a resposta veio do cache de idempotência (não executou a operação de novo).
X-RateLimit-LimitRecebe Teto da janela atual: 600 req/min por token, 60 req/min por IP sem token.
X-RateLimit-RemainingRecebe Quantas requisições ainda cabem na janela.
Retry-AfterRecebe Segundos a esperar antes da próxima tentativa quando vier 429 Too Many Requests.

Escopos

Cada token é vinculado a um condomínio e a um conjunto de escopos. Peça apenas o que for usar.

EscopoO que libera
invoices.read / .writeCobranças, items, payment options, inadimplência, índices monetários
expenses.read / .writeDespesas, parcelas, anexos, dados de pagamento do fornecedor
cadastros.read / .writeCondomínios, blocos, unidades, moradores, veículos, funcionários, fornecedores
bank.read / .writeContas bancárias, movimentos, conciliação, importação de extrato
plano-de-contas.read / .writePlano de contas, lançamentos, transferências, períodos
webhooks.manageAssinaturas de webhooks

Referência

A documentação é organizada por área. Cada página lista os endpoints daquela área com exemplos prontos em curl, JavaScript, PHP e Laravel.