Documentation menu

Analytics

6 operations.

Aggregate token usage across authorized Projects

GET /api/v1/analytics/token-usage

Includes only Projects with whole-Project analytics permission and a live permitted role. Environment-only or Agent-only credentials use the Environment analytics endpoint. Filters apply before aggregation and pagination. Token totals are exact decimal strings; missing counters are reported separately. No historical backfill or pricing is inferred.

Parameters

query

NameTypeRequiredDescription
projectIdstringoptionalFilters results to the specified Project. Applies to Aggregate token usage across authorized Projects.
fromstringrequiredSets the inclusive start of the Analytics time window. Applies to Aggregate token usage across authorized Projects.
tostringrequiredSets the exclusive end of the Analytics time window. Applies to Aggregate token usage across authorized Projects.
provider"anthropic" | "google" | "openai" | "azure-openai" | "amazon-bedrock" | "google-vertex" | "deepseek" | "fireworks"optionalFilters recorded invocations to the exact provider.
requestedModelstringoptionalFilters recorded invocations to the exact requested model identifier.
groupBy"project" | "environment" | "model" | "provider" | "none"optionalGroups authorized Projects by Project alone, by Environment, by provider, or by requested/response model. None returns a combined total.
granularity"hour" | "day" | "none"optionalUses UTC hourly or daily buckets, or none for the entire interval.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to Aggregate token usage across authorized Projects.
offsetintegeroptionalSkips ordered breakdown rows. Summary and included Project IDs cover the whole authorized query, independent of pagination.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — summary: object (required); rows: array<object> (required); nextOffset: integer | null (required); coverage: object (required); projectIds: array<string> (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Read agent run overview analytics

GET /api/v1/projects/{projectId}/environments/{environmentId}/analytics/agent-runs/overview

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Read agent run overview analytics.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Read agent run overview analytics.

query

NameTypeRequiredDescription
fromstringrequiredSets the inclusive start of the Analytics time window. Applies to Read agent run overview analytics.
tostringrequiredSets the exclusive end of the Analytics time window. Applies to Read agent run overview analytics.
granularity"day" | "hour"optionalSelects the UTC day or hour bucket size for Analytics series. Applies to Read agent run overview analytics.
agentIdstringoptionalSelects the Project Agent by its stable identifier. Applies to Read agent run overview analytics.
releaseIdstringoptionalFilters results to the specified immutable Project Release. Applies to Read agent run overview analytics.
deploymentIdstringoptionalFilters results to the specified Project Deployment. Applies to Read agent run overview analytics.
activationIdstringoptionalFilters results to the specified Project Environment activation. Applies to Read agent run overview analytics.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to Read agent run overview analytics.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to Read agent run overview analytics.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — summary: object (required); series: array<object> (required); observedThrough: string | null (required); completeness: "complete" | "partial" (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

List agent analytics

GET /api/v1/projects/{projectId}/environments/{environmentId}/analytics/agents

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to List agent analytics.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to List agent analytics.

query

NameTypeRequiredDescription
fromstringrequiredSets the inclusive start of the Analytics time window. Applies to List agent analytics.
tostringrequiredSets the exclusive end of the Analytics time window. Applies to List agent analytics.
granularity"day" | "hour"optionalSelects the UTC day or hour bucket size for Analytics series. Applies to List agent analytics.
agentIdstringoptionalSelects the Project Agent by its stable identifier. Applies to List agent analytics.
releaseIdstringoptionalFilters results to the specified immutable Project Release. Applies to List agent analytics.
deploymentIdstringoptionalFilters results to the specified Project Deployment. Applies to List agent analytics.
activationIdstringoptionalFilters results to the specified Project Environment activation. Applies to List agent analytics.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to List agent analytics.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to List agent analytics.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — agents: array<object> (required); pagination: object (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Read error analytics

GET /api/v1/projects/{projectId}/environments/{environmentId}/analytics/errors

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Read error analytics.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Read error analytics.

query

NameTypeRequiredDescription
fromstringrequiredSets the inclusive start of the Analytics time window. Applies to Read error analytics.
tostringrequiredSets the exclusive end of the Analytics time window. Applies to Read error analytics.
granularity"day" | "hour"optionalSelects the UTC day or hour bucket size for Analytics series. Applies to Read error analytics.
agentIdstringoptionalSelects the Project Agent by its stable identifier. Applies to Read error analytics.
releaseIdstringoptionalFilters results to the specified immutable Project Release. Applies to Read error analytics.
deploymentIdstringoptionalFilters results to the specified Project Deployment. Applies to Read error analytics.
activationIdstringoptionalFilters results to the specified Project Environment activation. Applies to Read error analytics.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to Read error analytics.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to Read error analytics.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — summary: object (required); breakdown: array<object> (required); series: array<object> (required); pagination: object (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Read token usage analytics

GET /api/v1/projects/{projectId}/environments/{environmentId}/analytics/token-usage

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Read token usage analytics.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Read token usage analytics.

query

NameTypeRequiredDescription
fromstringrequiredSets the inclusive start of the Analytics time window. Applies to Read token usage analytics.
tostringrequiredSets the exclusive end of the Analytics time window. Applies to Read token usage analytics.
agentRunIdstringoptionalFilters recorded invocations to one run, including records retained after conversation deletion.
agentIdstringoptionalSelects the Project Agent by its stable identifier. Applies to Read token usage analytics.
releaseIdstringoptionalFilters results to the specified immutable Project Release. Applies to Read token usage analytics.
deploymentIdstringoptionalFilters results to the specified Project Deployment. Applies to Read token usage analytics.
activationIdstringoptionalFilters results to the specified Project Environment activation. Applies to Read token usage analytics.
provider"anthropic" | "google" | "openai" | "azure-openai" | "amazon-bedrock" | "google-vertex" | "deepseek" | "fireworks"optionalFilters recorded invocations to the exact provider.
requestedModelstringoptionalFilters recorded invocations to the exact requested model identifier.
groupBy"model" | "provider" | "none"optionalGroups by provider and requested/response model, by provider alone, or by no model dimension.
granularity"hour" | "day" | "none"optionalUses UTC hourly or daily buckets, or none for the entire requested interval.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to Read token usage analytics.
offsetintegeroptionalNumber of ordered breakdown rows to skip; use nextOffset from the preceding response. Summary covers the full filtered interval.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — summary: object (required); rows: array<object> (required); nextOffset: integer | null (required); coverage: object (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

List tool analytics

GET /api/v1/projects/{projectId}/environments/{environmentId}/analytics/tools

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to List tool analytics.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to List tool analytics.

query

NameTypeRequiredDescription
fromstringrequiredSets the inclusive start of the Analytics time window. Applies to List tool analytics.
tostringrequiredSets the exclusive end of the Analytics time window. Applies to List tool analytics.
granularity"day" | "hour"optionalSelects the UTC day or hour bucket size for Analytics series. Applies to List tool analytics.
agentIdstringoptionalSelects the Project Agent by its stable identifier. Applies to List tool analytics.
releaseIdstringoptionalFilters results to the specified immutable Project Release. Applies to List tool analytics.
deploymentIdstringoptionalFilters results to the specified Project Deployment. Applies to List tool analytics.
activationIdstringoptionalFilters results to the specified Project Environment activation. Applies to List tool analytics.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to List tool analytics.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to List tool analytics.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — tools: array<object> (required); series: array<object> (required); pagination: object (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)