Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Completions

admin.organization.usage.completions(**kwargs) -> UsageCompletionsResponse { data, has_more, next_page, object }
GET
/organization/usage/completions

Get completions usage details for the organization.

Parameters
start_time: Integer

Start time (Unix seconds) of the query time range, inclusive.

api_key_ids: Array[String]

Return only usage for these API keys.

batch: bool

If true, return batch jobs only. If false, return non-batch jobs only. By default, return both.

bucket_width: :"1m" | :"1h" | :"1d"

Width of each time bucket in response. Currently 1m, 1h and 1d are supported, default to 1d.

end_time: Integer

End time (Unix seconds) of the query time range, exclusive.

group_by: Array[:project_id | :user_id | :api_key_id | 4 more]

Group the usage data by the specified fields. Support fields include project_id, user_id, api_key_id, model, batch, service_tier, api_source or any combination of them. When grouped by api_source, results use agents_api for attributed Agents API activity and unlabeled for all other activity. Without source grouping, api_source is null.

limit: Integer

Specifies the number of buckets to return.

  • bucket_width=1d: default: 7, max: 31
  • bucket_width=1h: default: 24, max: 168
  • bucket_width=1m: default: 60, max: 1440
models: Array[String]

Return only usage for these models.

page: String

A cursor for use in pagination. Corresponding to the next_page field from the previous response.

project_ids: Array[String]

Return only usage for these projects.

user_ids: Array[String]

Return only usage for these users.

Returns
class UsageCompletionsResponse { data, has_more, next_page, object }
data: Array[Data{ end_time, object, results, start_time}]
has_more: bool
next_page: String
object: :page

Completions

require "openai"

openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")

response = openai.admin.organization.usage.completions(start_time: 0)

puts(response)
{
    "object": "page",
    "data": [
        {
            "object": "bucket",
            "start_time": 1730419200,
            "end_time": 1730505600,
            "results": [
                {
                    "object": "organization.usage.completions.result",
                    "input_tokens": 1000,
                    "input_cached_tokens": 400,
                    "input_cache_write_tokens": 75,
                    "input_cache_write_12h_tokens": 25,
                    "input_uncached_tokens": 500,
                    "output_tokens": 500,
                    "input_text_tokens": 400,
                    "output_text_tokens": 400,
                    "input_cached_text_tokens": 300,
                    "input_audio_tokens": 50,
                    "input_cached_audio_tokens": 50,
                    "output_audio_tokens": 50,
                    "input_image_tokens": 50,
                    "input_cached_image_tokens": 50,
                    "output_image_tokens": 50,
                    "num_model_requests": 5,
                    "project_id": null,
                    "user_id": null,
                    "api_key_id": null,
                    "model": null,
                    "batch": null,
                    "service_tier": null
                }
            ]
        }
    ],
    "has_more": true,
    "next_page": "page_AAAAAGdGxdEiJdKOAAAAAGcqsYA="
}
Returns Examples
{
    "object": "page",
    "data": [
        {
            "object": "bucket",
            "start_time": 1730419200,
            "end_time": 1730505600,
            "results": [
                {
                    "object": "organization.usage.completions.result",
                    "input_tokens": 1000,
                    "input_cached_tokens": 400,
                    "input_cache_write_tokens": 75,
                    "input_cache_write_12h_tokens": 25,
                    "input_uncached_tokens": 500,
                    "output_tokens": 500,
                    "input_text_tokens": 400,
                    "output_text_tokens": 400,
                    "input_cached_text_tokens": 300,
                    "input_audio_tokens": 50,
                    "input_cached_audio_tokens": 50,
                    "output_audio_tokens": 50,
                    "input_image_tokens": 50,
                    "input_cached_image_tokens": 50,
                    "output_image_tokens": 50,
                    "num_model_requests": 5,
                    "project_id": null,
                    "user_id": null,
                    "api_key_id": null,
                    "model": null,
                    "batch": null,
                    "service_tier": null
                }
            ]
        }
    ],
    "has_more": true,
    "next_page": "page_AAAAAGdGxdEiJdKOAAAAAGcqsYA="
}