> ## Documentation Index
> Fetch the complete documentation index at: https://ona.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Organization Policies

> Updates organization policy settings.

`Unary` · [`Organizations`](/docs/api-reference/generated/organization/overview)

Updates organization policy settings.

Use this method to:

* Configure editor restrictions
* Set environment resource limits
* Define project creation permissions
* Customize default configurations

### Examples

* Update editor policies:

  Restricts available editors and sets a default.

  ```yaml theme={null}
  organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
  allowedEditorIds:
    - "vscode"
    - "jetbrains"
  defaultEditorId: "vscode"
  ```

* Set environment limits:

  Configures limits for environment usage.

  ```yaml theme={null}
  organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
  maximumEnvironmentTimeout: "3600s"
  maximumRunningEnvironmentsPerUser: "5"
  maximumEnvironmentsPerUser: "20"
  ```

## Endpoint

```text theme={null}
POST /api/gitpod.v1.OrganizationService/UpdateOrganizationPolicies
```

Send a Bearer token as described in [Authentication](/docs/api-reference#authenticate-requests). If your organization uses a custom management-plane domain, replace `https://app.ona.com` with that domain.

## Request example

<CodeGroup>
  ```bash cURL theme={null}
  export ONA_HOST=https://app.ona.com
  export ONA_API_KEY=<your-token>

  curl --request POST \
    --url "$ONA_HOST/api/gitpod.v1.OrganizationService/UpdateOrganizationPolicies" \
    --header "Authorization: Bearer $ONA_API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
    "organizationId": "<organization-id>"
  }'
  ```

  ```python Python theme={null}
  import gitpod.v1.organization_pb2 as organization_pb2
  from ona_sdk import create_client_from_env

  ona = create_client_from_env()
  request = organization_pb2.UpdateOrganizationPoliciesRequest(
      organization_id="<organization-id>",
  )
  response = ona.services.organization.update_organization_policies(request)
  print(response)
  ```

  ```typescript TypeScript theme={null}
  import { create } from "@bufbuild/protobuf";
  import { createClientFromEnv } from "@gitpod/sdk";
  import { UpdateOrganizationPoliciesRequestSchema } from "@gitpod/sdk/gitpod/v1/organization_pb";

  async function main() {
    const ona = createClientFromEnv();
    const request = create(UpdateOrganizationPoliciesRequestSchema, {
      organizationId: "<organization-id>",
    });
    const response = await ona.services.organization.updateOrganizationPolicies(request);
    console.log(response);
  }

  main().catch(console.error);
  ```

  ```go Go theme={null}
  package main

  import (
  	"context"
  	"fmt"
  	"log"

  	"connectrpc.com/connect"
  	"github.com/gitpod-io/gitpod-sdk-go/sdk"
  	gitpodpb "github.com/gitpod-io/gitpod-sdk-go/v1"
  )

  func main() {
  	ona, err := sdk.NewFromEnv()
  	if err != nil {
  		log.Fatal(err)
  	}

  	request := connect.NewRequest(&gitpodpb.UpdateOrganizationPoliciesRequest{
  		OrganizationId: "<organization-id>",
  	})
  	response, err := ona.Services.Organization.UpdateOrganizationPolicies(context.Background(), request)
  	if err != nil {
  		log.Fatal(err)
  	}
  	fmt.Println(response.Msg)
  }
  ```

  ```json Request body theme={null}
  {
    "organizationId": "<organization-id>"
  }
  ```
</CodeGroup>

## Request

`gitpod.v1.UpdateOrganizationPoliciesRequest`

| Field                               | Type                                                                                                           | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organizationId`                    | string                                                                                                         | Yes      | organization\_id is the ID of the organization to update policies for Constraints: `required=true, string.uuid=true`.                                                                                                                                                                                                                                                                                                                                                             |
| `maximumEnvironmentTimeout`         | duration string                                                                                                | No       | maximum\_environment\_timeout controls the maximum timeout allowed for environments in seconds. 0 means no limit (never). Minimum duration is 30 minutes (1800 seconds). Constraints: `cel.expression=this == duration('0s') \|\| this >= duration('1800s'), cel.id=maximum_environment_timeout, cel.message=value must be 0s (no limit) or at least 1800s (30 minutes)`.                                                                                                         |
| `membersRequireProjects`            | boolean                                                                                                        | No       | members\_require\_projects controls whether environments can only be created from projects by non-admin users                                                                                                                                                                                                                                                                                                                                                                     |
| `membersCreateProjects`             | boolean                                                                                                        | No       | members\_create\_projects controls whether members can create projects                                                                                                                                                                                                                                                                                                                                                                                                            |
| `allowedEditorIds`                  | array of string                                                                                                | No       | allowed\_editor\_ids is the list of editor IDs that are allowed to be used in the organization                                                                                                                                                                                                                                                                                                                                                                                    |
| `defaultEditorId`                   | string                                                                                                         | No       | default\_editor\_id is the default editor ID to be used when a user doesn't specify one                                                                                                                                                                                                                                                                                                                                                                                           |
| `allowLocalRunners`                 | boolean                                                                                                        | No       | allow\_local\_runners controls whether local runners are allowed to be used in the organization                                                                                                                                                                                                                                                                                                                                                                                   |
| `maximumRunningEnvironmentsPerUser` | 64-bit integer string                                                                                          | No       | maximum\_running\_environments\_per\_user limits simultaneously running environments per user                                                                                                                                                                                                                                                                                                                                                                                     |
| `maximumEnvironmentsPerUser`        | 64-bit integer string                                                                                          | No       | maximum\_environments\_per\_user limits total environments (running or stopped) per user                                                                                                                                                                                                                                                                                                                                                                                          |
| `defaultEnvironmentImage`           | string                                                                                                         | No       | default\_environment\_image is the default container image when none is defined in repo                                                                                                                                                                                                                                                                                                                                                                                           |
| `portSharingDisabled`               | boolean                                                                                                        | No       | port\_sharing\_disabled controls whether user-initiated port sharing is disabled in the organization. System ports (VS Code Browser, agents) are always exempt from this policy.                                                                                                                                                                                                                                                                                                  |
| `deleteArchivedEnvironmentsAfter`   | duration string                                                                                                | No       | delete\_archived\_environments\_after controls how long archived environments are kept before automatic deletion. 0 means no automatic deletion. Maximum duration is 4 weeks (2419200 seconds). Constraints: `duration.lte.seconds=2419200`.                                                                                                                                                                                                                                      |
| `agentPolicy`                       | [UpdateAgentPolicy](#type-gitpod-v1-update-organization-policies-request-update-agent-policy)                  | No       | agent\_policy contains agent-specific policy settings                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `maximumEnvironmentLifetime`        | duration string                                                                                                | No       | maximum\_environment\_lifetime controls for how long environments are allowed to be reused. 0 means no maximum lifetime. Maximum duration is 180 days (15552000 seconds). Constraints: `duration.lte.seconds=15552000`.                                                                                                                                                                                                                                                           |
| `requireCustomDomainAccess`         | boolean                                                                                                        | No       | require\_custom\_domain\_access controls whether users must access via custom domain when one is configured. When true, access via app.gitpod.io is blocked.                                                                                                                                                                                                                                                                                                                      |
| `editorVersionRestrictions`         | map of string to [EditorVersionPolicy](#type-gitpod-v1-editor-version-policy)                                  | No       | editor\_version\_restrictions restricts which editor versions can be used. Maps editor ID to version policy with allowed major versions.                                                                                                                                                                                                                                                                                                                                          |
| `securityAgentPolicy`               | [UpdateSecurityAgentPolicy](#type-gitpod-v1-update-organization-policies-request-update-security-agent-policy) | No       | security\_agent\_policy contains security agent configuration updates                                                                                                                                                                                                                                                                                                                                                                                                             |
| `restrictAccountCreationToScim`     | boolean                                                                                                        | No       | restrict\_account\_creation\_to\_scim controls whether account creation is restricted to SCIM-provisioned users only. When true and SCIM is configured for the organization, only users provisioned via SCIM can create accounts.                                                                                                                                                                                                                                                 |
| `vetoExecPolicy`                    | [VetoExecPolicy](#type-gitpod-v1-veto-exec-policy)                                                             | No       | veto\_exec\_policy contains the veto exec policy for environments.                                                                                                                                                                                                                                                                                                                                                                                                                |
| `maximumEnvironmentLifetimeStrict`  | boolean                                                                                                        | No       | maximum\_environment\_lifetime\_strict controls whether environments past their lockdown\_at timestamp are blocked from starting.                                                                                                                                                                                                                                                                                                                                                 |
| `maxPortAdmissionLevel`             | [AdmissionLevel](#enum-gitpod-v1-admission-level)                                                              | No       | max\_port\_admission\_level caps the maximum admission level a user-opened port may use. UNSPECIFIED means no cap (any AdmissionLevel value is allowed). System ports (VS Code Browser, agents) are exempt. The legacy port\_sharing\_disabled field, when true, takes precedence and blocks all user-initiated port sharing.                                                                                                                                                     |
| `webBrowserDisabled`                | boolean                                                                                                        | No       | web\_browser\_disabled controls whether users can open the built-in web browser from environment pages. This does not affect VS Code Browser.                                                                                                                                                                                                                                                                                                                                     |
| `disableFromScratch`                | boolean                                                                                                        | No       | disable\_from\_scratch controls whether non-admin users can create blank environments without a Git or URL initializer.                                                                                                                                                                                                                                                                                                                                                           |
| `vetoFilePolicy`                    | [VetoFilePolicy](#type-gitpod-v1-veto-file-policy)                                                             | No       | veto\_file\_policy contains veto-file policy updates.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `securityPolicyId`                  | string                                                                                                         | No       | security\_policy\_id assigns a Veto Exec SecurityPolicy to newly created environments. The public GA contract accepts policies that use only SecurityPolicy.Spec.executables. Assignment validates materializability and rejects unsupported executable selectors or effects. Set this field to an empty string to clear the default assignment. Constraints: `ignore=2, string.uuid=true`.                                                                                       |
| `archiveEnvironmentsAfter`          | duration string                                                                                                | No       | archive\_environments\_after controls how long stopped environments remain inactive before archival. Enterprise only. Must be a whole number of days. Minimum duration is 1 day (86400 seconds). Maximum duration is 30 days (2592000 seconds). Constraints: `cel.expression=int(this) % int(duration('86400s')) == 0, cel.id=archive_environments_after_whole_days, cel.message=value must be a whole number of days, duration.gte.seconds=86400, duration.lte.seconds=2592000`. |

## Response

`gitpod.v1.UpdateOrganizationPoliciesResponse`

This message has no fields.

## Related types

<a id="type-gitpod-v1-codex-model-policy" />

<Accordion title="CodexModelPolicy">
  CodexModelPolicy controls per-model availability for Codex.

  `gitpod.v1.CodexModelPolicy`

  | Field         | Type                                                                               | Required | Description                                                                                                       |
  | ------------- | ---------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
  | `modelStates` | map of string to [CodexModelPolicyState](#enum-gitpod-v1-codex-model-policy-state) | No       | model\_states maps CodexOpenAIModel enum names to explicit policy states. Missing entries are treated as allowed. |
</Accordion>

<a id="type-gitpod-v1-custom-security-agent" />

<Accordion title="CustomSecurityAgent">
  CustomSecurityAgent defines a custom security agent configured by an organization admin.

  `gitpod.v1.CustomSecurityAgent`

  | Field          | Type                           | Required | Description                                                                                                      |
  | -------------- | ------------------------------ | -------- | ---------------------------------------------------------------------------------------------------------------- |
  | `id`           | string                         | No       | id is a unique identifier for this custom agent within the organization. Server-generated at save time if empty. |
  | `enabled`      | boolean                        | No       | enabled controls whether this custom agent is deployed to environments                                           |
  | `name`         | string                         | No       | name is the display name for this custom agent                                                                   |
  | `description`  | string                         | No       | description is a human-readable description of what this agent does                                              |
  | `startCommand` | string                         | No       | start\_command is the command that starts the agent                                                              |
  | `envMappings`  | array of CustomAgentEnvMapping | No       | env\_mappings maps script placeholders to organization secret names, resolved to secret values at runtime.       |
</Accordion>

<a id="type-gitpod-v1-editor-version-policy" />

<Accordion title="EditorVersionPolicy">
  EditorVersionPolicy defines the version policy for a specific editor

  `gitpod.v1.EditorVersionPolicy`

  | Field             | Type            | Required | Description                                                                                                                                                           |
  | ----------------- | --------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `allowedVersions` | array of string | No       | allowed\_versions lists the versions that are allowed If empty, we will use the latest version of the editor Examples for JetBrains: `["2025.2", "2025.1", "2024.3"]` |
</Accordion>

<a id="type-gitpod-v1-update-organization-policies-request-update-agent-policy" />

<Accordion title="UpdateAgentPolicy">
  `gitpod.v1.UpdateOrganizationPoliciesRequest.UpdateAgentPolicy`

  | Field                          | Type                                                                     | Required | Description                                                                                                                                                                                                                                  |
  | ------------------------------ | ------------------------------------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `mcpDisabled`                  | boolean                                                                  | No       | mcp\_disabled controls whether MCP (Model Context Protocol) is disabled for agents                                                                                                                                                           |
  | `commandDenyList`              | array of string                                                          | No       | command\_deny\_list contains a list of commands that agents are not allowed to execute                                                                                                                                                       |
  | `scmToolsDisabled`             | boolean                                                                  | No       | scm\_tools\_disabled controls whether SCM (Source Control Management) tools are disabled for agents                                                                                                                                          |
  | `scmToolsAllowedGroupId`       | string                                                                   | No       | scm\_tools\_allowed\_group\_id restricts SCM tools access to members of this group. Empty means no restriction (all users can use SCM tools if not disabled).                                                                                |
  | `conversationSharingPolicy`    | [ConversationSharingPolicy](#enum-gitpod-v1-conversation-sharing-policy) | No       | conversation\_sharing\_policy controls whether agent conversations can be shared                                                                                                                                                             |
  | `maxSubagentsPerEnvironment`   | integer                                                                  | No       | max\_subagents\_per\_environment limits the number of non-terminal sub-agents a parent can have running simultaneously in the same environment. Valid range: 0-10. Zero means use the default (5). Constraints: `int32.gte=0, int32.lte=10`. |
  | `allowedAgentIds`              | array of string                                                          | No       | allowed\_agent\_ids contains the agent IDs users may select when the codex\_rollout feature flag is enabled. Empty means all agents are allowed.                                                                                             |
  | `allowedCodexModels`           | array of [CodexOpenAIModel](#enum-gitpod-v1-codex-open-ai-model)         | No       | **Deprecated.** Deprecated: use codex\_model\_policy. This legacy allowlist cannot distinguish omitted from intentionally empty on update requests. Empty means all Codex models are allowed.                                                |
  | `allowedCodexReasoningEfforts` | array of [CodexReasoningEffort](#enum-gitpod-v1-codex-reasoning-effort)  | No       | allowed\_codex\_reasoning\_efforts contains the Codex reasoning efforts users may select when the codex\_rollout feature flag is enabled. Empty means all Codex reasoning efforts are allowed.                                               |
  | `allowedCodexServiceTiers`     | array of [CodexServiceTier](#enum-gitpod-v1-codex-service-tier)          | No       | allowed\_codex\_service\_tiers contains the Codex service tiers users may select when the codex\_rollout feature flag is enabled. Empty means all Codex service tiers are allowed.                                                           |
  | `goalModeDisabled`             | boolean                                                                  | No       | goal\_mode\_disabled controls whether Codex goal mode is disabled for the organization.                                                                                                                                                      |
  | `codexModelPolicy`             | [CodexModelPolicy](#type-gitpod-v1-codex-model-policy)                   | No       | codex\_model\_policy contains explicit per-model Codex availability states. Omit to leave the current model policy unchanged. Send an empty policy to clear explicit model states.                                                           |
</Accordion>

<a id="type-gitpod-v1-update-organization-policies-request-update-crowd-strike-config" />

<Accordion title="UpdateCrowdStrikeConfig">
  UpdateCrowdStrikeConfig contains CrowdStrike Falcon configuration updates

  `gitpod.v1.UpdateOrganizationPoliciesRequest.UpdateCrowdStrikeConfig`

  | Field               | Type                    | Required | Description                                                                                                         |
  | ------------------- | ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
  | `enabled`           | boolean                 | No       | enabled controls whether CrowdStrike Falcon is deployed to environments                                             |
  | `image`             | string                  | No       | image is the CrowdStrike Falcon sensor container image reference                                                    |
  | `cidSecretId`       | string                  | No       | cid\_secret\_id references an organization secret containing the Customer ID (CID) Constraints: `string.uuid=true`. |
  | `tags`              | string                  | No       | tags are optional tags to apply to the Falcon sensor                                                                |
  | `additionalOptions` | map of string to string | No       | additional\_options contains additional FALCONCTL\_OPT\_\* options as key-value pairs                               |
</Accordion>

<a id="type-gitpod-v1-update-organization-policies-request-update-security-agent-policy" />

<Accordion title="UpdateSecurityAgentPolicy">
  UpdateSecurityAgentPolicy contains security agent configuration updates

  `gitpod.v1.UpdateOrganizationPoliciesRequest.UpdateSecurityAgentPolicy`

  | Field          | Type                                                                                                       | Required | Description                                                                                            |
  | -------------- | ---------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
  | `crowdstrike`  | [UpdateCrowdStrikeConfig](#type-gitpod-v1-update-organization-policies-request-update-crowd-strike-config) | No       | crowdstrike contains CrowdStrike Falcon configuration updates                                          |
  | `customAgents` | array of [CustomSecurityAgent](#type-gitpod-v1-custom-security-agent)                                      | No       | custom\_agents contains custom security agent definitions. Callers must read-then-write the full list. |
</Accordion>

<a id="type-gitpod-v1-veto-exec-policy" />

<Accordion title="VetoExecPolicy">
  VetoExecPolicy defines the policy for blocking or auditing executable execution in environments.

  `gitpod.v1.VetoExecPolicy`

  | Field         | Type                                                           | Required | Description                                                                                                                                                                                     |
  | ------------- | -------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `enabled`     | boolean                                                        | No       | enabled controls whether executable blocking is active                                                                                                                                          |
  | `executables` | array of string                                                | No       | executables is the list of executable paths or names to block                                                                                                                                   |
  | `action`      | [KernelControlsAction](#enum-gitpod-v1-kernel-controls-action) | No       | action specifies what action kernel-level controls take on policy violations                                                                                                                    |
  | `safelist`    | array of string                                                | No       | Output only. Executable paths that are protected by the safelist and cannot be blocked by the denylist. Populated by the server from the built-in default safelist. Ignored on update requests. |
</Accordion>

<a id="type-gitpod-v1-veto-file-block-devices-policy" />

<Accordion title="VetoFileBlockDevicesPolicy">
  VetoFileBlockDevicesPolicy defines block-device open control.

  `gitpod.v1.VetoFileBlockDevicesPolicy`

  | Field     | Type                                                           | Required | Description                                                                                   |
  | --------- | -------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------- |
  | `enabled` | boolean                                                        | No       | enabled controls whether opening block devices is denied or audited.                          |
  | `action`  | [KernelControlsAction](#enum-gitpod-v1-kernel-controls-action) | No       | action specifies how block-device open violations are handled. UNSPECIFIED defaults to BLOCK. |
</Accordion>

<a id="type-gitpod-v1-veto-file-path-policy" />

<Accordion title="VetoFilePathPolicy">
  VetoFilePathPolicy defines path-based file-content access control.

  `gitpod.v1.VetoFilePathPolicy`

  | Field            | Type                                                           | Required | Description                                                                                    |
  | ---------------- | -------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------- |
  | `entries`        | array of VetoFilePathEntry                                     | No       | entries is the list of per-path file policies.                                                 |
  | `defaultSurface` | [VetoFileSurface](#enum-gitpod-v1-veto-file-surface)           | No       | default\_surface is used when an entry surface is UNSPECIFIED. UNSPECIFIED defaults to ACCESS. |
  | `defaultEffect`  | [KernelControlsAction](#enum-gitpod-v1-kernel-controls-action) | No       | default\_effect is used when an entry effect is UNSPECIFIED. UNSPECIFIED defaults to BLOCK.    |
</Accordion>

<a id="type-gitpod-v1-veto-file-policy" />

<Accordion title="VetoFilePolicy">
  VetoFilePolicy defines path and block-device file controls in environments.

  `gitpod.v1.VetoFilePolicy`

  | Field          | Type                                                                         | Required | Description                                                     |
  | -------------- | ---------------------------------------------------------------------------- | -------- | --------------------------------------------------------------- |
  | `enabled`      | boolean                                                                      | No       | enabled controls whether file policy materialization is active. |
  | `paths`        | [VetoFilePathPolicy](#type-gitpod-v1-veto-file-path-policy)                  | No       | paths controls path-based file-content access.                  |
  | `blockDevices` | [VetoFileBlockDevicesPolicy](#type-gitpod-v1-veto-file-block-devices-policy) | No       | block\_devices controls block-device open access.               |
</Accordion>

<a id="enum-gitpod-v1-admission-level" />

<Accordion title="AdmissionLevel">
  Admission level describes who can access an environment instance and its ports.

  | Value                          | Number | Description                                                                                                                                                       |
  | ------------------------------ | -----: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `ADMISSION_LEVEL_UNSPECIFIED`  |      0 |                                                                                                                                                                   |
  | `ADMISSION_LEVEL_OWNER_ONLY`   |      1 | **Deprecated.** ADMISSION\_LEVEL\_OWNER\_ONLY means the environment can only be accessed by the creator. Deprecated: Use ADMISSION\_LEVEL\_CREATOR\_ONLY instead. |
  | `ADMISSION_LEVEL_EVERYONE`     |      2 | ADMISSION\_LEVEL\_EVERYONE means the environment (including ports) can be accessed by everyone.                                                                   |
  | `ADMISSION_LEVEL_ORGANIZATION` |      3 | ADMISSION\_LEVEL\_ORGANIZATION means the environment (including ports) can be accessed by all members of the organization.                                        |
  | `ADMISSION_LEVEL_CREATOR_ONLY` |      4 | ADMISSION\_LEVEL\_CREATOR\_ONLY means the environment (including ports) can only be accessed by the user who created the environment.                             |
</Accordion>

<a id="enum-gitpod-v1-codex-model-policy-state" />

<Accordion title="CodexModelPolicyState">
  CodexModelPolicyState describes an explicit per-model Codex availability override.

  | Value                                  | Number | Description                                                           |
  | -------------------------------------- | -----: | --------------------------------------------------------------------- |
  | `CODEX_MODEL_POLICY_STATE_UNSPECIFIED` |      0 | Unspecified is treated as allowed.                                    |
  | `CODEX_MODEL_POLICY_STATE_ALLOWED`     |      1 | Explicitly allowed. Equivalent to omitting the model from the policy. |
  | `CODEX_MODEL_POLICY_STATE_DISABLED`    |      2 | Explicitly disabled.                                                  |
</Accordion>

<a id="enum-gitpod-v1-codex-open-ai-model" />

<Accordion title="CodexOpenAIModel">
  CodexOpenAIModel is the static allowlist of concrete OpenAI models that the
  Codex app runtime can select through Ona's Codex picker.

  | Value                                     | Number | Description     |
  | ----------------------------------------- | -----: | --------------- |
  | `CODEX_OPEN_AI_MODEL_UNSPECIFIED`         |      0 |                 |
  | `CODEX_OPEN_AI_MODEL_GPT_5_5`             |      1 |                 |
  | `CODEX_OPEN_AI_MODEL_GPT_5_4`             |      2 |                 |
  | `CODEX_OPEN_AI_MODEL_GPT_5_4_MINI`        |      3 | **Deprecated.** |
  | `CODEX_OPEN_AI_MODEL_GPT_5_3_CODEX`       |      4 | **Deprecated.** |
  | `CODEX_OPEN_AI_MODEL_GPT_5_3_CODEX_SPARK` |      5 | **Deprecated.** |
  | `CODEX_OPEN_AI_MODEL_GPT_5_2`             |      6 | **Deprecated.** |
  | `CODEX_OPEN_AI_MODEL_GPT_5_6_SOL`         |      7 |                 |
  | `CODEX_OPEN_AI_MODEL_GPT_5_6_TERRA`       |      8 |                 |
  | `CODEX_OPEN_AI_MODEL_GPT_5_6_LUNA`        |      9 |                 |
</Accordion>

<a id="enum-gitpod-v1-codex-reasoning-effort" />

<Accordion title="CodexReasoningEffort">
  CodexReasoningEffort is the static allowlist of reasoning efforts supported
  by the Codex app runtime.

  | Value                                | Number | Description |
  | ------------------------------------ | -----: | ----------- |
  | `CODEX_REASONING_EFFORT_UNSPECIFIED` |      0 |             |
  | `CODEX_REASONING_EFFORT_LOW`         |      1 |             |
  | `CODEX_REASONING_EFFORT_MEDIUM`      |      2 |             |
  | `CODEX_REASONING_EFFORT_HIGH`        |      3 |             |
  | `CODEX_REASONING_EFFORT_EXTRA_HIGH`  |      4 |             |
  | `CODEX_REASONING_EFFORT_MAX`         |      5 |             |
  | `CODEX_REASONING_EFFORT_ULTRA`       |      6 |             |
</Accordion>

<a id="enum-gitpod-v1-codex-service-tier" />

<Accordion title="CodexServiceTier">
  CodexServiceTier is the static allowlist of service tiers supported by the
  Codex app runtime.

  | Value                            | Number | Description |
  | -------------------------------- | -----: | ----------- |
  | `CODEX_SERVICE_TIER_UNSPECIFIED` |      0 |             |
  | `CODEX_SERVICE_TIER_FAST`        |      1 |             |
</Accordion>

<a id="enum-gitpod-v1-conversation-sharing-policy" />

<Accordion title="ConversationSharingPolicy">
  ConversationSharingPolicy controls how agent conversations can be shared.

  | Value                                      | Number | Description |
  | ------------------------------------------ | -----: | ----------- |
  | `CONVERSATION_SHARING_POLICY_UNSPECIFIED`  |      0 |             |
  | `CONVERSATION_SHARING_POLICY_DISABLED`     |      1 |             |
  | `CONVERSATION_SHARING_POLICY_ORGANIZATION` |      2 |             |
</Accordion>

<a id="enum-gitpod-v1-kernel-controls-action" />

<Accordion title="KernelControlsAction">
  KernelControlsAction defines how a kernel-level policy violation is handled.

  | Value                                | Number | Description                                                             |
  | ------------------------------------ | -----: | ----------------------------------------------------------------------- |
  | `KERNEL_CONTROLS_ACTION_UNSPECIFIED` |      0 | KERNEL\_CONTROLS\_ACTION\_UNSPECIFIED defaults to BLOCK.                |
  | `KERNEL_CONTROLS_ACTION_BLOCK`       |      1 | KERNEL\_CONTROLS\_ACTION\_BLOCK denies the operation.                   |
  | `KERNEL_CONTROLS_ACTION_AUDIT`       |      2 | KERNEL\_CONTROLS\_ACTION\_AUDIT logs the operation without blocking it. |
</Accordion>

<a id="enum-gitpod-v1-veto-file-surface" />

<Accordion title="VetoFileSurface">
  VetoFileSurface defines which file operation classes a path entry targets.

  | Value                                | Number | Description                                                                                                                                                                                                                   |
  | ------------------------------------ | -----: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `VETO_FILE_SURFACE_UNSPECIFIED`      |      0 | VETO\_FILE\_SURFACE\_UNSPECIFIED inherits from the policy default.                                                                                                                                                            |
  | `VETO_FILE_SURFACE_ACCESS`           |      1 | VETO\_FILE\_SURFACE\_ACCESS targets reads, writes, mutating opens, and shared writable mappings.                                                                                                                              |
  | `VETO_FILE_SURFACE_CONTENT_MUTATION` |      2 | VETO\_FILE\_SURFACE\_CONTENT\_MUTATION targets covered current-inode content mutation attempts.                                                                                                                               |
  | `VETO_FILE_SURFACE_CONTENT_READ`     |      3 | VETO\_FILE\_SURFACE\_CONTENT\_READ targets file-content access attempts represented by AccessFileContent: regular reads and read-like file-backed mmap/mprotect attempts. It does not select mutation-only operation classes. |
</Accordion>
