## Costs

`UsageCostsResponse admin().organization().usage().costs(UsageCostsParamsparams, RequestOptionsrequestOptions = RequestOptions.none())`

**get** `/organization/costs`

Get costs details for the organization.

### Parameters

- `UsageCostsParams params`

  - `long startTime`

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

  - `Optional<List<String>> apiKeyIds`

    Return only costs for these API keys.

  - `Optional<BucketWidth> bucketWidth`

    Width of each time bucket in response. Currently only `1d` is supported, default to `1d`.

    - `_1D("1d")`

  - `Optional<Long> endTime`

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

  - `Optional<List<GroupBy>> groupBy`

    Group the costs by the specified fields. Support fields include `project_id`, `line_item`, `api_key_id` and any combination of them.

    - `PROJECT_ID("project_id")`

    - `LINE_ITEM("line_item")`

    - `API_KEY_ID("api_key_id")`

  - `Optional<Long> limit`

    A limit on the number of buckets to be returned. Limit can range between 1 and 180, and the default is 7.

  - `Optional<String> page`

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

  - `Optional<List<String>> projectIds`

    Return only costs for these projects.

### Returns

- `class UsageCostsResponse:`

  - `List<Data> data`

    - `long endTime`

    - `JsonValue; object_ "bucket"constant`

      - `BUCKET("bucket")`

    - `List<Result> results`

      - `class OrganizationUsageCompletionsResult:`

        The aggregated completions usage details of the specific time bucket.

        - `long inputTokens`

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

        - `long numModelRequests`

          The count of requests made to the model.

        - `JsonValue; object_ "organization.usage.completions.result"constant`

          - `ORGANIZATION_USAGE_COMPLETIONS_RESULT("organization.usage.completions.result")`

        - `long outputTokens`

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

        - `Optional<String> apiKeyId`

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

        - `Optional<Boolean> batch`

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

        - `Optional<Long> inputAudioTokens`

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

        - `Optional<Long> inputCachedTokens`

          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.

        - `Optional<String> model`

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

        - `Optional<Long> outputAudioTokens`

          The aggregated number of audio output tokens used.

        - `Optional<String> projectId`

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

        - `Optional<String> serviceTier`

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

        - `Optional<String> userId`

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

      - `class OrganizationUsageEmbeddingsResult:`

        The aggregated embeddings usage details of the specific time bucket.

        - `long inputTokens`

          The aggregated number of input tokens used.

        - `long numModelRequests`

          The count of requests made to the model.

        - `JsonValue; object_ "organization.usage.embeddings.result"constant`

          - `ORGANIZATION_USAGE_EMBEDDINGS_RESULT("organization.usage.embeddings.result")`

        - `Optional<String> apiKeyId`

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

        - `Optional<String> model`

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

        - `Optional<String> projectId`

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

        - `Optional<String> userId`

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

      - `class OrganizationUsageModerationsResult:`

        The aggregated moderations usage details of the specific time bucket.

        - `long inputTokens`

          The aggregated number of input tokens used.

        - `long numModelRequests`

          The count of requests made to the model.

        - `JsonValue; object_ "organization.usage.moderations.result"constant`

          - `ORGANIZATION_USAGE_MODERATIONS_RESULT("organization.usage.moderations.result")`

        - `Optional<String> apiKeyId`

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

        - `Optional<String> model`

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

        - `Optional<String> projectId`

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

        - `Optional<String> userId`

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

      - `class OrganizationUsageImagesResult:`

        The aggregated images usage details of the specific time bucket.

        - `long images`

          The number of images processed.

        - `long numModelRequests`

          The count of requests made to the model.

        - `JsonValue; object_ "organization.usage.images.result"constant`

          - `ORGANIZATION_USAGE_IMAGES_RESULT("organization.usage.images.result")`

        - `Optional<String> apiKeyId`

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

        - `Optional<String> model`

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

        - `Optional<String> projectId`

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

        - `Optional<String> size`

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

        - `Optional<String> source`

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

        - `Optional<String> userId`

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

      - `class OrganizationUsageAudioSpeechesResult:`

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

        - `long characters`

          The number of characters processed.

        - `long numModelRequests`

          The count of requests made to the model.

        - `JsonValue; object_ "organization.usage.audio_speeches.result"constant`

          - `ORGANIZATION_USAGE_AUDIO_SPEECHES_RESULT("organization.usage.audio_speeches.result")`

        - `Optional<String> apiKeyId`

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

        - `Optional<String> model`

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

        - `Optional<String> projectId`

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

        - `Optional<String> userId`

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

      - `class OrganizationUsageAudioTranscriptionsResult:`

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

        - `long numModelRequests`

          The count of requests made to the model.

        - `JsonValue; object_ "organization.usage.audio_transcriptions.result"constant`

          - `ORGANIZATION_USAGE_AUDIO_TRANSCRIPTIONS_RESULT("organization.usage.audio_transcriptions.result")`

        - `long seconds`

          The number of seconds processed.

        - `Optional<String> apiKeyId`

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

        - `Optional<String> model`

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

        - `Optional<String> projectId`

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

        - `Optional<String> userId`

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

      - `class OrganizationUsageVectorStoresResult:`

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

        - `JsonValue; object_ "organization.usage.vector_stores.result"constant`

          - `ORGANIZATION_USAGE_VECTOR_STORES_RESULT("organization.usage.vector_stores.result")`

        - `long usageBytes`

          The vector stores usage in bytes.

        - `Optional<String> projectId`

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

      - `class OrganizationUsageCodeInterpreterSessionsResult:`

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

        - `long numSessions`

          The number of code interpreter sessions.

        - `JsonValue; object_ "organization.usage.code_interpreter_sessions.result"constant`

          - `ORGANIZATION_USAGE_CODE_INTERPRETER_SESSIONS_RESULT("organization.usage.code_interpreter_sessions.result")`

        - `Optional<String> projectId`

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

      - `class OrganizationUsageFileSearchesResult:`

        The aggregated file search calls usage details of the specific time bucket.

        - `long numRequests`

          The count of file search calls.

        - `JsonValue; object_ "organization.usage.file_searches.result"constant`

          - `ORGANIZATION_USAGE_FILE_SEARCHES_RESULT("organization.usage.file_searches.result")`

        - `Optional<String> apiKeyId`

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

        - `Optional<String> projectId`

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

        - `Optional<String> userId`

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

        - `Optional<String> vectorStoreId`

          When `group_by=vector_store_id`, this field provides the vector store ID of the grouped usage result.

      - `class OrganizationUsageWebSearchesResult:`

        The aggregated web search calls usage details of the specific time bucket.

        - `long numModelRequests`

          The count of model requests.

        - `long numRequests`

          The count of web search calls.

        - `JsonValue; object_ "organization.usage.web_searches.result"constant`

          - `ORGANIZATION_USAGE_WEB_SEARCHES_RESULT("organization.usage.web_searches.result")`

        - `Optional<String> apiKeyId`

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

        - `Optional<String> contextLevel`

          When `group_by=context_level`, this field provides the search context size of the grouped usage result.

        - `Optional<String> model`

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

        - `Optional<String> projectId`

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

        - `Optional<String> userId`

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

      - `class OrganizationCostsResult:`

        The aggregated costs details of the specific time bucket.

        - `JsonValue; object_ "organization.costs.result"constant`

          - `ORGANIZATION_COSTS_RESULT("organization.costs.result")`

        - `Optional<Amount> amount`

          The monetary value in its associated currency.

          - `Optional<String> currency`

            Lowercase ISO-4217 currency e.g. "usd"

          - `Optional<Double> value`

            The numeric value of the cost.

        - `Optional<String> apiKeyId`

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

        - `Optional<String> lineItem`

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

        - `Optional<String> projectId`

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

        - `Optional<Double> quantity`

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

    - `long startTime`

  - `boolean hasMore`

  - `Optional<String> nextPage`

  - `JsonValue; object_ "page"constant`

    - `PAGE("page")`

### Example

```java
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.admin.organization.usage.UsageCostsParams;
import com.openai.models.admin.organization.usage.UsageCostsResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        UsageCostsParams params = UsageCostsParams.builder()
            .startTime(0L)
            .build();
        UsageCostsResponse response = client.admin().organization().usage().costs(params);
    }
}
```

#### Response

```json
{
  "data": [
    {
      "end_time": 0,
      "object": "bucket",
      "results": [
        {
          "input_tokens": 0,
          "num_model_requests": 0,
          "object": "organization.usage.completions.result",
          "output_tokens": 0,
          "api_key_id": "api_key_id",
          "batch": true,
          "input_audio_tokens": 0,
          "input_cached_tokens": 0,
          "model": "model",
          "output_audio_tokens": 0,
          "project_id": "project_id",
          "service_tier": "service_tier",
          "user_id": "user_id"
        }
      ],
      "start_time": 0
    }
  ],
  "has_more": true,
  "next_page": "next_page",
  "object": "page"
}
```
