Errores y límites
Errores
Todos tienen la misma forma:
{
"error": {
"type": "permission_error",
"code": "not_team_member",
"message": "No tienes acceso a este equipo."
},
"request_id": "req_8f2a4c1b9e6a1d34"
}El request_id también viene en la cabecera X-Request-Id. Si algo va mal y no
sabes por qué, mándanoslo: con él podemos encontrar exactamente qué pasó.
type | HTTP | Cuándo |
|---|---|---|
invalid_request_error | 400 | El cuerpo o los parámetros no son válidos |
authentication_error | 401 | Falta la key, o está revocada o expirada |
permission_error | 403 | La key no tiene el scope, o tu rol no alcanza |
not_found_error | 404 | No existe |
rate_limit_error | 429 | Demasiadas peticiones, o cuota de IA agotada |
api_error | 500 | Fallo nuestro |
Un detalle a propósito: pedir un equipo al que no perteneces devuelve 403, no
404. Si devolviéramos 404 solo cuando el equipo no existe, la API se convertiría
en una forma de averiguar qué equipos existen.
Límites de peticiones
Por minuto, según el plan del equipo mejor posicionado al que perteneces:
| Plan | Peticiones por minuto |
|---|---|
| Free | 30 |
| Essential | 60 |
| Pro | 120 |
| Max | 300 |
Cada respuesta te dice cómo vas:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1784553600Si te pasas, la API responde 429 con Retry-After (en segundos) además de las
cabeceras de arriba.
Cuota de IA
Los endpoints de IA (/ai/ask, /ai/plan-sprint) y las herramientas ask_team y
plan_sprint_from_text consumen la misma cuota mensual de IA que la app. No hay
un contador aparte, ni cargos sorpresa: cuando se agota, se agota, y la API devuelve
429 con code: quota_exceeded.
Puedes ver cuánto te queda:
curl https://notiq.online/api/v1/teams/TEAM_ID/usage \
-H "Authorization: Bearer ntq_sk_tu_key"Paginación
Las listas se paginan con un cursor:
curl "https://notiq.online/api/v1/teams/TEAM_ID/activities?limit=50" \
-H "Authorization: Bearer ntq_sk_tu_key"{
"data": [ … ],
"has_more": true,
"next_cursor": "a3f1…"
}Para la siguiente página, pasa ese cursor en starting_after. El máximo de limit
es 100; el valor por defecto, si no lo mandas, es 25.
¿Eres un agente? Esta página también está en Markdown, y hay un índice para modelos.