✨ Software.com is now Antenna. Read more →
Skip to Content

ChatGPT

Antenna collects daily usage and cost data across your ChatGPT workspace through OpenAI’s unified Daily Usage Analytics API. The connection covers ChatGPT, Codex, and Work, including usage by people who do not contribute code.

The ChatGPT source collects this unified feed. The separate Codex integration uses OpenAI’s older Codex-only analytics endpoint. For a new connection, use ChatGPT to collect all three tools through one source.

OpenAI must enable the unified analytics endpoint for your workspace. If the required analytics permission is unavailable, contact your OpenAI account team or OpenAI support. Access depends on workspace enablement; the API documentation does not establish an Enterprise-only plan requirement.

Prerequisites

  • A ChatGPT workspace with the unified Daily Usage Analytics API enabled
  • Workspace owner or admin access to the OpenAI Admin console 
  • Your ChatGPT workspace ID

Which API key you need

Create a workspace-scoped Admin key in the OpenAI Admin console. Grant the analytics and workspace-user permissions on the same key. You can also grant the optional spend-limit permission.

ScopeGrants access toRequired
enterprise.analytics.usage.readUnified daily usage for ChatGPT, Codex, and WorkYes
chatgpt.enterprise.user:readCurrent workspace members and their identitiesYes, for member synchronization
chatgpt.enterprise.usage_limit.readWorkspace spend-limit accessOptional

API Platform project keys, personal access tokens, and Codex service-account tokens do not grant access to the unified analytics endpoint. An Admin key carrying only codex.enterprise.analytics.read cannot read unified usage either.

Setup

Create an Admin key

  1. Sign in to the OpenAI Admin console as a workspace owner or admin, and go to Credentials > Admin keys.
  2. Create a key with a descriptive name, such as Antenna Workspace Analytics, and select the workspace you want to connect.
  3. Choose Custom permissions and set Enterprise analytics API to Read. Also grant chatgpt.enterprise.user:read for workspace-member synchronization and, optionally, chatgpt.enterprise.usage_limit.read for spend-limit access.
  4. Copy the key and store it securely.

If your console only offers personal access tokens with Codex or Workspace Agents scopes, ask OpenAI to enable unified analytics and workspace Admin keys for your workspace.

Find your workspace ID

Copy the Workspace ID from your workspace settings in the ChatGPT Admin console. Use the workspace your Admin key is scoped to.

You do not need an API Platform organization ID.

Connect in Antenna

  1. In Antenna, go to Settings > Sources > Add source.
  2. Find OpenAI and select ChatGPT.
  3. Paste your Admin API Key and Workspace ID.
  4. Click Connect.

Workspace ID cannot be changed after connecting. To use a different workspace, disconnect the source and create a new connection.

Data collected

PurposeEndpoint
Per-user daily usageGET /v1/analytics/workspaces/{workspace_id}/usage
Current workspace membersGET /v1/manage/workspaces/{workspace_id}/users
Spend-limit permission checkGET /v1/manage/workspaces/{workspace_id}/usage_limits/workspace

Usage records cover one user per UTC day and include the fields OpenAI provides:

  • Activity: chats and messages
  • Spend: credits, reported USD cost, and estimated USD cost
  • Tokens: uncached input, cached input, output, and total text tokens
  • Breakdowns: usage by client and model, including model speed
  • Code attribution: Codex line and commit attribution, when available

Cached input tokens are included in total text tokens. Client breakdowns may not sum to the full daily total; use the daily totals when reconciling usage.

Workspace-member data includes user IDs, email addresses, names, roles, and seat types. The roster reflects current members, rather than historical membership, and excludes removed or inactive members and service accounts.

Antenna does not collect ChatGPT conversations, prompts, or completions. See Data privacy for more information.

Data freshness

Antenna requests usage and workspace members every four hours. Usage imports cover complete UTC days through yesterday, so today’s activity is not imported during the current day.

OpenAI can revise recent usage as late data arrives. Antenna re-fetches the recent two-day window on subsequent imports to capture those corrections. This window is Antenna’s refresh policy, rather than a guaranteed OpenAI finalization period.

For guidance on checking imported figures, see Data validation.

Spend-limit access

The spend-limit scope is optional. Antenna checks workspace-limit access when you connect; if that permission is missing, usage collection can still succeed and the source shows a limited-access warning.

To clear the warning, update the Admin key to include chatgpt.enterprise.usage_limit.read. If your existing key cannot carry that permission, the connection’s edit form offers a Spend Limits API Key field when spend-limit access is missing.

The unified daily usage endpoint does not contain budget settings. The current integration validates workspace-limit access; importing workspace, group, and user budget snapshots is planned separately.

Troubleshooting

IssueWhat to check
Analytics access is forbiddenGrant enterprise.analytics.usage.read and confirm OpenAI has enabled unified analytics for the workspace. The Codex-only analytics scope is insufficient.
Workspace is not foundVerify the Workspace ID and that your Admin key belongs to that workspace.
Admin key is invalidVerify or replace the workspace Admin key. API Platform project keys and personal access tokens are not substitutes.
Workspace-member identities do not syncGrant chatgpt.enterprise.user:read on the primary Admin key. Usage and member synchronization use separate permissions.
Spend-limit access is missingAdd chatgpt.enterprise.usage_limit.read; missing spend-limit permission does not prevent usage collection.

Existing Codex connections

OpenAI has deprecated the older Codex-only daily usage endpoint and plans to retire it on December 15, 2026. This deprecation does not apply to Codex code review endpoints.

Existing Codex connections do not automatically acquire access to unified usage. Create a ChatGPT connection with an Admin key carrying the new analytics and user-read scopes, and verify that data is available before retiring the old connection.

OpenAI documentation

TopicOpenAI documentation
Unified analytics and workspace accessAnalytics API 
Endpoints, schemas, and permissionsAdmin API reference 
Workspace, group, and user budget APIsUser Usage Limits 
Workspace administrationRoles and workspace permissions 
Last updated on