AI Control Plane · OpenAI Compliance Logs
OpenAI Compliance Logs
Connect OpenAI's Compliance Logs API to import Codex and ChatGPT usage and spend.
The OpenAI Compliance Logs integration connects OpenAI’s Compliance Logs Platform to import Codex and ChatGPT usage and spend for the organization, feeding the platform’s Observe and Costs views. Codex cloud surfaces such as web tasks and GitHub code review emit no device telemetry, so this feed is their only token source. These imports are post-hoc logs: usage on log-only surfaces can be observed and billed, but not blocked in real time.
OpenAI also has a separate ChatGPT Conversations import that reuses the same API key but a different identifier: a ChatGPT workspace UUID rather than an organization ID. It imports conversation content instead of cost: ChatGPT conversations and Codex cloud web-task transcripts, both surfaced as agent sessions. If both are connected, don’t confuse the two ID fields when configuring them.
Access requirements
Section titled “Access requirements”Viewing connection status on the AI Integrations page requires the org:read scope. Connecting, configuring, or deleting the integration requires the org:admin scope, held by the default Admin role.
Create the credential
Section titled “Create the credential”Create an OpenAI API key with access to compliance logs for the organization, from OpenAI’s own platform console. You’ll also need your OpenAI organization ID, which starts with org-.
Connect it in the dashboard
Section titled “Connect it in the dashboard”Open Organization settings > AI Integrations, find the OpenAI Compliance Logs provider, and click Configure. Enter:
- OpenAI Compliance Logs API key: the key from above.
- OpenAI organization ID: must start with
org-; the dashboard rejects values in any other format when you save.
Verify the connection
Section titled “Verify the connection”The integration doesn’t test the credential synchronously on save; the first scheduled poll does. The Codex & ChatGPT cost metrics stream polls roughly every 5 minutes, with an initial 30-day lookback on first connect. If the key is invalid, OpenAI rejects the request and the stream shows a rejected-credential status with a Retry now action once you’ve fixed the key. A stream that keeps failing auto-pauses after three consecutive rejections rather than retrying indefinitely against a bad credential.
Once polling succeeds, Codex and ChatGPT usage and cost data start flowing into Observe and Costs.