Skip to content
Primary navigation

Completions

client.admin.organization.usage.completions(UsageCompletionsParams { start_time, api_key_ids, batch, 8 more } query, RequestOptionsoptions?): UsageCompletionsResponse { data, has_more, next_page, object }
GET/organization/usage/completions

Get completions usage details for the organization.

ParametersExpand Collapse
query: UsageCompletionsParams { start_time, api_key_ids, batch, 8 more }
start_time: number

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

api_key_ids?: Array<string>

Return only usage for these API keys.

batch?: boolean

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.

One of the following:
"1m"
"1h"
"1d"
end_time?: number

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

group_by?: Array<"project_id" | "user_id" | "api_key_id" | 3 more>

Group the usage data by the specified fields. Support fields include project_id, user_id, api_key_id, model, batch, service_tier or any combination of them.

One of the following:
"project_id"
"user_id"
"api_key_id"
"model"
"batch"
"service_tier"
limit?: number

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.

ReturnsExpand Collapse
UsageCompletionsResponse { data, has_more, next_page, object }
data: Array<Data>
end_time: number
object: "bucket"
results: Array<OrganizationUsageCompletionsResult { input_tokens, num_model_requests, object, 10 more } | OrganizationUsageEmbeddingsResult { input_tokens, num_model_requests, object, 4 more } | OrganizationUsageModerationsResult { input_tokens, num_model_requests, object, 4 more } | 6 more>
One of the following:
OrganizationUsageCompletionsResult { input_tokens, num_model_requests, object, 10 more }

The aggregated completions usage details of the specific time bucket.

input_tokens: number

The aggregated number of text input tokens used, including cached tokens. For customers subscribe to scale tier, this includes scale tier tokens.

num_model_requests: number

The count of requests made to the model.

object: "organization.usage.completions.result"
output_tokens: number

The aggregated number of text output tokens used. For customers subscribe to scale tier, this includes scale tier tokens.

api_key_id?: string | null

When group_by=api_key_id, this field provides the API key ID of the grouped usage result.

batch?: boolean | null

When group_by=batch, this field tells whether the grouped usage result is batch or not.

input_audio_tokens?: number

The aggregated number of audio input tokens used, including cached tokens.

input_cached_tokens?: number

The aggregated number of text input tokens that has been cached from previous requests. For customers subscribe to scale tier, this includes scale tier tokens.

model?: string | null

When group_by=model, this field provides the model name of the grouped usage result.

output_audio_tokens?: number

The aggregated number of audio output tokens used.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

service_tier?: string | null

When group_by=service_tier, this field provides the service tier of the grouped usage result.

user_id?: string | null

When group_by=user_id, this field provides the user ID of the grouped usage result.

OrganizationUsageEmbeddingsResult { input_tokens, num_model_requests, object, 4 more }

The aggregated embeddings usage details of the specific time bucket.

input_tokens: number

The aggregated number of input tokens used.

num_model_requests: number

The count of requests made to the model.

object: "organization.usage.embeddings.result"
api_key_id?: string | null

When group_by=api_key_id, this field provides the API key ID of the grouped usage result.

model?: string | null

When group_by=model, this field provides the model name of the grouped usage result.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

user_id?: string | null

When group_by=user_id, this field provides the user ID of the grouped usage result.

OrganizationUsageModerationsResult { input_tokens, num_model_requests, object, 4 more }

The aggregated moderations usage details of the specific time bucket.

input_tokens: number

The aggregated number of input tokens used.

num_model_requests: number

The count of requests made to the model.

object: "organization.usage.moderations.result"
api_key_id?: string | null

When group_by=api_key_id, this field provides the API key ID of the grouped usage result.

model?: string | null

When group_by=model, this field provides the model name of the grouped usage result.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

user_id?: string | null

When group_by=user_id, this field provides the user ID of the grouped usage result.

OrganizationUsageImagesResult { images, num_model_requests, object, 6 more }

