Skip to main content

Inicialização

O construtor aceita a chave de forma posicional ou um objeto de configuração.
Se nenhuma chave for passada nem encontrada em REPASS_API_KEY, o construtor lança um RepassError com code: "missing_api_key".

Opções do client

string
Chave da organização (rstr_…). Default: process.env.REPASS_API_KEY. Determina o tenant no servidor.
string
default:"https://api.userepass.com"
URL base da API.
number
default:"60000"
Tempo máximo por requisição, em milissegundos. Ao estourar, a requisição é abortada e lança RepassTimeoutError.
number
default:"2"
Retentativas em 429, 5xx e falhas de rede, com backoff exponencial e jitter (respeita Retry-After).
(url, init) => Promise<Response>
Implementação de fetch a usar. Default: globalThis.fetch. Útil para testes ou runtimes específicos.
Record<string, string>
Headers padrão enviados em todas as requisições.
"bearer" | "api-key"
default:"bearer"
Como a chave é enviada: bearer (Authorization: Bearer …) ou api-key (header x-api-key).

Opções por requisição

Todo método aceita um options final do tipo RequestOptions, que sobrepõe os defaults do client para aquela chamada:
string
Valor do header Idempotency-Key. Recomendado em POSTs sensíveis (ver abaixo).
AbortSignal
Aborta a requisição quando o signal dispara (compõe com o timeout).
number
Sobrescreve o timeout só para esta requisição.
number
Sobrescreve o número de retentativas só para esta requisição.
Record<string, string>
Headers extras só para esta requisição.
Exemplo

Idempotência e retries

POSTs aceitam o header Idempotency-Key (escopo por organização + usuário, TTL de 24h): repetir a mesma chave com o mesmo corpo devolve a resposta original. Veja Idempotência.
  • Passe options.idempotencyKey para controlar a chave explicitamente, recomendado em operações de efeito colateral pesado, como payouts.run ou reprocess.execute.
  • Quando maxRetries > 0, o SDK gera automaticamente uma chave para POSTs sem chave, tornando o retry seguro (não duplica o efeito).
Requisições idempotentes por natureza (GET, PUT, DELETE) são re-tentadas livremente. POST/PATCH só são re-tentados quando há chave de idempotência. Uploads multipart (invoices.submit) nunca são re-tentados automaticamente.

ID da requisição

Quando a API retorna o header de request id, ele fica disponível em error.requestId nos erros, útil para suporte. Veja Erros.