Analytics
6 operations.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/analytics/token-usage | Aggregate token usage across authorized Projects |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/analytics/agent-runs/overview | Read agent run overview analytics |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/analytics/agents | List agent analytics |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/analytics/errors | Read error analytics |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/analytics/token-usage | Read token usage analytics |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/analytics/tools | List tool analytics |
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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | optional | Filters results to the specified Project. Applies to Aggregate token usage across authorized Projects. |
from | string | required | Sets the inclusive start of the Analytics time window. Applies to Aggregate token usage across authorized Projects. |
to | string | required | Sets 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" | optional | Filters recorded invocations to the exact provider. |
requestedModel | string | optional | Filters recorded invocations to the exact requested model identifier. |
groupBy | "project" | "environment" | "model" | "provider" | "none" | optional | Groups authorized Projects by Project alone, by Environment, by provider, or by requested/response model. None returns a combined total. |
granularity | "hour" | "day" | "none" | optional | Uses UTC hourly or daily buckets, or none for the entire interval. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to Aggregate token usage across authorized Projects. |
offset | integer | optional | Skips ordered breakdown rows. Summary and included Project IDs cover the whole authorized query, independent of pagination. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — summary: object (required); rows: array<object> (required); nextOffset: integer | null (required); coverage: object (required); projectIds: array<string> (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too 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) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service 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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Read agent run overview analytics. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Read agent run overview analytics. |
query
| Name | Type | Required | Description |
|---|---|---|---|
from | string | required | Sets the inclusive start of the Analytics time window. Applies to Read agent run overview analytics. |
to | string | required | Sets the exclusive end of the Analytics time window. Applies to Read agent run overview analytics. |
granularity | "day" | "hour" | optional | Selects the UTC day or hour bucket size for Analytics series. Applies to Read agent run overview analytics. |
agentId | string | optional | Selects the Project Agent by its stable identifier. Applies to Read agent run overview analytics. |
releaseId | string | optional | Filters results to the specified immutable Project Release. Applies to Read agent run overview analytics. |
deploymentId | string | optional | Filters results to the specified Project Deployment. Applies to Read agent run overview analytics. |
activationId | string | optional | Filters results to the specified Project Environment activation. Applies to Read agent run overview analytics. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to Read agent run overview analytics. |
cursor | string | optional | Opaque cursor returned by the previous page; omit it to read the first page. Applies to Read agent run overview analytics. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — summary: object (required); series: array<object> (required); observedThrough: string | null (required); completeness: "complete" | "partial" (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too 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) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service 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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to List agent analytics. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to List agent analytics. |
query
| Name | Type | Required | Description |
|---|---|---|---|
from | string | required | Sets the inclusive start of the Analytics time window. Applies to List agent analytics. |
to | string | required | Sets the exclusive end of the Analytics time window. Applies to List agent analytics. |
granularity | "day" | "hour" | optional | Selects the UTC day or hour bucket size for Analytics series. Applies to List agent analytics. |
agentId | string | optional | Selects the Project Agent by its stable identifier. Applies to List agent analytics. |
releaseId | string | optional | Filters results to the specified immutable Project Release. Applies to List agent analytics. |
deploymentId | string | optional | Filters results to the specified Project Deployment. Applies to List agent analytics. |
activationId | string | optional | Filters results to the specified Project Environment activation. Applies to List agent analytics. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to List agent analytics. |
cursor | string | optional | Opaque cursor returned by the previous page; omit it to read the first page. Applies to List agent analytics. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — agents: array<object> (required); pagination: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too 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) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service 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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Read error analytics. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Read error analytics. |
query
| Name | Type | Required | Description |
|---|---|---|---|
from | string | required | Sets the inclusive start of the Analytics time window. Applies to Read error analytics. |
to | string | required | Sets the exclusive end of the Analytics time window. Applies to Read error analytics. |
granularity | "day" | "hour" | optional | Selects the UTC day or hour bucket size for Analytics series. Applies to Read error analytics. |
agentId | string | optional | Selects the Project Agent by its stable identifier. Applies to Read error analytics. |
releaseId | string | optional | Filters results to the specified immutable Project Release. Applies to Read error analytics. |
deploymentId | string | optional | Filters results to the specified Project Deployment. Applies to Read error analytics. |
activationId | string | optional | Filters results to the specified Project Environment activation. Applies to Read error analytics. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to Read error analytics. |
cursor | string | optional | Opaque cursor returned by the previous page; omit it to read the first page. Applies to Read error analytics. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — summary: object (required); breakdown: array<object> (required); series: array<object> (required); pagination: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too 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) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service 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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Read token usage analytics. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Read token usage analytics. |
query
| Name | Type | Required | Description |
|---|---|---|---|
from | string | required | Sets the inclusive start of the Analytics time window. Applies to Read token usage analytics. |
to | string | required | Sets the exclusive end of the Analytics time window. Applies to Read token usage analytics. |
agentRunId | string | optional | Filters recorded invocations to one run, including records retained after conversation deletion. |
agentId | string | optional | Selects the Project Agent by its stable identifier. Applies to Read token usage analytics. |
releaseId | string | optional | Filters results to the specified immutable Project Release. Applies to Read token usage analytics. |
deploymentId | string | optional | Filters results to the specified Project Deployment. Applies to Read token usage analytics. |
activationId | string | optional | Filters 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" | optional | Filters recorded invocations to the exact provider. |
requestedModel | string | optional | Filters recorded invocations to the exact requested model identifier. |
groupBy | "model" | "provider" | "none" | optional | Groups by provider and requested/response model, by provider alone, or by no model dimension. |
granularity | "hour" | "day" | "none" | optional | Uses UTC hourly or daily buckets, or none for the entire requested interval. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to Read token usage analytics. |
offset | integer | optional | Number of ordered breakdown rows to skip; use nextOffset from the preceding response. Summary covers the full filtered interval. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — summary: object (required); rows: array<object> (required); nextOffset: integer | null (required); coverage: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too 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) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service 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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to List tool analytics. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to List tool analytics. |
query
| Name | Type | Required | Description |
|---|---|---|---|
from | string | required | Sets the inclusive start of the Analytics time window. Applies to List tool analytics. |
to | string | required | Sets the exclusive end of the Analytics time window. Applies to List tool analytics. |
granularity | "day" | "hour" | optional | Selects the UTC day or hour bucket size for Analytics series. Applies to List tool analytics. |
agentId | string | optional | Selects the Project Agent by its stable identifier. Applies to List tool analytics. |
releaseId | string | optional | Filters results to the specified immutable Project Release. Applies to List tool analytics. |
deploymentId | string | optional | Filters results to the specified Project Deployment. Applies to List tool analytics. |
activationId | string | optional | Filters results to the specified Project Environment activation. Applies to List tool analytics. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to List tool analytics. |
cursor | string | optional | Opaque cursor returned by the previous page; omit it to read the first page. Applies to List tool analytics. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — tools: array<object> (required); series: array<object> (required); pagination: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too 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) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |