Erros e limites
Cada código de erro da API pública, a tabela de limites por plano, e o que acontece quando você os ultrapassa.
Uma única forma de erro, um único lugar para consultar cada código.
Toda falha de /api/v1 responde com a mesma forma de corpo:
{
"error": "TEMPLATE_NOT_FOUND",
"message": "No Template with this id exists for this account."
}Decida com base no campo error, nunca no texto da mensagem — a mensagem é para uma pessoa lendo logs, não para seu código interpretar.
Todos os códigos de erro
| Código | Status | Mensagem |
|---|---|---|
API_KEY_INVALID | 401 | The API Key is malformed, unknown, revoked, or its account is inactive. |
API_KEY_MISSING | 401 | Send the API Key as an `Authorization: Bearer` header. |
CONCURRENCY_LIMIT_REACHED | 429 | This account already has the maximum number of Runs in flight for its plan. |
EXPORT_LIMIT_REACHED | 402 | This account has used its Quota for the current billing period. |
FILE_TOO_LARGE | 413 | The uploaded file exceeds this plan's upload size ceiling. |
IDEMPOTENCY_KEY_REUSED | 409 | This `Idempotency-Key` was already used for a different request. |
INSUFFICIENT_SCOPE | 403 | The API Key does not carry the scope this operation requires. |
INVALID_IDEMPOTENCY_KEY | 422 | `Idempotency-Key` must be 1-255 printable characters. |
INVALID_PARSE_PARAMS | 422 | `delimiter` must be one printable character; `header_row` must be a non-negative integer within the row ceiling. |
MALFORMED_FILE | 400 | The file could not be read: it is empty, corrupt, or not encoded as expected. |
NO_SUBSCRIPTION | 403 | This account has no active subscription. |
RATE_LIMITED | 429 | This account has exceeded its request rate limit for this operation. |
ROW_LIMIT_EXCEEDED | 413 | The uploaded file exceeds this plan's row ceiling. |
RUN_NOT_FOUND | 404 | No Run with this id exists for this account. Runs are kept 30 minutes and are lost if the service restarts. |
SERVER_BUSY | 503 | This worker is at its memory budget; retry shortly. |
TEMPLATE_COLUMNS_MISSING | 422 | The uploaded file is missing one or more columns this Template's operations require. |
TEMPLATE_NOT_FOUND | 404 | No Template with this id exists for this account. |
UNSUPPORTED_FILE_TYPE | 415 | This file type is not supported. |
Cota e concorrência
Ultrapassar as execuções mensais do seu plano responde 402 EXPORT_LIMIT_REACHED, com um objeto quota (usado, limite, quando reinicia). Iniciar mais execuções ao mesmo tempo do que a concorrência do seu plano permite responde 429 CONCURRENCY_LIMIT_REACHED. Enviar solicitações mais rápido do que o ritmo da sua conta permite responde com um segundo código, distinto, 429 RATE_LIMITED. Um worker no seu limite de memória responde 503 SERVER_BUSY — tente de novo em breve.
Toda resposta de /api/v1 carrega os cabeçalhos X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset para a janela em que essa solicitação foi verificada, para que um script possa desacelerar antes de ser recusado.
O que não custa nada
Listar modelos e consultar o status ou o resultado de uma execução nunca gastam sua cota mensal. Só conta uma execução que termina e devolve um arquivo — uma recusada, malsucedida, expirada, interrompida ou repetida de forma idempotente nunca é cobrada.
Limites por plano
| Plano | Linhas por arquivo | Execuções por mês | Modelos | Arquivos unidos por mês | Execuções simultâneas | Tamanho de envio |
|---|---|---|---|---|---|---|
| Free | 5,000 | 5 | 2 | 0 | 1 | |
| Pro | 100,000 | 50 | 10 | 5 | 2 | |
| Business | 500,000 | Ilimitado | Ilimitado | Ilimitado | 3 | |
| Enterprise | 1,000,000 | Ilimitado | Ilimitado | Ilimitado | 5 |
O detalhe completo de cada plano está na página de preços.