The aggregated images usage details of the specific time bucket.

images: number

The number of images processed.

num_model_requests: number

The count of requests made to the model.

object: "organization.usage.images.result"
api_key_id?: string | null

When group_by=api_key_id, this field provides the API key ID of the grouped usage result.

model?: string | null

When group_by=model, this field provides the model name of the grouped usage result.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

size?: string | null

When group_by=size, this field provides the image size of the grouped usage result.

source?: string | null

When group_by=source, this field provides the source of the grouped usage result, possible values are image.generation, image.edit, image.variation.

user_id?: string | null

When group_by=user_id, this field provides the user ID of the grouped usage result.

OrganizationUsageAudioSpeechesResult { characters, num_model_requests, object, 4 more }

The aggregated audio speeches usage details of the specific time bucket.

characters: number

The number of characters processed.

num_model_requests: number

The count of requests made to the model.

object: "organization.usage.audio_speeches.result"
api_key_id?: string | null

When group_by=api_key_id, this field provides the API key ID of the grouped usage result.

model?: string | null

When group_by=model, this field provides the model name of the grouped usage result.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

user_id?: string | null

When group_by=user_id, this field provides the user ID of the grouped usage result.

OrganizationUsageAudioTranscriptionsResult { num_model_requests, object, seconds, 4 more }

The aggregated audio transcriptions usage details of the specific time bucket.

num_model_requests: number

The count of requests made to the model.

object: "organization.usage.audio_transcriptions.result"
seconds: number

The number of seconds processed.

formatint64
api_key_id?: string | null

When group_by=api_key_id, this field provides the API key ID of the grouped usage result.

model?: string | null

When group_by=model, this field provides the model name of the grouped usage result.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

user_id?: string | null

When group_by=user_id, this field provides the user ID of the grouped usage result.

OrganizationUsageVectorStoresResult { object, usage_bytes, project_id }

The aggregated vector stores usage details of the specific time bucket.

object: "organization.usage.vector_stores.result"
usage_bytes: number

The vector stores usage in bytes.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

OrganizationUsageCodeInterpreterSessionsResult { num_sessions, object, project_id }

The aggregated code interpreter sessions usage details of the specific time bucket.

num_sessions: number

The number of code interpreter sessions.

object: "organization.usage.code_interpreter_sessions.result"
project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped usage result.

OrganizationCostsResult { object, amount, api_key_id, 3 more }

The aggregated costs details of the specific time bucket.

object: "organization.costs.result"
amount?: Amount { currency, value }

The monetary value in its associated currency.

currency?: string

Lowercase ISO-4217 currency e.g. “usd”

value?: number

The numeric value of the cost.

api_key_id?: string | null

When group_by=api_key_id, this field provides the API Key ID of the grouped costs result.

line_item?: string | null

When group_by=line_item, this field provides the line item of the grouped costs result.

project_id?: string | null

When group_by=project_id, this field provides the project ID of the grouped costs result.

quantity?: number | null

When group_by=line_item, this field provides the quantity of the grouped costs result.

start_time: number
has_more: boolean
next_page: string | null
object: "page"

Completions

import OpenAI from 'openai';

const client = new OpenAI({
  adminAPIKey: process.env['OPENAI_ADMIN_KEY'], // This is the default and can be omitted
});

const response = await client.admin.organization.usage.completions({ start_time: 0 });

console.log(response.data);
{
    "object": "page",
    "data": [
        {
            "object": "bucket",
            "start_time": 1730419200,
            "end_time": 1730505600,
            "results": [
                {
                    "object": "organization.usage.completions.result",
                    "input_tokens": 1000,
                    "output_tokens": 500,
                    "input_cached_tokens": 800,
                    "input_audio_tokens": 0,
                    "output_audio_tokens": 0,
                    "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,
                    "output_tokens": 500,
                    "input_cached_tokens": 800,
                    "input_audio_tokens": 0,
                    "output_audio_tokens": 0,
                    "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="
}