---
title: "List enterprise control change history"
method: GET
path: "/api/v0/organization/enterprise-controls/history"
tags: ["Organization"]
---

# List enterprise control change history

`GET /api/v0/organization/enterprise-controls/history`

Returns a paginated list of enterprise control setting changes for the organization, ordered by revision descending. Properties for the `settings` object may be added, removed, or renamed between API versions. Clients should parse it as a generic JSON object.

## Query parameters

- `limit` string — Maximum number of items to return (1-100)
- `cursor` string — Cursor for pagination

## Response `200`

Response for status 200

- ListEnterpriseControlChangeHistory200ResponseBody
  - `changes` object[], required — List of enterprise control changes
    - `revision` integer, required — Revision number of the change
    - `settings` object, required — The managed settings snapshot at this revision. Properties may be added, removed, or renamed between API versions. Clients should parse this as a generic JSON object.
      - `sessionDefaultSettings` object
        - `model` string
        - `reasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
        - `interactionMode` 'auto' | 'spec' | 'agi' | 'mission'
        - `autonomyLevel` 'off' | 'low' | 'medium' | 'high'
        - `autonomyMode` 'normal' | 'spec' | 'auto-low' | 'auto-medium' | 'auto-high' — Deprecated: use interactionMode + autonomyLevel instead.
        - `specModeModel` string
        - `specModeReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
        - `runInWorktree` boolean
      - `missionOrchestratorModel` string
      - `missionOrchestratorReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
      - `missionModelSettings` object
        - `workerModel` string
        - `workerReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
        - `validationWorkerModel` string
        - `validationWorkerReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
      - `maxAutonomyLevel` 'off' | 'low' | 'medium' | 'high'
      - `subagentAutonomyLevel` 'off' | 'low' | 'medium' | 'high' | 'inherit'
      - `subagentModelSettings` object
        - `lightModel` string
        - `lightReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
        - `mediumModel` string
        - `mediumReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
        - `heavyModel` string
        - `heavyReasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
      - `mcpAutonomyOverrides` object
      - `mcpAutonomyUrlOverrides` object[]
        - `urlPattern` string, required
        - `defaultLevel` 'low' | 'medium' | 'high', required
      - `builtInToolAutonomyOverrides` object
      - `cloudSessionSync` boolean
      - `voiceDictationEnabled` boolean
      - `imageGenerationEnabled` boolean
      - `wikiCloudSync` boolean
      - `advancedAnalyticsEnabled` boolean
      - `includeCoAuthoredByDroid` boolean
      - `enableDroidShield` boolean
      - `enableOneHourAnthropicCaching` boolean
      - `droidShield20OptIn` boolean
      - `ideAutoConnect` boolean
      - `outputStyle` string
      - `commandAllowlist` string[]
      - `commandDenylist` string[]
      - `commandBlocklist` string[]
      - `customModels` object[]
        - `model` string, required
        - `id` string
        - `index` number
        - `baseUrl` string
        - `apiKey` string
        - `apiKeyHelper` string
        - `apiKeyHelperTtlMs` integer
        - `authMode` 'provider-default' | 'bearer' — Authentication mode for the configured credential. "bearer" uses the Anthropic SDK authToken path; omitted or "provider-default" preserves native provider authentication.
        - `provider` 'anthropic' | 'openai' | 'generic-chat-completion-api' | 'factory' | 'google' | 'xai' | 'voyage' | 'bedrock-converse', required
        - `displayName` string
        - `maxContextLimit` number
        - `enableThinking` boolean
        - `thinkingMaxTokens` number
        - `maxOutputTokens` number
        - `reasoningEffort` 'none' | 'dynamic' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'
        - `extraHeaders` object
        - `extraArgs` object
        - `noImageSupport` boolean
        - `bedrock` object
          - `awsProfile` string
          - `awsRegion` string
          - `bedrockBaseUrl` union
            - string, uri
            - string
          - `awsAuthRefresh` string
          - `awsCredentialExport` string
          - `requestMetadata` object
        - `baseModelId` unknown
        - `useInRouter` boolean
        - `fileEditToolProfile` 'apply-patch' | 'create-edit' — Optional file-tool override for exceptional model harnesses. Use "apply-patch" to advertise ApplyPatch or "create-edit" to advertise Create and Edit. This setting takes precedence over registry overrides, registry provider identity, and GPT/Codex/o-series name inference.
      - `modelPolicy` object
        - `allowedModelIds` string[]
        - `blockedModelIds` string[]
        - `allowCustomModels` boolean
        - `allowedBaseUrls` string[]
        - `allowAllFactoryModels` boolean
        - `isFastModelsAllowed` boolean
        - `requireExplicitOptInModelIds` string[]
        - `allowFactoryRouterByok` boolean
        - `factoryRouterByokOnly` boolean
      - `mcpPolicy` object
        - `enabled` boolean
        - `allowlist` string[]
      - `missionPolicy` object
        - `restrictedAccess` boolean
        - `allowedUserIds` string[]
      - `userModelPolicies` object
      - `enabledPlugins` object
      - `strictEnabledPlugins` boolean
      - `disabledSkills` string[]
      - `extraKnownMarketplaces` object
      - `strictKnownMarketplaces` union[]
        - union
          - object
            - `source` 'github', required
            - `repo` string, required
            - `ref` string
            - `sha` string
          - object
            - `source` 'url', required
            - `url` string, required
            - `ref` string
            - `sha` string
          - object
            - `source` 'local', required
            - `path` string, required
          - object
            - `source` 'git-subdir', required
            - `url` string, required
            - `path` string, required
            - `ref` string
            - `sha` string
      - `networkPolicy` object
        - `allowedIps` string[], required
      - `sandbox` object
        - `enabled` boolean
        - `mode` 'per-command' | 'whole-process'
        - `filesystem` object
          - `allowWrite` string[]
          - `allowRead` string[]
          - `denyWrite` string[]
          - `denyRead` string[]
        - `network` object
          - `allowedDomains` string[]
          - `allowUnixSockets` string[]
          - `allowAllUnixSockets` boolean
          - `allowLocalBinding` boolean
          - `httpProxyPort` number
          - `socksProxyPort` number
      - `allowManagedHooksOnly` boolean
      - `hooks` object
        - `PreToolUse` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `PostToolUse` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `Notification` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `UserPromptSubmit` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `Stop` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `SubagentStop` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `PreCompact` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `SessionStart` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `SessionEnd` object[]
          - `matcher` string
          - `commandRegex` string
          - `hooks` object[], required
            - `type` 'command', required
            - `command` string, required
            - `timeout` number
        - `hooksDisabled` boolean
        - `showHookOutput` boolean
      - `restrictMemberVisibility` boolean
      - `restrictApiKeyCreationToManagers` boolean
      - `managedComputersEnabled` boolean
      - `managedComputersAllowedEmails` string[]
      - `byomComputersEnabled` boolean
      - `byomComputersAllowedEmails` string[]
      - `disableAutoUpdate` boolean
      - `personaSettings` object
        - `enabledRoles` string[]
        - `personaConnectors` object
        - `personaPlugins` object
      - `sessionRetentionDays` integer
      - `factoryRouterGuidance` string
      - `factoryRouterRules` object[]
        - `when` string
        - `guidance` string, required
      - `disableWeeklyUsageSummary` boolean
      - `env` object
      - `telemetry` object
        - `enabled` boolean
        - `logMessageContent` boolean
        - `granularity` 'user' | 'aggregate'
        - `format` 'legacy' | 'genai'
        - `endpoint` string
        - `headers` object
        - `metricExportIntervalMs` integer
    - `user` object, required — The user who made the change
      - `id` string, required — WorkOS user ID who made the change
      - `email` string, nullable, required — Email of the user who made the change
      - `name` string, nullable, required — Display name of the user who made the change
    - `updatedAt` string, date-time, required — ISO 8601 timestamp of when the change was made
  - `pagination` object, required
    - `hasMore` boolean, required — Whether there are more items after this page
    - `nextCursor` string, nullable, required — Cursor to use for the next page, null if no more pages

