Errores
El objeto de error
Cada fallo tiene la misma forma, sea cual sea la causa:
403
{
"error": {
"code": "scope_required",
"message": "This key is not allowed to perform that action.",
"details": {
"scope": "keywords:write"
}
},
"request_id": "req_d3428e686099bb0e"
}code
| Estado | code | Significado |
|---|---|---|
| 401 | missing_api_key | No se envió ninguna clave |
| 401 | invalid_api_key | No existe tal clave; busca una errata |
| 401 | key_revoked | La clave existía y fue revocada; habla con quien la emitió |
| 402 | plan_limit | Se alcanzó un límite del plan. details.resource es targets o keywords, con limit y current |
| 403 | scope_required | A la clave le falta un ámbito; details.scope lo indica |
| 404 | not_subscribed | No monitorizas esa cuenta; una resolución fallida añade details.state: "failed", details.reason y details.failed_at |
| 404 | user_not_found | X no tiene tal cuenta: nunca se registró, se eliminó o se desactivó |
| 404 | user_suspended | X ha suspendido esta cuenta |
| 404 | user_protected | Las publicaciones de la cuenta están protegidas (solo seguidores aprobados), así que no se puede monitorizar |
| 404 | tweet_not_found | No existe tal publicación, o ha sido eliminada |
| 404 | not_found | No existe tal recurso |
| 409 | idempotency_key_reuse | La misma Idempotency-Key ya se usó con una solicitud distinta |
| 409 | conflict | El recurso está en un estado que impide el cambio; details.reason dice por qué |
| 422 | invalid_request | El cuerpo o la consulta no pasaron la validación. Como 422, details.fields indica cada campo problemático; como 400, un valor que pudimos analizar pero no aceptar |
| 429 | rate_limited | Tu presupuesto de solicitudes por minuto se agotó; Retry-After dice cuándo |
| 429 | quota_exhausted | Se alcanzó el límite del servicio de origen para esa lectura; Retry-After dice cuándo |
| 502 | upstream | X no respondió como se esperaba. Suele ser transitorio; reintenta |
| 500 | internal | Culpa nuestra. Envíanos el request_id |