Ir para o conteúdo
CasePayVoltar ao painel
Você está emAutenticação
Visão geralEscolha o fluxo certo para integrar.AutenticaçãoAPI keys, escopos e idempotência.PIX manualCódigo, QR Code, link e comprovante.PIX InstantâneoCobrança única com link /pay.WebhooksEventos, assinatura e idempotência.EndpointsÍndice compacto da API v1.SwaggerSchemas e respostas em OpenAPI.
Guias
Visão geralEscolha o fluxo certo para integrar.AutenticaçãoAPI keys, escopos e idempotência.PIX manualCódigo, QR Code, link e comprovante.PIX InstantâneoCobrança única com link /pay.WebhooksEventos, assinatura e idempotência.
Referência
EndpointsÍndice compacto da API v1.SwaggerSchemas e respostas em OpenAPI.

Fundamentos da API

Autenticação, escopos e idempotência

A API v1 foi feita para comunicação entre servidores. Use uma API key no header Authorization, conceda somente os escopos necessários e respeite o limite de chamadas de cada chave.

Nesta página

  • Envie a API key
  • Escolha os escopos
  • Respeite o limite de chamadas
  • Evite cobranças duplicadas
  • Interprete erros de acesso

Envie a API key#Link direto para a seção Envie a API key

Todas as rotas públicas usam a base URL abaixo. Crie a chave no painel, em Integrações › Chaves API: ela aparece inteira uma única vez, no momento da criação, e cada workspace pode ter até 5 chaves ativas. Substitua o valor de exemplo pela sua chave.

Headers da requisição

Authorization: Bearer sk_live_sua_chave
Content-Type: application/json

Mantenha a chave no backend

Nunca inclua a API key em JavaScript entregue ao navegador, aplicativos distribuídos ou URLs, e não a envie por WhatsApp ou e-mail. Se uma chave for exposta, revogue-a no painel e gere outra.

Conceda o menor acesso necessário#Link direto para a seção Conceda o menor acesso necessário

Cada chave pertence a um workspace e só acessa os recursos autorizados pelos seus escopos. Por exemplo, manual-pix é selecionável e não é incluído automaticamente em chaves novas ou existentes.

  • manual-pixGera código, QR Code ou link de PIX manual.
  • pix-singleCria cobranças PIX únicas.
  • customersLê, cria e atualiza os clientes do CRM em /api/v1/crm/customers. Só o proprietário do workspace pode conceder este escopo, e os dados seguem as permissões de quem criou a chave.

Não envie workspaceId nem headers internos como x-api-user-id, x-api-key-id ou x-api-workspace-id. O gateway valida a chave e injeta esse contexto internamente.

Respeite o limite de chamadas#Link direto para a seção Respeite o limite de chamadas

Cada API key aceita, por padrão, 60 requisições por minuto. Passou disso, a API responde 429 e diz quanto esperar. Use os cabeçalhos abaixo para acompanhar o consumo e para localizar uma chamada com o suporte.

Cabeçalhos de limite de chamadas e rastreio
CabeçalhoO que informaQuando vem
X-RateLimit-LimitLimite de requisições por minuto da sua API key (padrão: 60).Nas requisições aceitas.
X-RateLimit-RemainingQuantas requisições ainda cabem na janela atual.Nas requisições aceitas; vale 0 quando o limite estoura (429).
Retry-AfterSegundos que você deve esperar antes de tentar de novo.No 429 e nas respostas 409 de operação em processamento.
X-Request-IdIdentificador da requisição. Informe-o ao suporte para localizar a chamada; ele também aparece no registro de uso do painel.Nas respostas das rotas da API v1.

Deslize para o lado para ver toda a tabela.

Espere o Retry-After ao receber 429

const response = await fetch(url, options);

if (response.status === 429) {
  const seconds = Number(response.headers.get("Retry-After") ?? 1);
  await new Promise((resolve) => setTimeout(resolve, seconds * 1000));
  // Tente de novo. Com Idempotency-Key, reutilize a mesma chave.
}

Evite cobranças duplicadas#Link direto para a seção Evite cobranças duplicadas

Em POST /api/v1/payments, Idempotency-Key é opcional. Sem o header, cada chamada cria uma nova cobrança com identificadores gerados pelo CasePay, mesmo com o mesmo body. Para proteger retentativas após timeout ou falha de rede, envie uma chave desde a primeira chamada e reutilize-a com o mesmo body.

Opcional em /payments: chave para proteger retentativas

const idempotencyKey = crypto.randomUUID();
// Persista antes do POST e envie no header Idempotency-Key.
// Reutilize a chave salva nas retentativas da mesma cobrança.
  • Formato: de 8 a 120 caracteres ASCII visíveis, sem espaços (um UUID serve).
  • A chave vale para a API key e o endpoint que a receberam. Se você trocar a API key, a nova não reconhece a chave da antiga: conclua as retentativas pendentes com a mesma API key.
  • Nova cobrança em /api/v1/payments: omita o header ou envie uma nova chave, mesmo com valor e pagador iguais. As chaves fixas dos exemplos são ilustrativas. As demais rotas mantêm os requisitos indicados em suas referências.
  • Mesma chave e mesmo payload: a API devolve a resposta original com Idempotency-Replayed: true, inclusive quando o PIX já foi cancelado, expirou ou foi pago. O status dessa resposta é o da criação; consulte o pagamento para obter o status atual. O corpo é o mesmo da primeira resposta, com os horários também no horário de Brasília (-03:00).
  • Payload diferente com a mesma chave: a API responde 409.
  • Operação ainda em processamento: respeite Retry-After antes de consultar novamente.

Interprete erros de acesso#Link direto para a seção Interprete erros de acesso

Erros de autenticação e acesso
StatusO que verificar
401Chave ausente, inválida ou revogada.
403Workspace, escopo ou recurso sem acesso.
429Limite excedido; aguarde o Retry-After.
Consultar todos os endpoints →Explorar schemas no Swagger →