Mission Control
Uso de Mission Control
Consulta el consumo de IA de un workspace (créditos, ejecuciones, adopción) en Mission Control: un periodo, agrupado, filtrado y comparado con el periodo anterior.
GET
Uso de Mission Control
Tu token de API debe poder usar agentes (
Parámetros en array
Envía claves repetidas con corchetes, exactamente como se muestra:
use_agents) y necesitas acceso a la API en el workspace. Además, el endpoint aplica los permisos de Mission Control de tu rol: mission-control:view para consultar, y el alcance de uso que te concedieron (tu propio uso, tus equipos o el workspace completo). El alcance se resuelve en el servidor a partir de tu rol; la petición nunca lo amplía.
Este endpoint responde exactamente lo que muestra el panel de Mission Control en Tess, a partir de los mismos datos horarios. Mission Control debe estar habilitado para el workspace, y hay datos desde
freshness.data_available_from. Un periodo que empieza antes se rechaza, nunca se responde con ceros.Ejemplos de código
Consumo por modelo de IA en el mes actual, comparado con el periodo anterior:Encabezados
integer
requerido
ID del workspace. Debes ser miembro activo del workspace y tener
mission-control:view en él.Parámetros de consulta
date (YYYY-MM-DD)
requerido
Inicio del periodo, fecha local en
timezone (inclusive).date (YYYY-MM-DD)
requerido
Fin del periodo (inclusive). El periodo es de como máximo 93 días y no puede empezar antes de
freshness.data_available_from.string
Zona horaria IANA de las fechas locales y de los buckets (por ejemplo
America/Sao_Paulo). Por defecto: la zona horaria de la plataforma.string
Tamaño del bucket de
series: hour, day (por defecto), week o month.array of string
Métricas a devolver. Por defecto:
consumption_net, consumption_charged, consumption_refunded. Disponibles: consumption_net, consumption_charged, consumption_refunded, executions, failed_executions, interrupted_executions, uses, success_rate, avg_credits_per_execution, avg_credits_per_person, active_people, active_agents, active_autonomous_agents, active_days, active_business_days.array of string
Dimensiones de agrupación, como máximo 3:
agent, person, resource, resource_kind, execution_type, modality, activity_category, charge_type, execution_origin, trigger_source, agent_origin. Agrupar por person requiere mission-control:person-data:view; sin él la consulta se rechaza (403 person_data_not_allowed).array of string
me (tu propio uso), my_team (miembros actuales de tus equipos), my_workspace (todos en tu alcance) o ids de personas. Los alias no requieren permiso extra; los ids de personas requieren mission-control:person-data:view y deben estar dentro de tu alcance.array of integer
Ids de equipos. Solo se aceptan los ids listados en
scope.teams de una respuesta anterior.array of integer
Ids de agentes. Tómalos de
groups[].dimensions.agent.id de una respuesta anterior agrupada por agent.array of string
Recursos como
<kind>:<name>, por ejemplo model:gpt-5, tool:web_search, connector:googlesheets. Tómalos de una respuesta anterior agrupada por resource.array of string
model, tool, connector, upload, kb, memory, voice u other. Usa ["model"] para restringir una agrupación por resource a los modelos de IA.array of string
chat, image, video, audio, upload, tools u other.array of string
agents, tools, connectors o kb.array of string
standard o cowork (agentes de Cowork / Empleados Digitales).array of string
Quién inició la ejecución:
human, scheduler, autopilot, automation, api o embed.array of string
Resultado de la ejecución:
succeeded, failed o interrupted (detenida por la persona, igualmente cobrada).array of string
Valores exactos de tipo de ejecución, tal como aparecen en una respuesta agrupada anterior (por ejemplo
chat, text, image, tool_execution).array of string
Valores exactos de tipo de cobro (por ejemplo
execution).array of string
Valores exactos de origen de la ejecución.
string
previous_period (mismo número de días, justo antes del periodo) o previous_calendar_month (los meses naturales anteriores completos, como máximo 3). Añade comparison a la respuesta y a cada grupo.string
Id de la métrica por la que se ordenan los grupos. Por defecto: la primera métrica solicitada.
string
value (por defecto), delta_abs o delta_pct (variación respecto al periodo de comparación; ambos requieren compare).string
desc (por defecto) o asc. Los valores nulos siempre van al final.integer
Grupos por página. Por defecto 50, máximo 200.
string
Cursor opaco de la página siguiente (
page.next_cursor de una respuesta anterior).boolean
Devuelve también la serie de cada grupo.
group_by[]=resource&filters[person][]=me&filters[person][]=my_team. Los filtros solo acotan los datos; un valor fuera de tu alcance se rechaza, nunca se descarta en silencio.
IDs: nunca los inventes
- Los ids de equipos vienen solo de
scope.teamsde una respuesta (scope.teams_totales el recuento sin recorte). - Los ids de agentes, personas y recursos vienen de
groups[].dimensions.<dimensión>.idde una respuesta anterior agrupada por esa dimensión. - Los conjuntos cerrados (
modality,activity_category,agent_origin,trigger_source,resource_kind,status) están listados arriba; los valores abiertos (execution_type,charge_type,execution_origin) vienen de una respuesta agrupada anterior.
resource, resource_kind o charge_type cuenta las ejecuciones que usaron cada recurso. Una ejecución que usó dos tools cuenta una vez en cada grupo, así que entre recursos los totales de las métricas de ejecución (executions, failed_executions, success_rate, avg_credits_per_execution) vuelven como null y meta.non_additive indica cuáles: lee los valores por grupo, nunca sumes los grupos. Los créditos y uses siempre suman. Los alcances solo de modelo (filters[resource_kind][]=model) siguen siendo exactos.
Respuesta
Campos de la respuesta
Errores
Los rechazos de la consulta son objetos JSON con uncode estable. Los fallos de validación de la solicitud (un granularity, compare, sort_by u order desconocido, una fecha mal formada) vuelven como 422 en el formato {message, errors} de Laravel; los rechazos de acceso (403/404) traen solo message:

