Hadrian is experimental alpha software. Do not use in production.
Hadrian

Usage

Query usage statistics for API keys including token counts, costs, and breakdowns by date, model, or referer.

Get usage summary for an API key

GET
/admin/v1/api-keys/{key_id}/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and model for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-date-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and pricing source for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-date-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and provider for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-date-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by model for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by pricing source for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by provider for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by referer for an API key

GET
/admin/v1/api-keys/{key_id}/usage/by-referer
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-referer"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "http_referer": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get cost forecast for an API key

GET
/admin/v1/api-keys/{key_id}/usage/forecast
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

key_id*string

API key ID

Formatuuid

Query Parameters

lookback_days?integer|null

Number of days of historical data to use (default: 30)

Formatint32
forecast_days?integer|null

Number of days to forecast ahead (default: 7)

Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/forecast"
{
  "avg_daily_spend": 0.1,
  "budget_limit": 0,
  "budget_period": "string",
  "budget_utilization_percent": 0,
  "current_spend": 0.1,
  "days_until_exhaustion": 0,
  "days_until_exhaustion_lower": 0,
  "days_until_exhaustion_upper": 0,
  "projected_exhaustion_date": "string",
  "projected_period_spend": 0,
  "sample_days": 0,
  "std_dev_daily_spend": 0.1,
  "time_series_forecast": {}
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage summary for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and model for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-date-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-date-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and pricing source for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-date-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-date-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and provider for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-date-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-date-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and user for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-date-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-date-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by model for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by pricing source for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by provider for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by user for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/by-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/by-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get cost forecast for a project

GET
/admin/v1/organizations/{org_slug}/projects/{project_slug}/usage/forecast
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

project_slug*string

Project slug

Query Parameters

lookback_days?integer|null

Number of days of historical data to use (default: 30)

Formatint32
forecast_days?integer|null

Number of days to forecast ahead (default: 7)

Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/projects/string/usage/forecast"
{
  "avg_daily_spend": 0.1,
  "budget_limit": 0,
  "budget_period": "string",
  "budget_utilization_percent": 0,
  "current_spend": 0.1,
  "days_until_exhaustion": 0,
  "days_until_exhaustion_lower": 0,
  "days_until_exhaustion_upper": 0,
  "projected_exhaustion_date": "string",
  "projected_period_spend": 0,
  "sample_days": 0,
  "std_dev_daily_spend": 0.1,
  "time_series_forecast": {}
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage summary for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and model for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-date-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-date-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and pricing source for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-date-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-date-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and project for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-date-project
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-date-project"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "project_id": "string",
    "project_name": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and provider for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-date-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-date-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and user for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-date-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-date-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by model for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by pricing source for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by project for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-project
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-project"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "project_id": "string",
    "project_name": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by provider for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by user for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/by-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/by-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get cost forecast for a team

GET
/admin/v1/organizations/{org_slug}/teams/{team_slug}/usage/forecast
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

team_slug*string

Team slug

Query Parameters

lookback_days?integer|null

Number of days of historical data to use (default: 30)

Formatint32
forecast_days?integer|null

Number of days to forecast ahead (default: 7)

Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/teams/string/usage/forecast"
{
  "avg_daily_spend": 0.1,
  "budget_limit": 0,
  "budget_period": "string",
  "budget_utilization_percent": 0,
  "current_spend": 0.1,
  "days_until_exhaustion": 0,
  "days_until_exhaustion_lower": 0,
  "days_until_exhaustion_upper": 0,
  "projected_exhaustion_date": "string",
  "projected_period_spend": 0,
  "sample_days": 0,
  "std_dev_daily_spend": 0.1,
  "time_series_forecast": {}
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage summary for an organization

GET
/admin/v1/organizations/{slug}/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and model for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and pricing source for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and project for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date-project
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date-project"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "project_id": "string",
    "project_name": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and provider for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and team for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date-team
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date-team"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "team_id": "string",
    "team_name": "string",
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and user for an organization

GET
/admin/v1/organizations/{slug}/usage/by-date-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-date-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by model for an organization

GET
/admin/v1/organizations/{slug}/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by pricing source for an organization

GET
/admin/v1/organizations/{slug}/usage/by-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by project for an organization

GET
/admin/v1/organizations/{slug}/usage/by-project
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-project"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "project_id": "string",
    "project_name": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by provider for an organization

GET
/admin/v1/organizations/{slug}/usage/by-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by team for an organization

GET
/admin/v1/organizations/{slug}/usage/by-team
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-team"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "team_id": "string",
    "team_name": "string",
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by user for an organization

GET
/admin/v1/organizations/{slug}/usage/by-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/by-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get cost forecast for an organization

GET
/admin/v1/organizations/{slug}/usage/forecast
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

slug*string

Organization slug

Query Parameters

lookback_days?integer|null

Number of days of historical data to use (default: 30)

Formatint32
forecast_days?integer|null

Number of days to forecast ahead (default: 7)

Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/usage/forecast"
{
  "avg_daily_spend": 0.1,
  "budget_limit": 0,
  "budget_period": "string",
  "budget_utilization_percent": 0,
  "current_spend": 0.1,
  "days_until_exhaustion": 0,
  "days_until_exhaustion_lower": 0,
  "days_until_exhaustion_upper": 0,
  "projected_exhaustion_date": "string",
  "projected_period_spend": 0,
  "sample_days": 0,
  "std_dev_daily_spend": 0.1,
  "time_series_forecast": {}
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage summary for a provider

GET
/admin/v1/providers/{provider}/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

provider*string

Provider name

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/providers/string/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}

Get usage by date for a provider

GET
/admin/v1/providers/{provider}/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

provider*string

Provider name

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/providers/string/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by model for a provider

GET
/admin/v1/providers/{provider}/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

provider*string

Provider name

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/providers/string/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get cost forecast for a provider

GET
/admin/v1/providers/{provider}/usage/forecast
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

provider*string

Provider name

Query Parameters

lookback_days?integer|null

Number of days of historical data to use (default: 30)

Formatint32
forecast_days?integer|null

Number of days to forecast ahead (default: 7)

Range0 <= value

Response Body

application/json

curl -X GET "https://loading/admin/v1/providers/string/usage/forecast"
{
  "avg_daily_spend": 0.1,
  "budget_limit": 0,
  "budget_period": "string",
  "budget_utilization_percent": 0,
  "current_spend": 0.1,
  "days_until_exhaustion": 0,
  "days_until_exhaustion_lower": 0,
  "days_until_exhaustion_upper": 0,
  "projected_exhaustion_date": "string",
  "projected_period_spend": 0,
  "sample_days": 0,
  "std_dev_daily_spend": 0.1,
  "time_series_forecast": {}
}

Get global usage summary

GET
/admin/v1/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}

Get global usage by date

GET
/admin/v1/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and model

GET
/admin/v1/usage/by-date-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and organization

GET
/admin/v1/usage/by-date-org
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-org"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "org_id": "string",
    "org_name": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and pricing source

GET
/admin/v1/usage/by-date-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and project

GET
/admin/v1/usage/by-date-project
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-project"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "project_id": "string",
    "project_name": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and provider

GET
/admin/v1/usage/by-date-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and team

GET
/admin/v1/usage/by-date-team
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-team"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "team_id": "string",
    "team_name": "string",
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by date and user

GET
/admin/v1/usage/by-date-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-date-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]

Get global usage by model

GET
/admin/v1/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by organization

GET
/admin/v1/usage/by-org
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-org"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "org_id": "string",
    "org_name": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by pricing source

GET
/admin/v1/usage/by-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by project

GET
/admin/v1/usage/by-project
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-project"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "project_id": "string",
    "project_name": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by provider

GET
/admin/v1/usage/by-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by team

GET
/admin/v1/usage/by-team
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-team"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "team_id": "string",
    "team_name": "string",
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get global usage by user

GET
/admin/v1/usage/by-user
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/by-user"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0,
    "user_email": "string",
    "user_id": "string",
    "user_name": "string"
  }
]

