GET /v1/organizations/usage_report/messages
Get Messages Usage Report
Query parameters
starting_at: string
Time buckets that start on or after this RFC 3339 timestamp will be returned. Each time bucket will be snapped to the start of the minute/hour/day in UTC.
format: date-time
account_ids: optional array of string
Restrict usage returned to the specified user account ID(s).
api_key_ids: optional array of string
Restrict usage returned to the specified API key ID(s).
bucket_width: optional "1d" or "1h" or "1m"
Time granularity of the response data.
default: 1d
"1d"
"1h"
"1m"
context_window: optional array of "0-200k" or "200k-1M"
Restrict usage returned to the specified context window(s).
"0-200k"
"200k-1M"
ending_at: optional string
Time buckets that end before this RFC 3339 timestamp will be returned.
format: date-time
group_by: optional array of "account_id" or "api_key_id" or "context_window" or 6 more
Group by any subset of the available options. Grouping by speed requires the fast-mode-2026-02-01 beta header.
"account_id"
"api_key_id"
"context_window"
"inference_geo"
"model"
"service_account_id"
"service_tier"
"speed"
"workspace_id"
inference_geos: optional array of "global" or "not_available" or "us"
Restrict usage returned to the specified inference geo(s). Use not_available for models that do not support specifying inference_geo.
"global"
"not_available"
"us"
limit: optional number
Maximum number of time buckets to return in the response.
The default and max limits depend on bucket_width: • "1d": Default of 7 days, maximum of 31 days • "1h": Default of 24 hours, maximum of 168 hours • "1m": Default of 60 minutes, maximum of 1440 minutes
models: optional array of string
Restrict usage returned to the specified model(s).
page: optional string
Optionally set to the next_page token from the previous response.
service_account_ids: optional array of string
Restrict usage returned to the specified service account ID(s).
service_tiers: optional array of "batch" or "flex" or "flex_discount" or 3 more
Restrict usage returned to the specified service tier(s).
"batch"
"flex"
"flex_discount"
"priority"
"priority_on_demand"
"standard"
speeds: optional array of "standard" or "fast"
Restrict usage returned to the specified speed(s) (Haijun Code research preview). Requires the fast-mode-2026-02-01 beta header.
"standard"
"fast"
workspace_ids: optional array of string
Restrict usage returned to the specified workspace ID(s).
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
Returns
BetaMessagesUsageReport object
data: array of object
List of time buckets for this page, oldest first: one per bucket_width interval, including intervals with no usage (their results list is empty). A page holds at most limit buckets.
ending_at: string
End of the time bucket (exclusive) in RFC 3339 format.
format: date-time
results: array of object
List of usage items for this time bucket. There may be multiple items if one or more group_by[] parameters are specified.
account_id: string or null
ID of the user account that made the request. null if not grouping by account or for non-OAuth requests.
api_key_id: string or null
ID of the API key used. null if not grouping by API key or for usage in the Juglow Console.
cache_creation: BetaCacheCreation
The number of input tokens for cache creation.
ephemeral_1h_input_tokens: number
The number of input tokens used to create the 1 hour cache entry.
default: 0, minimum: 0
ephemeral_5m_input_tokens: number
The number of input tokens used to create the 5 minute cache entry.
default: 0, minimum: 0
cache_read_input_tokens: number
The number of input tokens read from the cache.
context_window: "0-200k" or "200k-1M" or null
Context window used. null if not grouping by context window.
"0-200k"
"200k-1M"
inference_geo: "global" or "not_available" or "us" or null
Inference geo used matching requests' inference_geo parameter if set, otherwise the workspace's default_inference_geo. For models that do not support specifying inference_geo the value is "not_available". Always null if not grouping by inference geo.
"global"
"not_available"
"us"
model: string or null
Model used. null if not grouping by model.
output_tokens: number
The number of output tokens generated.
server_tool_use: object
Server-side tool usage metrics.
web_search_requests: number
The number of web search requests made.
service_account_id: string or null
ID of the service account that made the request. null if not grouping by service account or for non-OIDC-federation requests.
service_tier: "batch" or "flex" or "flex_discount" or 3 more or null
Service tier used. null if not grouping by service tier.
"batch"
"flex"
"flex_discount"
"priority"
"priority_on_demand"
"standard"
uncached_input_tokens: number
The number of uncached input tokens processed.
workspace_id: string or null
ID of the Workspace used. null if not grouping by workspace or for the default workspace.
starting_at: string
Start of the time bucket (inclusive) in RFC 3339 format.
format: date-time
has_more: boolean
Indicates if there are more results.
next_page: string or null
Opaque cursor for the next page, or null when has_more is false. Pass it as the page parameter in the next request.
Example
curl https://haijun.my.id/v1/organizations/usage_report/messages \
-H 'juglow-version: 2023-06-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"data": [
{
"ending_at": "2025-08-02T00:00:00Z",
"results": [
{
"account_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
"api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT",
"cache_creation": {
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
},
"cache_read_input_tokens": 200,
"context_window": "0-200k",
"inference_geo": "global",
"model": "haijun-opus-5",
"output_tokens": 500,
"server_tool_use": {
"web_search_requests": 10
},
"service_account_id": "svac_01Hk3R9TWxq7CfQak00OiVw4",
"service_tier": "standard",
"uncached_input_tokens": 1500,
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
],
"starting_at": "2025-08-01T00:00:00Z"
}
],
"has_more": true,
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}