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

EstadocodeSignificado
401missing_api_keyNo se envió ninguna clave
401invalid_api_keyNo existe tal clave; busca una errata
401key_revokedLa clave existía y fue revocada; habla con quien la emitió
402plan_limitSe alcanzó un límite del plan. details.resource es targets o keywords, con limit y current
403scope_requiredA la clave le falta un ámbito; details.scope lo indica
404not_subscribedNo monitorizas esa cuenta; una resolución fallida añade details.state: "failed", details.reason y details.failed_at
404user_not_foundX no tiene tal cuenta: nunca se registró, se eliminó o se desactivó
404user_suspendedX ha suspendido esta cuenta
404user_protectedLas publicaciones de la cuenta están protegidas (solo seguidores aprobados), así que no se puede monitorizar
404tweet_not_foundNo existe tal publicación, o ha sido eliminada
404not_foundNo existe tal recurso
409idempotency_key_reuseLa misma Idempotency-Key ya se usó con una solicitud distinta
409conflictEl recurso está en un estado que impide el cambio; details.reason dice por qué
422invalid_requestEl 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
429rate_limitedTu presupuesto de solicitudes por minuto se agotó; Retry-After dice cuándo
429quota_exhaustedSe alcanzó el límite del servicio de origen para esa lectura; Retry-After dice cuándo
502upstreamX no respondió como se esperaba. Suele ser transitorio; reintenta
500internalCulpa nuestra. Envíanos el request_id