Mission Control
Uso do Mission Control
Consulte o consumo de IA de um workspace (créditos, execuções, adoção) no Mission Control: um período, agrupado, filtrado e comparado com o período anterior.
GET
Uso do Mission Control
Seu token de API precisa poder usar agentes (
Parâmetros em array
Envie chaves repetidas com colchetes, exatamente como mostrado:
use_agents) e você precisa ter acesso à API no workspace. Além disso, o endpoint aplica as permissões de Mission Control do seu papel: mission-control:view para consultar, e o escopo de uso que você recebeu (o seu próprio uso, os seus times ou o workspace inteiro). O escopo é resolvido no servidor a partir do seu papel; a requisição nunca o amplia.
Este endpoint responde exatamente o que o painel do Mission Control na Tess mostra, a partir dos mesmos dados horários. O Mission Control precisa estar habilitado para o workspace, e existem dados a partir de
freshness.data_available_from. Um período que começa antes disso é recusado, nunca respondido com zeros.Exemplos de código
Consumo por modelo de IA no mês atual, comparado com o período anterior:Cabeçalhos
integer
obrigatório
ID do workspace. Você precisa ser membro ativo do workspace e ter
mission-control:view nele.Parâmetros de consulta
date (YYYY-MM-DD)
obrigatório
Início do período, data local no
timezone (inclusive).date (YYYY-MM-DD)
obrigatório
Fim do período (inclusive). O período tem no máximo 93 dias e não pode começar antes de
freshness.data_available_from.string
Fuso IANA das datas locais e dos buckets (por exemplo
America/Sao_Paulo). Padrão: o fuso da plataforma.string
Tamanho do bucket de
series: hour, day (padrão), week ou month.array of string
Métricas a retornar. Padrão:
consumption_net, consumption_charged, consumption_refunded. Disponíveis: 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
Dimensões de agrupamento, no máximo 3:
agent, person, resource, resource_kind, execution_type, modality, activity_category, charge_type, execution_origin, trigger_source, agent_origin. Agrupar por person exige mission-control:person-data:view; sem ela a consulta é recusada (403 person_data_not_allowed).array of string
me (o seu próprio uso), my_team (membros atuais dos seus times), my_workspace (todos no seu escopo) ou ids de pessoas. Os apelidos não exigem permissão extra; ids de pessoas exigem mission-control:person-data:view e precisam estar dentro do seu escopo.array of integer
Ids de times. Só os ids listados em
scope.teams de uma resposta anterior são aceitos.array of integer
Ids de agentes. Pegue-os em
groups[].dimensions.agent.id de uma resposta anterior agrupada por agent.array of string
Recursos como
<kind>:<name>, por exemplo model:gpt-5, tool:web_search, connector:googlesheets. Pegue-os de uma resposta anterior agrupada por resource.array of string
model, tool, connector, upload, kb, memory, voice ou other. Use ["model"] para restringir um agrupamento por resource aos modelos de IA.array of string
chat, image, video, audio, upload, tools ou other.array of string
agents, tools, connectors ou kb.array of string
standard ou cowork (agentes de Cowork / Funcionários Digitais).array of string
Quem iniciou a execução:
human, scheduler, autopilot, automation, api ou embed.array of string
Resultado da execução:
succeeded, failed ou interrupted (interrompida pela pessoa, ainda cobrada).array of string
Valores exatos de tipo de execução, como retornados em uma resposta agrupada anterior (por exemplo
chat, text, image, tool_execution).array of string
Valores exatos de tipo de cobrança (por exemplo
execution).array of string
Valores exatos de origem da execução.
string
previous_period (mesmo número de dias, logo antes do período) ou previous_calendar_month (os meses-calendário anteriores inteiros, no máximo 3). Adiciona comparison à resposta e a cada grupo.string
Id da métrica que ordena os grupos. Padrão: a primeira métrica solicitada.
string
value (padrão), delta_abs ou delta_pct (variação em relação ao período de comparação; os dois exigem compare).string
desc (padrão) ou asc. Valores nulos ficam sempre por último.integer
Grupos por página. Padrão 50, máximo 200.
string
Cursor opaco da próxima página (
page.next_cursor de uma resposta anterior).boolean
Retorna também a série de cada grupo.
group_by[]=resource&filters[person][]=me&filters[person][]=my_team. Filtros só restringem os dados; um valor fora do seu escopo é recusado, nunca descartado em silêncio.
IDs: nunca os invente
- Ids de times vêm só de
scope.teamsde uma resposta (scope.teams_totalé a contagem sem corte). - Ids de agentes, pessoas e recursos vêm de
groups[].dimensions.<dimensão>.idde uma resposta anterior agrupada por aquela dimensão. - Conjuntos fechados (
modality,activity_category,agent_origin,trigger_source,resource_kind,status) estão listados acima; valores abertos (execution_type,charge_type,execution_origin) vêm de uma resposta agrupada anterior.
resource, resource_kind ou charge_type conta as execuções que usaram cada recurso. Uma execução que usou duas tools conta uma vez em cada grupo, então, entre recursos, os totais das métricas de execução (executions, failed_executions, success_rate, avg_credits_per_execution) voltam como null e meta.non_additive indica quais: leia os valores por grupo, nunca some os grupos. Créditos e uses sempre somam. Escopos só de modelo (filters[resource_kind][]=model) continuam exatos.
Resposta
Campos da resposta
Erros
As recusas da consulta são objetos JSON com umcode estável. Falhas de validação da requisição (um granularity, compare, sort_by ou order desconhecido, uma data mal formada) voltam como 422 no formato {message, errors} do Laravel; recusas de acesso (403/404) trazem só message:

