- OpenAI Platform: programmatic OpenAI usage accessed through the OpenAI Platform Costs API, broken down by operation (e.g., Chat and Completions, Images, or Embeddings) and model (e.g., gpt-4o). Connected with a read-only Admin API key.
- ChatGPT Enterprise workspace: ChatGPT and Codex usage from one ChatGPT workspace. ChatGPT is workspace usage outside Codex, including Chat and other products OpenAI reports beside Codex, broken down by user, model, and token type. Codex is broken down by Codex client (e.g., Codex CLI, Codex Web, or Codex VS Code), model, and token type. Both are connected with workspace Admin keys and the workspace ID. We recommend a Codex-only key and a separate Enterprise analytics-only key for the same workspace.
openai:billing_source value (admin for OpenAI Platform, workspace_analytics for ChatGPT, or codex_analytics for Codex), so you can filter, group, and allocate costs by data source. See OpenAI Reporting Dimensions for details.
ChatGPT and Codex costs are available only for OpenAI Enterprise customers with a ChatGPT Enterprise workspace. The OpenAI Platform data source has no such requirement.
To attribute OpenAI spend to teams, users, applications, and features by your own per-request dimensions, see Custom LLM Enrichment, which joins per-request token telemetry you deliver to S3 with your OpenAI Platform costs.
OpenAI Data Sources
The table below summarizes what each data source captures and what you need to connect it. ChatGPT and Codex come from the same ChatGPT workspace. In Cost Reports, you can filter by theopenai:billing_source tag to see which data source is associated with a given cost row.
These data sources fill the shared dimensions differently. On OpenAI Platform rows, Account is the project and Resource is the API key ID. On ChatGPT and Codex rows, Billing Account (Organization) is the workspace ID, Account is the Connection Name you set at connect, and Resource is the user’s email, or the user ID when no email is available. Service is an operation on Platform rows,
ChatGPT on ChatGPT rows, and a Codex client on Codex rows. Filter on the openai:billing_source tag to keep a report focused on one data source.This integration covers OpenAI costs billed directly by OpenAI. OpenAI models accessed through Azure OpenAI are captured under your Azure cost integration instead.
OpenAI Permissions
Vantage cannot perform cost-incurring actions and only ever reads cost and usage data from OpenAI.OpenAI Platform Permissions
OpenAI requires a read-only Admin API key to access the Costs API endpoint. The Costs endpoint is not available to non-admin API keys. Vantage only reads from this endpoint and never performs any action that incurs costs. You must be an Organization Owner in your OpenAI organization to create an Admin key.ChatGPT and Codex Permissions
ChatGPT and Codex costs are available only for OpenAI Enterprise customers with a ChatGPT Enterprise workspace. Vantage reads them with workspace Admin keys and the workspace ID from the ChatGPT Admin console. Each analytics permission adds one data source:- Codex analytics API: Read (
codex.enterprise.analytics.read) imports Codex costs by client. - Enterprise analytics API: Read (
enterprise.analytics.usage.read) imports ChatGPT costs.
Connect Your OpenAI Account
You can connect the OpenAI Platform, a ChatGPT Enterprise workspace, or both. Use Add API Key on the OpenAI Settings page for each key. Vantage checks the key’s access and creates the matching connection. All costs appear under the OpenAI provider in Cost Reports. For a ChatGPT Enterprise workspace:- Already connected Codex: Keep your existing Codex key and connection. Add a separate key with only Enterprise analytics API: Read, using the same workspace ID in the same Vantage account. See Add ChatGPT to an Existing Codex Connection.
- Connecting a workspace for the first time: Add a Codex-only key first, then a separate Enterprise analytics-only key with the same workspace ID.
- Already using one key with both permissions: Keep that connection. Do not add another key for the same workspace.
Prerequisites
- You must have a Vantage Organization Owner or Integration Owner role to add or remove this integration. See the Role-Based Access Control documentation for details.
- For the OpenAI Platform, you must be an Organization Owner in your OpenAI organization to create a read-only Admin key.
- For ChatGPT and Codex, you must be an OpenAI Enterprise customer with a ChatGPT Enterprise workspace, and have the Owner or Admin role in that workspace to create workspace Admin keys.
- Create a free Vantage account, then follow the steps below to integrate OpenAI costs.
If your organization restricts access to the provider by IP address, add the following Vantage IP addresses to your provider’s allowlist:
54.87.66.453.95.43.13354.162.3.7244.199.143.633.218.103.23
Connect the OpenAI Platform
Use this data source to track programmatic OpenAI usage from the Platform Costs API.1
Navigate to the Admin Keys page of the OpenAI console, and log in using your company email.
2
At the top, click + Create new Admin key.
3
For Name, add an identifiable name, like Vantage Integration.
4
For Permissions, select Read only.
5
Click Create admin key and copy the generated key. Admin keys start with
sk-admin-.6
Navigate to the Connect tab of the OpenAI Settings page in the Vantage console, then click Add API Key.
7
The Add OpenAI API Key modal is displayed. For API Key, paste your previously generated Admin key. Leave Workspace ID (ChatGPT Enterprise only) blank. For Connection Name, enter a name to identify this integration, such as your name.
8
Click Connect Account.
Connect ChatGPT and Codex
Use this connection to track ChatGPT and Codex usage for one ChatGPT workspace. Codex usage is reported by client, such as Codex CLI, Codex Web, and Codex VS Code. Workspace usage outside Codex is reported as the ChatGPT service. Connect each additional workspace with its own keys. Follow these steps once for each key. If you’re connecting both, create and connect the Codex-only key first, then repeat the steps for the Enterprise analytics-only key with the same Workspace ID.Workspace analytics is available only for OpenAI Enterprise customers. Confirm your organization is on OpenAI Enterprise before you begin. For workspace eligibility, required roles, and permission options, see Managing Admin keys in Admin Console in the OpenAI Help Center.
1
Sign in to the OpenAI Admin Console. Select your tenant if needed, then select the ChatGPT workspace you want Vantage to report on. You must have the Owner or Admin role in that workspace.
The key’s Platform organization must match the organization associated with the ChatGPT workspace you plan to connect.
2
Go to Credentials > Admin keys, then select Create new admin key.
3
Enter a descriptive name, such as Vantage Integration, and choose an Expiration.
When the key expires, imports stop. Analytics connections have no in-place key replacement, so a longer expiration avoids reconnecting.
4
Set one analytics category to Read and leave the other categories at None. Workspace owners select Custom first. Workspace admins set each category directly.
- For the Codex key, set Codex analytics API to Read (
codex.enterprise.analytics.read). - For the ChatGPT key, set Enterprise analytics API to Read (
enterprise.analytics.usage.read).
5
Select Submit, then copy the key. OpenAI shows the secret only once.
It’s best practice to use a dedicated key for Vantage, store it in your organization’s secret-management system, and rotate it according to your security policy.
6
From Workspace details in the ChatGPT Admin Console, copy your Workspace ID. This is a workspace UUID. An OpenAI project ID (
proj_…) is not a workspace ID.7
Navigate to the Connect tab of the OpenAI Settings page in the Vantage console, then click Add API Key.
8
The Add OpenAI API Key modal is displayed. Paste the key into API Key, enter the Workspace ID (ChatGPT Enterprise only), and enter a Connection Name to label this connection in Vantage. Use the same Workspace ID for both keys so Vantage can pair them.
The Analytics API does not expose an account name, so the Connection Name you enter is used to identify this connection in the Vantage UI and as the Account dimension on ChatGPT and Codex cost rows.
9
Click Connect Account.
As soon as costs are processed, they will be available on your All Resources Cost Report. If you remove an OpenAI integration from Vantage, all costs associated with that OpenAI key are removed from the Vantage console.
How Vantage Pairs Workspace Connections
Vantage pairs a Codex-only connection and an Enterprise analytics-only connection when both use the same Workspace ID in the same Vantage account. The Codex connection is the only source of Codex rows. The ChatGPT connection reads the paired Codex usage to subtract it and does not import those Codex costs again. When the pairing changes, Vantage re-imports the most recent three months for the other connection:- If you add the Codex key after the ChatGPT connection has already imported costs, the ChatGPT connection’s costs are re-imported with Codex separated out.
- If you remove the Codex connection and keep the ChatGPT connection, the ChatGPT connection’s costs are re-imported with Codex usage combined under ChatGPT again.
Add ChatGPT to an Existing Codex Connection
To add ChatGPT costs for a workspace you already connected for Codex, keep the existing Codex key and connection, so the Codex costs already imported stay in place. Create a new key with only Enterprise analytics API: Read for the same workspace, then add it with Add API Key using the same Workspace ID. Follow the steps in Connect ChatGPT and Codex. Vantage pairs the new connection with your Codex connection and imports up to the most recent 90 days of ChatGPT costs. Do not add Enterprise analytics API: Read to the existing Codex key. If you already use one key with both permissions, keep that connection and do not add another key for the same workspace. Removing a connection removes its imported costs.Next Steps - Manage Workspace Access
Once the import is complete and the integration status changes to Stable, you can select which workspaces each integration is associated with. See the Workspaces documentation for information.Replace the OpenAI Platform Admin Key
If your OpenAI Platform Admin key is rotated, revoked, or loses owner access, imports fail until Vantage has a working key. You can replace the key on the existing connection instead of deleting it, so the connection keeps its imported costs and workspace assignments.1
Create a new read-only Admin key in the same OpenAI organization. Follow the key creation steps in Connect the OpenAI Platform.
2
Navigate to the Manage tab of the OpenAI Settings page in the Vantage console.
3
Click the connection labeled Admin to open its Manage Connection page.
4
In the Update API Key section, paste the new key into the API Key field, then click Update API Key.
api.usage.read scope, or is blocked by an OpenAI IP allowlist), the key is not saved and the error is displayed. After the key is saved, Vantage re-imports recent months, going back to the oldest month that has not loaded, so months that failed on the old key are filled in.
This option is available for OpenAI Platform connections only. It is not available for ChatGPT Enterprise analytics connections.
Data Refresh
See the provider data refresh documentation for information on when data for each provider refreshes in Vantage. OpenAI Platform, ChatGPT, and Codex data refresh once daily.OpenAI Reporting Dimensions
On OpenAI Cost Reports, you can filter and group across several dimensions. The values available for each dimension depend on the data source, as shown below.When OpenAI Platform appends billing qualifiers to a line item, the token type is retained ahead of the qualifier in the Subcategory, such as “input, long context”.
Vantage applies Managed AI Tags to OpenAI Platform, ChatGPT, and Codex costs. This is a normalized
vntg:ai: schema shared across supported AI providers, so you can analyze AI spend with consistent dimensions. OpenAI Platform rows can include vntg:ai:model, vntg:ai:raw_model, vntg:ai:model_provider, vntg:ai:provider_region, vntg:ai:service_tier, vntg:ai:token_type, vntg:ai:user_id, and vntg:ai:api_key_id. ChatGPT and Codex rows can include vntg:ai:model, vntg:ai:raw_model when canonicalization changes the model name, vntg:ai:model_provider (OpenAI), vntg:ai:inference_speed, vntg:ai:token_type (input, cache_read, or output), vntg:ai:user_email, and vntg:ai:user_id. See Managed AI Tags for the full schema.
Usage data is available for OpenAI, measured in tokens. OpenAI Platform token counts are available when usage enrichment data is available. ChatGPT and Codex token counts come from workspace analytics.
Notes on ChatGPT and Codex costs:
- ChatGPT dollar amounts are the workspace usage OpenAI reports for a user, model, speed, and day, minus that user’s matching Codex cost. When the workspace has no Codex connection, nothing is subtracted, so ChatGPT amounts include Codex usage. ChatGPT Enterprise workspace usage is separate from OpenAI Platform API costs, so connecting both an OpenAI Platform key and a workspace key does not count the same spend twice.
- Dollar amounts by token type are allocations. Vantage splits each daily model cost across
uncached_input_tokens,cached_input_tokens, andoutput_tokensin proportion to token counts. - Codex client- and token-type dollar amounts are allocation estimates. Vantage allocates OpenAI’s model-level costs across clients and token types so the resulting rows reconcile to OpenAI’s imported model-level cost. Model-level cost and speed originate from OpenAI’s model breakdown.
- When OpenAI reports usage without a dollar price, Vantage keeps the token usage and records the cost as $0, with “Dollar price unavailable” in the row description.
- Agents in ChatGPT are included in the ChatGPT service when OpenAI reports them. Workspace agents that run in Slack are not included, because OpenAI excludes them from the daily usage data Vantage reads.
- Tax and per-seat subscription fees are not included. Amounts are the usage-based costs OpenAI reports in its workspace analytics, not a complete invoice.
- Active Resources are not available for ChatGPT or Codex. These costs are available in Cost Reports and related features, such as Virtual Tags, Budgets, and Anomaly Detection.
View ChatGPT and Codex Spend by User
For ChatGPT and Codex spend, cost rows use the user’s email as the Resource ID, or the user ID when no email is available, so you can group a Cost Report by Resource. You can also filter and group by user tags:vntg:ai:user_email and vntg:ai:user_id on all accounts, and openai:user_email and openai:user_id on accounts created before August 30, 2026. Spend that OpenAI reports at the workspace level but does not attribute to a specific user appears on a reconciliation row tagged openai:cost_attribution = unattributed.