Skip to main content

Visão geral

A Linka API é uma API REST que permite processar pagamentos PIX, gerenciar saques, consultar extratos e configurar webhooks. Todos os dados financeiros são expressos em centavos (integers) para evitar erros de arredondamento.
No momento, o único método de pagamento disponível é PIX.
Base URL

Autenticação

Todas as requisições são autenticadas via API Key no header x-api-key:
A API Key é gerada por você na tela de Integrações do Dashboard e exibida uma única vez na criação. Veja Autenticação para detalhes.

Valores monetários

Todos os valores monetários são representados em centavos (inteiros, sem decimais):

Identificadores

Os IDs de recursos (transações, saques, disputas) são strings opacas (formato CUID, ex: clxyz1234abcdef). Trate-os como texto, sem assumir formato ou tamanho fixo.

Paginação

Os parâmetros de paginação variam por recurso — consulte cada endpoint. Em resumo: O extrato detalhado (GET /v1/balance-statement/statements) também aceita um cursor — o id do último item da página anterior — mais eficiente que offset para grandes volumes. O envelope de resposta varia por recurso e está documentado em cada endpoint.

Formato de data

Todas as datas seguem o formato ISO 8601:
Filtros de data aceitam o formato YYYY-MM-DD.

Erros

A API retorna erros em um formato JSON padronizado, com código de erro estável no campo erro:

Tabela de códigos HTTP

Códigos de erro comuns

POST/GET /api/v1/cobranca/* (criação, consulta e listagem de transação e saque PIX) é servido por um serviço diferente do restante da API. Erros de validação/negócio nesses endpoints usam o envelope {code, message, correlationID} em vez do {status, erro, mensagem, requestId, timestamp, path} acima. Erros de autenticação (API Key ausente/inválida/revogada) continuam no formato padrão desta seção.

Idempotência

Operações de criação (POST /api/v1/cobranca/transactions, POST /api/v1/cobranca/withdrawals, POST /v1/disputes/appeal) exigem o header Idempotency-Key (UUID v4 recomendado, até 128 caracteres). Comportamento:
  • Repetir a mesma key com o mesmo body retorna a resposta original (mesmo status HTTP), sem reprocessar.
  • Repetir a mesma key com body diferente retorna 422 IDEMPOTENCY_KEY_CONFLICT.
  • Se a requisição original ainda estiver em processamento, retorna 409 IDEMPOTENCY_IN_FLIGHT com Retry-After: 5.
  • A chave é armazenada por 24 horas em POST /api/v1/cobranca/transactions, 72 horas nos demais endpoints acima.
Detalhes em Idempotência.

Rate limits

Os limites padrão por conta (ajustáveis conforme o volume contratado): Ao exceder um limite, a API retorna 429 com código RATE_LIMITED e o header Retry-After indicando quantos segundos aguardar.

Ciclo de vida de uma transação

Veja a máquina de estados completa em Status de Transação.

Ciclo de vida de um saque

Novos status podem ser adicionados a estes fluxos. Trate valores desconhecidos com um fallback — não faça switch exaustivo.