enterprise/admin-setup.md +301 −79
1# Admin Setup1# Admin Setup
2 2
3<div class="max-w-1xl mx-auto">
4 <img src="https://developers.openai.com/images/codex/codex_enterprise_admin.png"
5 alt="Codex enterprise admin toggle"
6 class="block w-full mx-auto rounded-lg"
7 />
8</div>
9
10
11
3This guide is for ChatGPT Enterprise admins who want to set up Codex for their workspace.12This guide is for ChatGPT Enterprise admins who want to set up Codex for their workspace.
4 13
514Use this page as the step-by-step rollout guide. It focuses on setup order and decision points. For detailed policy, configuration, and monitoring details, use the linked pages: [Authentication](https://developers.openai.com/codex/auth), [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security), [Managed configuration](https://developers.openai.com/codex/enterprise/managed-configuration), and [Governance](https://developers.openai.com/codex/enterprise/governance).Use this page as the step-by-step rollout guide. For detailed policy, configuration, and monitoring details, use the linked pages: [Authentication](https://developers.openai.com/codex/auth), [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security), [Managed configuration](https://developers.openai.com/codex/enterprise/managed-configuration), and [Governance](https://developers.openai.com/codex/enterprise/governance).
6 15
7## Enterprise-grade security and privacy16## Enterprise-grade security and privacy
8 17
9Codex supports ChatGPT Enterprise security features, including:18Codex supports ChatGPT Enterprise security features, including:
10 19
11- No training on enterprise data20- No training on enterprise data
1221- Zero data retention for the App, CLI, and IDE (code remains in developer environment)- Zero data retention for the App, CLI, and IDE (code stays in the developer environment)
13- Residency and retention that follow ChatGPT Enterprise policies22- Residency and retention that follow ChatGPT Enterprise policies
14- Granular user access controls23- Granular user access controls
15- Data encryption at rest (AES-256) and in transit (TLS 1.2+)24- Data encryption at rest (AES-256) and in transit (TLS 1.2+)
25- Audit logging via the ChatGPT Compliance API
16 26
17For security controls and runtime protections, see [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security). Refer to [Zero Data Retention (ZDR)](https://platform.openai.com/docs/guides/your-data#zero-data-retention) for more details.27For security controls and runtime protections, see [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security). Refer to [Zero Data Retention (ZDR)](https://platform.openai.com/docs/guides/your-data#zero-data-retention) for more details.
28For a broader enterprise security overview, see the [Codex security white paper](https://trust.openai.com/?itemUid=382f924d-54f3-43a8-a9df-c39e6c959958&source=click).
18 29
1930## Local vs. cloud setup## Pre-requisites: Determine owners and rollout strategy
20
21Codex operates in two environments: local and cloud.
22
231. **Codex local** includes the Codex app, CLI, and IDE extension. The agent runs on the developer’s computer in a sandbox.
242. **Codex cloud** includes hosted Codex features (including Codex cloud, iOS, Code Review, and tasks created by the [Slack integration](https://developers.openai.com/codex/integrations/slack) or [Linear integration](https://developers.openai.com/codex/integrations/linear)). The agent runs remotely in a hosted container with your codebase.
25 31
2632You can enable local, cloud, or both, and control access with workspace settings and role-based access control (RBAC).During your rollout, team members may support different aspects of integrating Codex into your organization. Ensure you have the following owners:
27
28## Step 0: Owners and rollout decision
29
30Ensure you have the following owners:
31 33
3234- Workspace owner with access to ChatGPT Enterprise- **ChatGPT Enterprise workspace owner:** required to configure Codex settings in your workspace.
3335- IT management owner for managed configuration- **Security owner:** determines agent permissions settings for Codex.
3436- Governance owner for analytics / compliance review- **Analytics owner:** integrates analytics and compliance APIs into your data pipelines.
35 37
3638A rollout decision:Decide which Codex surfaces you will use:
37 39
3840- Codex local only (Codex app, CLI, and IDE extension)- **Codex local:** includes the Codex app, CLI, and IDE extension. The agent runs on the developer's computer in a sandbox.
3941- Codex cloud only (Codex web, GitHub code review)- **Codex cloud:** includes hosted Codex features (including Codex cloud, iOS, Code Review, and tasks created by the [Slack integration](https://developers.openai.com/codex/integrations/slack) or [Linear integration](https://developers.openai.com/codex/integrations/linear)). The agent runs remotely in a hosted container with your codebase.
4042- Both local + cloud- **Both:** use local + cloud together.
41 43
4244Review [authentication](https://developers.openai.com/codex/auth) before rollout:You can enable local, cloud, or both, and control access with workspace settings and role-based access control (RBAC).
43
44- Codex local supports ChatGPT sign-in or API keys. Confirm MFA/SSO requirements and any managed login restrictions in authentication
45- Codex cloud requires ChatGPT sign-in
46 45
4746## Step 1: Enable workspace toggles## Step 1: Enable Codex in your workspace
48 47
4948Turn on only the Codex features you plan to roll out in this phase.You configure access to Codex in ChatGPT Enterprise workspace settings.
50 49
51Go to [Workspace Settings > Settings and Permissions](https://chatgpt.com/admin/settings).50Go to [Workspace Settings > Settings and Permissions](https://chatgpt.com/admin/settings).
52 51
53### Codex local52### Codex local
54 53
54Codex local is enabled by default for new ChatGPT Enterprise workspaces. If
55 you are not a ChatGPT workspace owner, you can test whether you have access by
56 [installing Codex](https://developers.openai.com/codex/quickstart) and logging in with your work email.
57
55Turn on **Allow members to use Codex Local**.58Turn on **Allow members to use Codex Local**.
56 59
57This enables use of the Codex app, CLI, and IDE extension for allowed users.60This enables use of the Codex app, CLI, and IDE extension for allowed users.
60 63
61#### Enable device code authentication for Codex CLI64#### Enable device code authentication for Codex CLI
62 65
6366Allow developers to sign in with device codes when using Codex CLI in a non-interactive environment. More details in [authentication](https://developers.openai.com/codex/auth/).Allow developers to sign in with a device code when using Codex CLI in a non-interactive environment (for example, a remote development box). More details are in [authentication](https://developers.openai.com/codex/auth/).
64 67
6568<div class="max-w-1xl mx-auto py-1">
69 <img src="https://developers.openai.com/images/codex/enterprise/local-toggle-config.png"
70 alt="Codex local toggle"
71 class="block w-full mx-auto rounded-lg"
72 />
73</div>
66 74
67### Codex cloud75### Codex cloud
68 76
82 90
83Note that it may take up to 10 minutes for Codex to appear in ChatGPT.91Note that it may take up to 10 minutes for Codex to appear in ChatGPT.
84 92
85#### Allow members to administer Codex
86
87Allows users to view overall Codex [workspace analytics](https://chatgpt.com/codex/settings/analytics), access [cloud-managed requirements](https://chatgpt.com/codex/settings/managed-configs), and manage Cloud environments (edit and delete).
88
89Codex cloud not required.
90
91#### Enable Codex Slack app to post answers on task completion93#### Enable Codex Slack app to post answers on task completion
92 94
93Codex posts its full answer back to Slack when the task completes. Otherwise, Codex posts only a link to the task.95Codex posts its full answer back to Slack when the task completes. Otherwise, Codex posts only a link to the task.
98 100
99By default, Codex cloud agents have no internet access during runtime to help protect against security and safety risks like prompt injection.101By default, Codex cloud agents have no internet access during runtime to help protect against security and safety risks like prompt injection.
100 102
101103This setting enables users to use an allowlist for common software dependency domains, add more domains and trusted sites, and specify allowed HTTP methods.This setting lets users use an allowlist for common software dependency domains, add domains and trusted sites, and specify allowed HTTP methods.
102 104
103For security implications of internet access and runtime controls, see [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security).105For security implications of internet access and runtime controls, see [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security).
104 106
105107<div class="max-w-1xl mx-auto py-1">
108 <img src="https://developers.openai.com/images/codex/enterprise/cloud-toggle-config.png"
109 alt="Codex cloud toggle"
110 class="block w-full mx-auto rounded-lg"
111 />
112</div>
106 113
107## Step 2: Set up custom roles (RBAC)114## Step 2: Set up custom roles (RBAC)
108 115
109116Use RBAC to control which users or groups can access Codex local and Codex cloud.Use RBAC to control granular permissions for access Codex local and Codex cloud.
117
118<div class="max-w-1xl mx-auto">
119 <img src="https://developers.openai.com/images/codex/enterprise/rbac_custom_roles.png"
120 alt="Codex cloud toggle"
121 class="block w-full mx-auto rounded-lg"
122 />
123</div>
110 124
111### What RBAC lets you do125### What RBAC lets you do
112 126
113Workspace Owners can use RBAC in ChatGPT admin settings to:127Workspace Owners can use RBAC in ChatGPT admin settings to:
114 128
115129- Set a default role for users who are not assigned any custom role- Set a default role for users who aren't assigned any custom role
116- Create custom roles with granular permissions130- Create custom roles with granular permissions
117131- Assign one or more custom roles to Groups (including SCIM-synced groups)- Assign one or more custom roles to Groups
132- Automatically sync users into Groups via SCIM
118- Manage roles centrally from the Custom Roles tab133- Manage roles centrally from the Custom Roles tab
119 134
120135Users can inherit multiple roles, and permissions resolve to the maximum allowed across those roles.Users can inherit more than one role, and permissions resolve to the most permissive (least restrictive) access across those roles.
136
137### Create a Codex Admin group
138
139Set up a dedicated "Codex Admin" group rather than granting Codex administration to a broad audience.
140
141The **Allow members to administer Codex** toggle grants the Codex Admin role. Codex Admins can:
142
143- View Codex [workspace analytics](https://chatgpt.com/codex/settings/analytics)
144- Open the Codex [Policies page](https://chatgpt.com/codex/settings/policies) to manage cloud-managed `requirements.toml` policies
145- Assign those managed policies to user groups or configure a default fallback policy
146- Manage Codex cloud environments, including editing and deleting environments
147
148Use this role for the small set of admins who own Codex rollout, policy management, and governance. It's not required for general Codex users. You don't need Codex cloud to enable this toggle.
121 149
122150### Important behavior to plan forRecommended rollout pattern:
123 151
124152Users in any custom role group do not use the workspace default permissions.- Create a "Codex Users" group for people who should use Codex
153- Create a separate "Codex Admin" group for the smaller set of people who should manage Codex settings and policies
154- Assign the custom role with **Allow members to administer Codex** enabled only to the "Codex Admin" group
155- Keep membership in the "Codex Admin" group limited to workspace owners or designated platform, IT, and governance operators
156- If you use SCIM, back the "Codex Admin" group with your identity provider so membership changes are auditable and centrally managed
125 157
126158If you are gradually rolling out Codex, one suggestion is to have a “Codex Users” group and a second “Codex Admin” group that has the “Allow members to administer Codex” toggle enabled.This separation makes it easier to roll out Codex while keeping analytics, environment management, and policy deployment limited to trusted admins. For RBAC setup details and the full permission model, see the [OpenAI RBAC Help Center article](https://help.openai.com/en/articles/11750701-rbac).
127 159
128160For RBAC setup details and the full permission model, see the [OpenAI RBAC Help Center article](https://help.openai.com/en/articles/11750701-rbac).## Step 3: Configure Codex local requirements
129 161
130162## Step 3: Configure Codex local managed settingsCodex Admins can deploy admin-enforced `requirements.toml` policies from the Codex [Policies page](https://chatgpt.com/codex/settings/policies).
131 163
132164For Codex local, set an admin-approved baseline for local behavior before broader rollout.Use this page when you want to apply different local Codex constraints to different groups without distributing device-level files first. The managed policy uses the same `requirements.toml` format described in [Managed configuration](https://developers.openai.com/codex/enterprise/managed-configuration), so you can define allowed approval policies, sandbox modes, web search behavior, MCP server allowlists, feature pins, and restrictive command rules. To disable Browser Use, the in-app browser, or Computer Use, see [Pin feature flags](https://developers.openai.com/codex/enterprise/managed-configuration#pin-feature-flags).
133 165
134166### Use managed configuration for two different goals<div class="max-w-1xl mx-auto py-1">
167 <img src="https://developers.openai.com/images/codex/enterprise/policies_and_configurations_page.png"
168 alt="Codex policies and configurations page"
169 class="block w-full mx-auto rounded-lg"
170 />
171</div>
135 172
136173- **Requirements** (`requirements.toml`): Admin-enforced constraints users cannot overrideRecommended setup:
137- **Managed defaults** (`managed_config.toml`): Starting values applied when Codex launches
138 174
139175### Team Config1. Create a baseline policy for most users, then create stricter or more permissive variants only where needed.
1762. Assign each managed policy to a specific user group, and configure a default fallback policy for everyone else.
1773. Order group rules with care. If a user matches more than one group-specific rule, the first matching rule applies.
1784. Treat each policy as a complete profile for that group. Codex doesn't fill missing fields from later matching group rules.
179
180These cloud-managed policies apply across Codex local surfaces when users sign in with ChatGPT, including the Codex app, CLI, and IDE extension.
181
182### Example requirements.toml policies
183
184Use cloud-managed `requirements.toml` policies to enforce the guardrails you want for each group. The snippets below are examples you can adapt, not required settings.
185
186<div class="max-w-1xl mx-auto py-1">
187 <img src="https://developers.openai.com/images/codex/enterprise/example_policy.png"
188 alt="Example managed requirements policy"
189 class="block w-full mx-auto rounded-lg"
190 />
191</div>
192
193Example: limit web search, sandbox mode, and approvals for a standard local rollout:
194
195```toml
196allowed_web_search_modes = ["disabled", "cached"]
197allowed_sandbox_modes = ["workspace-write"]
198allowed_approval_policies = ["on-request"]
199```
200
201Example: disable Browser Use, the in-app browser, and Computer Use:
202
203```toml
204[features]
205browser_use = false
206in_app_browser = false
207computer_use = false
208```
209
210Example: add a restrictive command rule when you want admins to block or gate specific commands:
211
212```toml
213[rules]
214prefix_rules = [
215 { pattern = [{ token = "git" }, { any_of = ["push", "commit"] }], decision = "prompt", justification = "Require review before mutating remote history." },
216]
217```
218
219You can use either example on its own or combine them in a single managed policy for a group. For exact keys, precedence, and more examples, see [Managed configuration](https://developers.openai.com/codex/enterprise/managed-configuration) and [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security).
220
221### Checking user policies
222
223Use the policy lookup tools at the end of the workflow to confirm which managed policy applies to a user. You can check policy assignment by group or by entering a user email.
224
225<div class="max-w-1xl mx-auto py-1">
226 <img src="https://developers.openai.com/images/codex/enterprise/policy_lookup.png"
227 alt="Policy lookup by group or user email"
228 class="block w-full mx-auto rounded-lg"
229 />
230</div>
231
232If you plan to restrict login method or workspace for local clients, see the admin-managed authentication restrictions in [Authentication](https://developers.openai.com/codex/auth).
233
234## Step 4: Standardize local configuration with Team Config
140 235
141Teams who want to standardize Codex across an organization can use Team Config to share defaults, rules, and skills without duplicating setup on every local configuration.236Teams who want to standardize Codex across an organization can use Team Config to share defaults, rules, and skills without duplicating setup on every local configuration.
142 237
238You can check Team Config settings into the repository under the `.codex` directory. Codex automatically picks up Team Config settings when a user opens that repository.
239
240Start with Team Config for your highest-traffic repositories so teams get consistent behavior in the places they use Codex most.
241
143| Type | Path | Use it to |242| Type | Path | Use it to |
144| ------------------------------------ | ------------- | ---------------------------------------------------------------------------- |243| ------------------------------------ | ------------- | ---------------------------------------------------------------------------- |
145| [Config basics](https://developers.openai.com/codex/config-basic) | `config.toml` | Set defaults for sandbox mode, approvals, model, reasoning effort, and more. |244| [Config basics](https://developers.openai.com/codex/config-basic) | `config.toml` | Set defaults for sandbox mode, approvals, model, reasoning effort, and more. |
148 247
149For locations and precedence, see [Config basics](https://developers.openai.com/codex/config-basic#configuration-precedence).248For locations and precedence, see [Config basics](https://developers.openai.com/codex/config-basic#configuration-precedence).
150 249
151250### Recommended first decisions for local rollout## Step 5: Configure Codex cloud usage (if enabled)
152 251
153252Define a baseline for your pilot:This step covers repository and environment setup after you enable the Codex cloud workspace toggle.
154
155- Approval policy posture
156- Sandbox mode posture
157- Web search posture
158- MCP / connectors policy
159- Local logging and telemetry posture
160
161For exact keys, precedence, MDM deployment, and examples, see [Managed configuration](https://developers.openai.com/codex/enterprise/managed-configuration) and [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security).
162
163If you plan to restrict login method or workspace for local clients, see the admin-managed authentication restrictions in [Authentication](https://developers.openai.com/codex/auth).
164
165## Step 4: Configure Codex cloud usage (if enabled)
166
167This step covers repository and environment setup after the Codex cloud workspace toggle is enabled.
168 253
169### Connect Codex cloud to repositories254### Connect Codex cloud to repositories
170 255
1711. Navigate to [Codex](https://chatgpt.com/codex) and select **Get started**2561. Navigate to [Codex](https://chatgpt.com/codex) and select **Get started**
1722. Select **Connect to GitHub** to install the ChatGPT GitHub Connector if you haven't already connected GitHub to ChatGPT2572. Select **Connect to GitHub** to install the ChatGPT GitHub Connector if you haven't already connected GitHub to ChatGPT
1732583. Install or authorize the ChatGPT GitHub Connector3. Install or connect the ChatGPT GitHub Connector
1744. Choose an installation target for the ChatGPT Connector (typically your main organization)2594. Choose an installation target for the ChatGPT Connector (typically your main organization)
1755. Allow the repositories you want to connect to Codex2605. Allow the repositories you want to connect to Codex
176 261
262For GitHub Enterprise Managed Users (EMU), an organization owner must install
263 the Codex GitHub App for the organization before users can connect
264 repositories in Codex cloud.
265
177For more, see [Cloud environments](https://developers.openai.com/codex/cloud/environments).266For more, see [Cloud environments](https://developers.openai.com/codex/cloud/environments).
178 267
179Codex uses short-lived, least-privilege GitHub App installation tokens for each operation and respects the user's existing GitHub repository permissions and branch protection rules.268Codex uses short-lived, least-privilege GitHub App installation tokens for each operation and respects the user's existing GitHub repository permissions and branch protection rules.
180 269
181270### Configure IP addresses (as needed)### Configure IP addresses
182 271
183272Configure connector / IP allow lists if required by your network policy with these [egress IP ranges](https://openai.com/chatgpt-agents.json).If your GitHub organization controls the IP addresses that apps use to connect, make sure to include these [egress IP ranges](https://openai.com/chatgpt-agents.json).
184 273
185These IP ranges can change. Consider checking them automatically and updating your allow list based on the latest values.274These IP ranges can change. Consider checking them automatically and updating your allow list based on the latest values.
186 275
188 277
189To allow Codex to perform code reviews on GitHub, go to [Settings → Code review](https://chatgpt.com/codex/settings/code-review).278To allow Codex to perform code reviews on GitHub, go to [Settings → Code review](https://chatgpt.com/codex/settings/code-review).
190 279
191280Code review can be configured at the repository level. Users can also enable auto review for their PRs and choose when Codex automatically triggers a review. More details on [GitHub](https://developers.openai.com/codex/integrations/github) integration page.You can configure code review at the repository level. Users can also enable auto review for their PRs and choose when Codex automatically triggers a review. More details are on the [GitHub integration page](https://developers.openai.com/codex/integrations/github).
281
282Use the overview page to confirm your workspace has code review turned on and to see the available review controls.
283
284<div class="max-w-1xl mx-auto py-1">
285 <img src="https://developers.openai.com/images/codex/enterprise/code_review_settings_overview.png"
286 alt="Code review settings overview"
287 class="block w-full mx-auto rounded-lg"
288 />
289</div>
290
291<div class="grid grid-cols-1 gap-4 py-1 md:grid-cols-2">
292 <div class="max-w-1xl mx-auto">
293 <p>
294 Use the auto review settings to decide whether Codex should review pull
295 requests automatically for connected repositories.
296 </p>
297 <img src="https://developers.openai.com/images/codex/enterprise/auto_code_review_settings.png"
298 alt="Automatic code review settings"
299 class="block w-full mx-auto rounded-lg"
300 />
301 </div>
302 <div class="max-w-1xl mx-auto">
303 <p>
304 Use review triggers to control which pull request events should start a
305 Codex review.
306 </p>
307 <img src="https://developers.openai.com/images/codex/enterprise/review_triggers.png"
308 alt="Code review trigger settings"
309 class="block w-full mx-auto rounded-lg"
310 />
311 </div>
312</div>
192 313
193314Additional integration docs for [Slack](https://developers.openai.com/codex/integrations/slack), [GitHub](https://developers.openai.com/codex/integrations/github), and [Linear](https://developers.openai.com/codex/integrations/linear).### Configure Codex security
194 315
195316## Step 5: Set up governance and observabilityCodex Security helps engineering and security teams find, confirm, and remediate likely vulnerabilities in connected GitHub repositories.
196 317
197318Codex gives enterprise teams several options for visibility into adoption and impact. Set up governance early so your team can monitor adoption, investigate issues, and support compliance workflows.At a high level, Codex Security:
319
320- scans connected repositories commit by commit
321- ranks likely findings and confirms them when possible
322- shows structured findings with evidence, criticality, and suggested remediation
323- lets teams refine a repository threat model to improve prioritization and review quality
324
325For setup, scan creation, findings review, and threat model guidance, see [Codex Security setup](https://developers.openai.com/codex/security/setup). For a product overview, see [Codex Security](https://developers.openai.com/codex/security).
326
327Integration docs are also available for [Slack](https://developers.openai.com/codex/integrations/slack), [GitHub](https://developers.openai.com/codex/integrations/github), and [Linear](https://developers.openai.com/codex/integrations/linear).
328
329## Step 6: Set up governance and observability
330
331Codex gives enterprise teams options for visibility into adoption and impact. Set up governance early so your team can track adoption, investigate issues, and support compliance workflows.
198 332
199### Codex governance typically uses333### Codex governance typically uses
200 334
201- Analytics Dashboard for quick, self-serve visibility335- Analytics Dashboard for quick, self-serve visibility
202336- Analytics API for programmatic reporting and BI integration- Analytics API for programmatic reporting and business intelligence integration
203- Compliance API for audit and investigation workflows337- Compliance API for audit and investigation workflows
204 338
205339### Recommended minimum setup### Recommended baseline setup
206 340
207- Assign an owner for adoption reporting341- Assign an owner for adoption reporting
208- Assign an owner for audit and compliance review342- Assign an owner for audit and compliance review
209- Define a review cadence343- Define a review cadence
210- Decide what success looks like344- Decide what success looks like
211 345
212346For details and examples, see [Governance](https://developers.openai.com/codex/enterprise/governance).### Analytics API setup steps
347
348To set up the Analytics API key:
349
3501. Sign in to the [OpenAI API Platform Portal](https://platform.openai.com) as an owner or admin, and select the correct organization.
3512. Go to the [API keys page](https://platform.openai.com/settings/organization/api-keys).
3523. Create a new secret key dedicated to Codex Analytics, and give it a descriptive name such as Codex Analytics API.
3534. Select the appropriate project for your organization. If you only have one project, the default project is fine.
3545. Set the key permissions to Read only, since this API only retrieves analytics data.
3556. Copy the key value and store it securely, because you can only view it once.
3567. Email support@openai.com to have that key scoped to `codex.enterprise.analytics.read` only. Wait for OpenAI to confirm your API key has Codex Analytics API access.
357
358<div class="not-prose max-w-md mx-auto py-1">
359 <img src="https://developers.openai.com/images/codex/codex_analytics_key.png"
360 alt="Codex analytics key creation"
361 class="block w-full mx-auto rounded-lg"
362 />
363</div>
364
365To use the Analytics API key:
366
3671. Find your `workspace_id` in the [ChatGPT Admin console](https://chatgpt.com/admin) under Workspace details.
3682. Call the Analytics API at `https://api.chatgpt.com/v1/analytics/codex` using your Platform API key, and include your `workspace_id` in the path.
3693. Choose the endpoint you want to query:
370
371- /workspaces/`{workspace_id}`/usage
372- /workspaces/`{workspace_id}`/code_reviews
373- /workspaces/`{workspace_id}`/code_review_responses
374
3754. Set a reporting date range with `start_time` and `end_time` if needed.
3765. Retrieve the next page of results with `next_page` if the response spans more than one page.
377
378Example curl command to retrieve workspace usage:
379
380```bash
381curl -H "Authorization: Bearer YOUR_PLATFORM_API_KEY" \
382 "https://api.chatgpt.com/v1/analytics/codex/workspaces/WORKSPACE_ID/usage"
383```
384
385For more details on the Analytics API, see [Analytics API](https://developers.openai.com/codex/enterprise/governance#analytics-api).
386
387### Compliance API setup steps
388
389To set up the Compliance API key:
390
3911. Sign in to the [OpenAI API Platform Portal](https://platform.openai.com) as an owner or admin, and select the correct organization.
3922. Go to the [API keys page](https://platform.openai.com/settings/organization/api-keys).
3933. Create a new secret key dedicated to Compliance API and select the appropriate project for your organization. If you only have one project, the default project is fine.
3944. Choose All permissions.
3955. Copy the key value and store it securely, because you can only view it once.
3966. Send an email to support@openai.com with:
397
398- the last 4 digits of the API key
399- the key name
400- the created-by name
401- the scope needed: `read`, `delete`, or both
402
4037. Wait for OpenAI to confirm your API key has Compliance API access.
404
405To use the Compliance API key:
406
4071. Find your `workspace_id` in the [ChatGPT Admin console](https://chatgpt.com/admin) under Workspace details.
4082. Use the Compliance API at `https://api.chatgpt.com/v1/`
4093. Pass your Compliance API key in the Authorization header as a Bearer token.
4104. For Codex-related compliance data, use these endpoints:
411
412- /compliance/workspaces/`{workspace_id}`/logs
413- /compliance/workspaces/`{workspace_id}`/logs/`{log_file_id}`
414- /compliance/workspaces/`{workspace_id}`/codex_tasks
415- /compliance/workspaces/`{workspace_id}`/codex_environments
416
4175. For most Codex compliance integrations, start with the logs endpoint and request Codex event types such as CODEX_LOG or CODEX_SECURITY_LOG.
4186. Use /logs to list available Codex compliance log files, then /logs/`{log_file_id}` to download a specific file.
419
420Example curl command to list compliance log files:
421
422```bash
423curl -L -H "Authorization: Bearer YOUR_COMPLIANCE_API_KEY" \
424 "https://api.chatgpt.com/v1/compliance/workspaces/WORKSPACE_ID/logs?event_type=CODEX_LOG&after=2026-03-01T00:00:00Z"
425```
426
427Example curl command to list Codex tasks:
428
429```bash
430curl -H "Authorization: Bearer YOUR_COMPLIANCE_API_KEY" \
431 "https://api.chatgpt.com/v1/compliance/workspaces/WORKSPACE_ID/codex_tasks"
432```
433
434For more details on the Compliance API, see [Compliance API](https://developers.openai.com/codex/enterprise/governance#compliance-api).
213 435
214436## Step 6: Confirm and validate setup## Step 7: Confirm and verify setup
215 437
216### What to verify438### What to verify
217 439
219- (If enabled) Users can sign in to Codex cloud (ChatGPT sign-in required)441- (If enabled) Users can sign in to Codex cloud (ChatGPT sign-in required)
220- MFA and SSO requirements match your enterprise security policy442- MFA and SSO requirements match your enterprise security policy
221- RBAC and workspace toggles produce the expected access behavior443- RBAC and workspace toggles produce the expected access behavior
222444- Managed configuration is applied for users- Managed configuration applies for users
223- Governance data is visible for admins445- Governance data is visible for admins
224 446
225For authentication options and enterprise login restrictions, see [Authentication](https://developers.openai.com/codex/auth).447For authentication options and enterprise login restrictions, see [Authentication](https://developers.openai.com/codex/auth).
226 448
227449Once your team is confident with setup, you can confidently roll Codex out to additional teams and organizations.Once your team is confident with setup, you can roll Codex out to more teams and organizations.