Formato
<modo>étestoulive. Chaves de teste rodam o happy path completo contra uma instância de pagamento sandbox — KYB e KYC do comprador aprovam automaticamente e nenhum dinheiro real se move. Chaves de produção executam contra trilhos reais. Veja Ambientes.<id>é a metade pública de lookup — seguro para logar.<segredo>aparece exatamente uma vez na criação. A Caratuva guarda apenas um hash com salt; o texto plano não é recuperável. Se perder, revogue a chave e crie uma nova.
Header
Emitir uma chave
scopes é opcional. Omitir (ou passar []) emite uma chave irrestrita — útil para a chave de bootstrap mas não recomendado para integrações com escopo restrito. Veja Escopos abaixo para os valores disponíveis.
Resposta (o campo secret é o único lugar onde a chave inteira aparece):
secret no cofre imediatamente. Chamadas subsequentes a GET /v1/api-keys retornam apenas os metadados — nunca o segredo.
Listar chaves
Revogar uma chave
Rotação
Não há endpoint de rotação in-place para chaves de API (diferente de segredos de webhook). O procedimento de rotação é:POST /v1/api-keyspara criar a nova chave.- Deploy da nova chave no integrador.
DELETE /v1/api-keys/<old-id>para revogar.
lastUsedAt para você confirmar que a nova chave está em uso antes de revogar a antiga.
Escopos
Chaves de API são gateadas por escopo por rota. Uma requisição com chave escopada faltando o escopo necessário retorna403 InsufficientScope. Escopos disponíveis:
| Escopo | Concede |
|---|---|
payment_intents:write | POST /v1/payment-intents, cancel |
payment_intents:read | GET /v1/payment-intents/:id |
invoices:write | POST /v1/invoices, cancel, invite-buyer |
invoices:read | GET /v1/invoices, GET /v1/invoices/:id |
webhooks:write | POST /v1/webhook-subscriptions, delete, rotate-secret |
webhooks:read | GET /v1/webhook-subscriptions, deliveries |
api_keys:write | POST /v1/api-keys, revoke |
connected_accounts:write | POST /v1/connected-accounts, tos, upload-url, submit, payout-config |
connected_accounts:read | GET /v1/connected-accounts, GET /v1/connected-accounts/:id |
webhooks:write geralmente é desnecessário.)
Nota de retrocompatibilidade
Chaves emitidas antes dos escopos existirem têmscopes = [], o que a Caratuva trata como irrestrito para preservar o comportamento existente delas. Para migrar, emita uma nova chave com escopos explícitos, faça deploy, depois revogue a sem escopo.
Teste vs. produção
Use chavespk_test_* contra ambientes de staging e CI. Chaves de teste são marcadas no principal autenticado como testMode: true. O fluxo inteiro — KYC do comprador, coleta de pagamento, transferência internacional, câmbio e repasse PIX — roda contra uma instância de pagamento sandbox: KYB e KYC do comprador aprovam automaticamente e nenhum dinheiro real se move. Chaves de produção batem em trilhos de produção; nunca use fora de produção. Veja Ambientes para o modelo completo de modos.