List usage logs (admin global)

GET
/admin/v1/usage/logs
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

org_id?string|null
Formatuuid
user_id?string|null
Formatuuid
project_id?string|null
Formatuuid
team_id?string|null
Formatuuid
api_key_id?string|null
Formatuuid
service_account_id?string|null
Formatuuid
model?string|null
provider?string|null
provider_source?string|null
from?string|null
Formatdate-time
to?string|null
Formatdate-time
limit?integer|null
Formatint64
cursor?string|null
direction?string|null

Response Body

application/json

curl -X GET "https://loading/admin/v1/usage/logs"
{
  "data": [
    {
      "api_key_id": "b0dd218e-3bcf-4bdb-a1e3-0689d60a8afd",
      "audio_seconds": 0,
      "cached_tokens": 0,
      "cancelled": true,
      "character_count": 0,
      "cost": 0.1,
      "finish_reason": "string",
      "http_referer": "string",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "image_count": 0,
      "input_tokens": 0,
      "latency_ms": 0,
      "model": "string",
      "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
      "output_tokens": 0,
      "pricing_source": "string",
      "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
      "provider": "string",
      "provider_source": "string",
      "reasoning_tokens": 0,
      "recorded_at": "string",
      "request_id": "string",
      "service_account_id": "81f92c7b-60ae-411e-bc6f-e2dc93db8886",
      "status_code": 0,
      "streamed": true,
      "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
    }
  ],
  "pagination": {
    "has_more": true,
    "limit": 100,
    "next_cursor": "MTczMzU4MDgwMDAwMDphYmMxMjM0NS02Nzg5LTAxMjMtNDU2Ny0wMTIzNDU2Nzg5YWI",
    "prev_cursor": "string"
  }
}

