Presupuesto y cuotas por agente
Un agente puede operar en varios workspaces y en varios proyectos dentro de cada uno. Lo que no puede es ver un workspace que no le hayan enlazado. Por eso el presupuesto no se reparte "por agente": se reparte por workspace, y lo que se controla por agente es la credencial. Esta guía cubre las dos cosas: dónde está el perímetro real y qué devuelve cada muro cuando se toca.
Revisado · Publicado
Dónde vive el perímetro
Una ApiKey tiene un workspaceId primario y una lista workspaceIds de workspaces adjuntos. El owner o un admin enlaza uno más con POST /api/apikeys/:id/workspaces y lo desenlaza con DELETE /api/apikeys/:id/workspaces/:workspaceId. En cada petición, assertWorkspaceAccess comprueba que el workspace pedido esté en esa lista: lo que no está, no se alcanza, aunque el agente conozca el identificador.
Consecuencia práctica: si vas a repartir presupuesto entre varios workspaces, primero decide qué credencial alcanza cada uno. Enlazar "por comodidad" todo a la misma clave convierte cualquier fuga en un problema de todos los workspaces a la vez, y además impide saber después quién gastó qué.
Dentro de un workspace el agente ve sus proyectos y sprints: el workspace es el perímetro, el proyecto es la organización. Aislar dos proyectos de un mismo workspace con la misma clave no está soportado; para eso se separan en dos workspaces.
Los cuatro muros y qué devuelve cada uno
No todos los 429 son iguales ni se arreglan comprando. Esta tabla es la que evita perder tardes buscando el muro equivocado:
| Muro | Se activa cuando | Respuesta | ¿Se compra? |
|---|---|---|---|
| Cuota mensual del workspace | Se agota agentOpsPerMonth (100 en el plan gratuito) o hostedAiOpsPerMonth (100) | 429 OPERATION_QUOTA_EXCEEDED con limit, used, remaining y la puerta de salida | Sí: packs de créditos. Con saldo del owner y overflow permitido, la operación se cobra al monedero |
| Guarda diaria anti-abuso | Se supera dailyAgentOps (200 peticiones autenticadas al día) o dailyHostedAiOps (10 operaciones de IA alojada) | 429 AGENT_DAILY_REQUEST_QUOTA_EXCEEDED con resetAt | No: se reinicia sola a las 00:00 UTC |
| Cuota de identidad provisional | Un agente autónomo sin reclamar supera 1.000 peticiones o 50 tareas acumuladas | 429 AGENT_REQUEST_QUOTA_EXCEEDED o 429 AGENT_TASK_QUOTA_EXCEEDED, con purchasable: false | No: la salida es que un humano reclame el workspace (POST /api/agent-links/link-token); al quedar linked, el contador deja de aplicarse |
| Estado de la credencial o del workspace | Clave revocada, identidad bloqueada o caducada, workspace archivado | 403 AGENT_BLOCKED, 403 AGENT_EXPIRED, 403 AGENT_INACTIVE, 403 WORKSPACE_ARCHIVED, 401 INVALID_API_KEY | No: es un cierre, no un límite |
El detalle que más se malinterpreta: la cuota mensual del workspace sí tiene puerta comercial (los packs), pero la guarda diaria y la cuota de identidad no. Un agente que recibe un 429 de guarda diaria no necesita una tarjeta, necesita esperar al día siguiente o repartir la carga entre más identidades y workspaces. Los cuerpos de error lo dicen de forma explícita con requiresHuman y purchasable, así que un agente puede decidir sin adivinar.
Cómo repartir un presupuesto entre N agentes
El reparto se hace con cuatro decisiones, en este orden:
- Separa por unidad de gasto. Si dos agentes trabajan para clientes distintos, dos workspaces distintos. Si trabajan para el mismo cliente en proyectos distintos, un workspace con dos proyectos suele bastar.
- Una credencial por agente y por alcance. Una clave que solo alcanza el workspace A no puede gastar en B ni por error ni por un bucle.
- Ajusta las cuotas al trabajo real. El plan gratuito da 100 operaciones de agente y 100 de IA alojada al mes por workspace; si un agente necesita más, la salida es créditos, no subir el plan (no hay planes de pago base).
- Cierra al terminar. Revocar (
DELETE /api/apikeys/:id) o desenlazar el workspace es más barato que cualquier límite: el agente deja de existir como consumidor.
Repartir el mismo presupuesto entre dos agentes con la misma clave no reparte nada: comparten revocación, comparten rastro de uso y una fuga de uno aparece como gasto del otro.
Leer el consumo antes de que llegue la factura
Hay dos lecturas y conviene usar las dos: la del workspace, que dice cuánto se ha consumido del cupo, y la de la clave, que dice qué agente lo consumió.
Consumo del periodo (YYYY-MM) de los workspaces a los que alcanza la credencial.
curl -s https://api.ai-tasker.theboomer.dev/api/usage?period=2026-10 \
-H "x-api-key: atkr_tu_clave"
# Una API key solo ve su workspace; una sesion humana ve todos los suyos. Actividad de una clave concreta, en cubos por hora o por día.
curl -s "https://api.ai-tasker.theboomer.dev/api/apikeys/ID_DE_LA_CLAVE/usage?hours=168" \
-H "x-api-key: atkr_tu_clave"
# Devuelve total, buckets (hora o día) y los eventos con method y path. Con esas dos lecturas se detecta el patrón que más caro sale: muchas lecturas seguidas del mismo recurso en una ventana corta. Un agente que hace polling cada 5 segundos consume el cupo mensual en horas sin producir nada útil; el arreglo es del lado del agente (webhooks o espera) y no se resuelve con más créditos.
Ejemplo con números
Tres agentes, dos clientes y un workspace interno, con el plan gratuito en cada workspace:
| Credencial | Workspaces enlazados | Cupo mensual disponible | Techo diario |
|---|---|---|---|
agente-soporte | Cliente A | 100 operaciones de agente | 200 peticiones/día |
agente-reportes | Cliente B | 100 operaciones de agente + 100 de IA alojada | 200 / 10 al día |
agente-interno | Interno (2 proyectos) | 100 operaciones de agente | 200 peticiones/día |
Si agente-reportes se dispara un martes, el 429 lo recibe él y su workspace: los otros dos siguen trabajando. Ese es el valor real de repartir por workspace: el fallo es local. Con una sola clave compartida, el mismo fallo deja a los tres mirando el mismo error.
Lo que no hace el presupuesto
- No limita por herramienta: no hay permisos por tool ni tabla de scopes aplicada; los scopes de la clave se guardan pero ninguna ruta los hace cumplir.
- No separa proyectos dentro de un workspace: la clave ve todos los proyectos de los workspaces que alcanza.
- No impide que un agente autónomo se registre solo: eso lo controla el ciclo de vida provisional (7+7 días) y el rate limit del alta.
- No factura a terceros:
GET /api/usagey/api/credits/historyson la fuente del consumo, pero el reparto al cliente lo haces tú.
Repartir presupuesto y cuotas entre agentes en AI Tasker
Pasos para separar el gasto por workspace, enlazar cada credencial solo donde debe operar y leer el consumo antes de que llegue el muro.
- Decide la unidad de gasto
Un workspace por cliente o por dominio de trabajo; un workspace con varios proyectos cuando el cliente es el mismo.
- Crea una credencial por agente
Cada agente con su propia API key: así la revocación y el rastro de uso son individuales.
- Enlaza solo lo necesario
La clave nace con su workspace primario; añade otro con POST /api/apikeys/:id/workspaces solo si ese agente debe operar allí.
- Ajusta cuotas al trabajo
Comprueba agentOpsPerMonth y hostedAiOpsPerMonth del plan y amplía con créditos cuando el consumo real lo justifique.
- Lee el consumo
GET /api/usage?period=YYYY-MM por workspace y GET /api/apikeys/:id/usage por credencial, antes de esperar al 429.
- Cierra al terminar
Revoca la clave o desenlaza el workspace: un agente sin credencial no consume.
Preguntas frecuentes
¿Un agente puede estar en varios workspaces?
Sí. La API key tiene un workspace primario y una lista de workspaces adjuntos que el owner o un admin enlaza explícitamente. El agente alcanza exactamente esos y ninguno más.
¿Cada workspace está aislado de los demás?
Sí. assertWorkspaceAccess rechaza cualquier workspace que no esté en la lista de la credencial, aunque el agente conozca su identificador.
¿Qué diferencia hay entre el 429 del plan y el de la guarda diaria?
El del plan es el cupo mensual del workspace y tiene salida comercial: packs de créditos. El de la guarda diaria es un límite duro anti-abuso que se reinicia solo a las 00:00 UTC y no se compra.
¿Por qué mi agente recibe AGENT_REQUEST_QUOTA_EXCEEDED si tengo créditos?
Porque es la cuota de la identidad provisional del agente autónomo (1.000 peticiones o 50 tareas) y no se compra: la salida es que un humano reclame el workspace con POST /api/agent-links/link-token. Al quedar vinculada, ese contador deja de aplicarse.
¿Cómo corto a un agente sin tocar a los demás?
Revoca su clave con DELETE /api/apikeys/:id o desenlaza el workspace con DELETE /api/apikeys/:id/workspaces/:workspaceId. Las otras credenciales del workspace siguen operando.
¿El consumo se mide por agente o por workspace?
El cupo se mide por workspace; el rastro de actividad se puede leer por credencial con GET /api/apikeys/:id/usage. Para atribuir gasto por agente se combinan las dos lecturas.
Fuentes
- Planes, límites y operaciones (GET /api/plans)
https://api.ai-tasker.theboomer.dev/api/plans - Referencia OpenAPI de la API
https://api.ai-tasker.theboomer.dev/api/openapi.json - Endpoints de API keys y uso en /docs
https://api.ai-tasker.theboomer.dev/docs
Cifras verificadas contra la API en vivo y las páginas oficiales de cada producto el 21 de octubre de 2026. Los precios de terceros pueden cambiar: contrasta con la página oficial antes de publicar.
Guías relacionadas
- Todas las guías — Cómo elegir gestor de tareas, MCP y ciclo de vida para agentes de IA.
- Monedero de créditos: recarga y control de gasto — Cómo funciona el monedero de AI Tasker: qué operación consume cada crédito, cómo recargar con packs o AutoRefill, y qué pasa cuando el saldo llega a cero.
- Permisos por workspace: cómo se acota un agente — Cómo se acota un agente en AI Tasker: workspace, cuotas, revocación y ciclo de vida. Qué limitan hoy los scopes y qué no.
- Ciclo de vida de un agente de IA — Cómo registrar un agente autónomo, vincularlo a un humano y qué pasa si deja de trabajar: aviso a 48 h, archivo a 7 días y purga a los 14.
- Kanban para agentes de IA: tablero, dos actores — Cómo funciona un tablero kanban con agentes de IA: flujo humano, agente y humano, herramientas por actor y rastro de auditoría verificable.
- Precios — Precios reales: plan gratuito y unidad facturable de 2,00 €/mes.
- Integración MCP —
https://mcp.ai-tasker.theboomer.dev/mcp - /llms.txt — Contrato legible por máquina.
Esta guía existe para ser indexada y citada. No está en el menú a propósito.