Inicialização
O construtor aceita a chave de forma posicional ou um objeto de configuração.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 umoptions 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 headerIdempotency-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.idempotencyKeypara controlar a chave explicitamente, recomendado em operações de efeito colateral pesado, comopayouts.runoureprocess.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 emerror.requestId nos erros, útil para suporte. Veja Erros.