Export usage logs (admin global)

GET
/admin/v1/usage/logs/export
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Query Parameters

org_id?string|null
Formatuuid
user_id?string|null
Formatuuid
project_id?string|null
Formatuuid
team_id?string|null
Formatuuid
api_key_id?string|null
Formatuuid
service_account_id?string|null
Formatuuid
model?string|null
provider?string|null
provider_source?string|null
from?string|null
Formatdate-time
to?string|null
Formatdate-time
format?string

Export format for usage logs

Value in"csv" | "jsonl"

Response Body

application/x-ndjson

curl -X GET "https://loading/admin/v1/usage/logs/export"
Empty

Get usage summary for a user

GET
/admin/v1/users/{user_id}/usage
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage"
{
  "audio_seconds": 0,
  "character_count": 0,
  "first_request_at": "string",
  "image_count": 0,
  "input_tokens": 0,
  "last_request_at": "string",
  "output_tokens": 0,
  "request_count": 0,
  "total_cost": 0.1,
  "total_tokens": 0
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date for a user

GET
/admin/v1/users/{user_id}/usage/by-date
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by date and model for a user

GET
/admin/v1/users/{user_id}/usage/by-date-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and pricing source for a user

GET
/admin/v1/users/{user_id}/usage/by-date-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by date and provider for a user

GET
/admin/v1/users/{user_id}/usage/by-date-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-date-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "date": "string",
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by model for a user

GET
/admin/v1/users/{user_id}/usage/by-model
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-model"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "model": "string",
    "output_tokens": 0,
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get usage by pricing source for a user

GET
/admin/v1/users/{user_id}/usage/by-pricing-source
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-pricing-source"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "pricing_source": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]

Get usage by provider for a user

GET
/admin/v1/users/{user_id}/usage/by-provider
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

start_date?string|null

Start date (YYYY-MM-DD)

end_date?string|null

End date (YYYY-MM-DD)

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/by-provider"
[
  {
    "audio_seconds": 0,
    "character_count": 0,
    "image_count": 0,
    "input_tokens": 0,
    "output_tokens": 0,
    "provider": "string",
    "request_count": 0,
    "total_cost": 0.1,
    "total_tokens": 0
  }
]
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get cost forecast for a user

GET
/admin/v1/users/{user_id}/usage/forecast
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

user_id*string

User ID

Formatuuid

Query Parameters

lookback_days?integer|null

Number of days of historical data to use (default: 30)

Formatint32
forecast_days?integer|null

Number of days to forecast ahead (default: 7)

Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage/forecast"
{
  "avg_daily_spend": 0.1,
  "budget_limit": 0,
  "budget_period": "string",
  "budget_utilization_percent": 0,
  "current_spend": 0.1,
  "days_until_exhaustion": 0,
  "days_until_exhaustion_lower": 0,
  "days_until_exhaustion_upper": 0,
  "projected_exhaustion_date": "string",
  "projected_period_spend": 0,
  "sample_days": 0,
  "std_dev_daily_spend": 0.1,
  "time_series_forecast": {}
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}