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.Autenticação
Todas as requisições são autenticadas via API Key no headerx-api-key:
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:YYYY-MM-DD.
Erros
A API retorna erros em um formato JSON padronizado, com código de erro estável no campoerro:
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_FLIGHTcomRetry-After: 5. - A chave é armazenada por 24 horas em
POST /api/v1/cobranca/transactions, 72 horas nos demais endpoints acima.
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
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.