/v1/* retornam erros em JSON padronizado.
Envelope de erro (API pública)
Status HTTP frequentes
Códigos de domínio
Erros em jobs failed
Quando um job falha, GET /jobs/{jobId} retorna status: "failed" com:
error.message em jobs falhos pode repetir o código — prefira error.code para lógica.
Validação de body
Campos inválidos retornam422 com validation_error. Exemplos:
urlausente emPOST /media/resolveurlemedia_idausentes emPOST /media/downloadformatausente no downloadurlcom mais de 2048 caracteres
Rate limiting global (IP)
Além dos limites por API key, a infraestrutura aplica limites por IP antes do router/v1:
- 100 req/min por IP
- 30 req/5s por IP (burst)
error.api.rate_limited) sem request_id. Em integrações normais server-to-server, o limite por chave é o relevante.
Boas práticas
- Registre sempre
request_idnos logs do seu servidor ao tratar erros5xx - Não interprete
messagecomo API estável — prefiraerror.code - Em polling de jobs, trate
404como job expirado ou inexistente unsupported_platformeinvalid_urlnão devem ser retentados