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.
| Scope | Grants access to | Required |
|---|---|---|
enterprise.analytics.usage.read | Unified daily usage for ChatGPT, Codex, and Work | Yes |
chatgpt.enterprise.user:read | Current workspace members and their identities | Yes, for member synchronization |
chatgpt.enterprise.usage_limit.read | Workspace spend-limit access | Optional |
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
- Sign in to the OpenAI Admin console as a workspace owner or admin, and go to Credentials > Admin keys.
- Create a key with a descriptive name, such as
Antenna Workspace Analytics, and select the workspace you want to connect. - Choose Custom permissions and set Enterprise analytics API to Read. Also grant
chatgpt.enterprise.user:readfor workspace-member synchronization and, optionally,chatgpt.enterprise.usage_limit.readfor spend-limit access. - 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
- In Antenna, go to Settings > Sources > Add source.
- Find OpenAI and select ChatGPT.
- Paste your Admin API Key and Workspace ID.
- Click Connect.
Workspace ID cannot be changed after connecting. To use a different workspace, disconnect the source and create a new connection.
Data collected
| Purpose | Endpoint |
|---|---|
| Per-user daily usage | GET /v1/analytics/workspaces/{workspace_id}/usage |
| Current workspace members | GET /v1/manage/workspaces/{workspace_id}/users |
| Spend-limit permission check | GET /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
| Issue | What to check |
|---|---|
| Analytics access is forbidden | Grant enterprise.analytics.usage.read and confirm OpenAI has enabled unified analytics for the workspace. The Codex-only analytics scope is insufficient. |
| Workspace is not found | Verify the Workspace ID and that your Admin key belongs to that workspace. |
| Admin key is invalid | Verify or replace the workspace Admin key. API Platform project keys and personal access tokens are not substitutes. |
| Workspace-member identities do not sync | Grant chatgpt.enterprise.user:read on the primary Admin key. Usage and member synchronization use separate permissions. |
| Spend-limit access is missing | Add 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
| Topic | OpenAI documentation |
|---|---|
| Unified analytics and workspace access | Analytics API |
| Endpoints, schemas, and permissions | Admin API reference |
| Workspace, group, and user budget APIs | User Usage Limits |
| Workspace administration | Roles and workspace permissions |