## Other responses

- `400` — Response for status 400
- `401` — Response for status 401
- `403` — Response for status 403
- `500` — Response for status 500

## Changes

- **2026-09-02** `2b47cb33d833` — 2 info
  - removed the `concise` enum value from the `changes/items/settings/outputStyle` response property for the response status `200`
  - removed the `default` enum value from the `changes/items/settings/outputStyle` response property for the response status `200`
- **2026-08-29** `8a9f1c4e20ac` — 2 info
  - added the optional property `changes/items/settings/outputStyle` to the response with the `200` status
  - added the optional property `changes/items/settings/strictEnabledPlugins` to the response with the `200` status
- **2026-08-25** `d7be223907c9` — 1 info
  - added the optional property `changes/items/settings/enableOneHourAnthropicCaching` to the response with the `200` status
- **2026-08-22** `34857551f3dc` — 1 info
  - added the optional property `changes/items/settings/imageGenerationEnabled` to the response with the `200` status
- **2026-08-20** `abc7b03955dc` — 2 info
  - added the optional property `changes/items/settings/telemetry/format` to the response with the `200` status
  - added the optional property `changes/items/settings/telemetry/granularity` to the response with the `200` status

[Full history](https://skmtc.dev/factory/apis/factory-public-api/changes/api/v0/organization/enterprise-controls/history/get.md)

---

[API](https://skmtc.dev/factory/apis/factory-public-api.md) · [All operations](https://skmtc.dev/factory/apis/factory-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/factory/factory-public-api/revisions/d0c014e1fdab/schema)
