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

ChatGPT

Antenna tracks ChatGPT spend across your entire workspace — not just developers — by pulling cost records and spend limits from the ChatGPT Admin API. Use it to see who is using ChatGPT, what it costs, and how that spend tracks against the limits you have set.

ChatGPT and Codex are two surfaces of the same OpenAI integration, and you connect them separately:

SurfaceWhat Antenna collects
ChatGPTOrganization-wide cost data and spend limits, for everyone in the workspace
CodexDeveloper usage analytics — threads, turns, credits, and tokens

The ChatGPT Admin API endpoints Antenna uses are available to ChatGPT Enterprise workspaces. Business, Edu, Team, and Plus plans do not expose the cost and spend limit scopes.

Prerequisites

  • A ChatGPT Enterprise workspace
  • Workspace owner or admin access to the ChatGPT Admin console 
  • Your API Platform organization ID and your ChatGPT workspace ID

Which API key you need

ChatGPT cost data comes from the Compliance API, and spend limits come from the Spend Controls API. Both are read with an Admin key created in the ChatGPT Admin console — not an API Platform project key.

ScopeGrants access toRequired
chatgpt.enterprise.compliance_logs_platform.costs.readPer-user cost recordsYes
chatgpt.enterprise.usage_limit.readWorkspace, group, and user spend limitsOptional

If your workspace cannot grant both scopes on a single key, create a second key with only the spend limit scope and paste it into the optional Spend Limits API Key field when connecting.

Setup

Create an Admin key

  1. Sign in to the ChatGPT Admin console as a workspace owner or admin, and open Access tokens.
  2. Create a new token named something descriptive, such as Antenna ChatGPT Costs.
  3. Choose Custom permissions and enable Read for the compliance logs costs scope and, if you want spend limit reporting, the usage limit scope.
  4. Copy the key and store it securely — you can only view it once.

Find your organization and workspace IDs

  • Organization ID — copy the org-… ID from your API Platform organization settings . Cost records are read at the API Platform organization level.
  • Workspace ID — copy the Workspace ID from your workspace settings in the ChatGPT Admin console . Spend limits are read at the workspace level.

Connect in Antenna

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

The organization ID and workspace ID cannot be changed after connecting. To point Antenna at a different organization or workspace, disconnect the source and connect it again.

Data collected

PurposeEndpoint
Per-user cost recordsGET /v1/compliance/organizations/{organization_id}/logs?event_type=COSTS
Workspace, group, and user spend limitsGET /v1/manage/workspaces/{workspace_id}/usage_limits

Cost records include one row per user per hour, with the product, surface, client, and model, token counts, and the cost in credits or USD. Spend limits include the limit amount, its unit, and whether it is limited or unlimited.

Antenna does not collect ChatGPT conversations, prompts, or completions — only cost and limit metadata.

Cost records reach the Compliance API three to five hours after the activity occurs, so the most recent hours of spend appear with a delay.

Spend limits

ChatGPT and Codex draw from the same OpenAI workspace spend limit, so Antenna reports a single OpenAI budget covering both surfaces rather than a separate limit per tool.

If your key is missing the usage limit scope, the connection still succeeds and cost data continues to flow — Antenna flags the source as having limited access until you add a key with that scope.

OpenAI documentation

TopicOpenAI documentation
Cost recordsCosts API reference 
Spend limitsSpend Controls API reference 
Compliance API overview and plan availabilityCompliance API 
Who can administer workspace credentialsRoles and workspace permissions 
Developer usage analytics, which the Compliance API does not provideAnalytics API 
Last updated on