Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.stric.io/llms.txt

Use this file to discover all available pages before exploring further.

A Stric aplica rate limit por API key e por conta. Quando excedido, você recebe 429 RATE_LIMIT_EXCEEDED com o header Retry-After.

Como descobrir seus limites

Use GET /v1/pix-accounts/{id}/rate-limit (referência Rate limit): a resposta traz o fator aplicado à conta (multiplier) e os limites efetivos por rota (effective). O {id} no path é o identificador da conta Pix (pixAccountId): o mesmo id retornado em GET /v1/account, usado nas URLs de webhooks (/v1/pix-accounts/{id}/webhooks…) e que aparece como pixAccountId nos payloads de eventos.
curl "$STRIC_BASE_URL/v1/pix-accounts/{id}/rate-limit" \
  -H "Authorization: Bearer $STRIC_API_KEY"

Estratégia recomendada: exponential backoff

Quando receber 429:
  1. Leia o header Retry-After (em segundos).
  2. Aguarde esse tempo antes de tentar novamente.
  3. Em retries subsequentes, dobre o tempo de espera (com jitter).
  4. Limite o número total de retries (ex.: 5).
async function withBackoff(fn, maxRetries = 5) {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    try {
      return await fn();
    } catch (err) {
      if (err.code !== "RATE_LIMIT_EXCEEDED" || attempt === maxRetries) {
        throw err;
      }
      const base = err.retryAfter ?? Math.pow(2, attempt);
      const jitter = Math.random() * 0.5;
      await new Promise((r) => setTimeout(r, (base + jitter) * 1000));
    }
  }
}

Boas práticas

Para conciliar movimentações, prefira webhooks ao invés de polling. Veja Webhooks.
Resultados da consulta de chave Pix (/v1/dict/lookup) são cacheáveis por algumas horas (você recebe cached: true quando o resultado vem do cache). Tarifas e limites mudam raramente.
Use os parâmetros de paginação dos endpoints de listagem (limit, cursor) em vez de varrer tudo de uma vez.