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

# Promote an Agent to another Workspace

> Copies one exact current Agent Version into a distinct Agent in an explicitly named target Workspace. The request must provide a complete mapping for the current Workspace-local harness reference, roster Agent/Version, governed Connection, Skill, and MCP URL/Tunnel; unresolved references and same-identity Agent or governed Connection mappings are refused before the target Agent is visible. Session-owned resources and credentials are never copied. The source and target coordinates remain separate in the response. This operation requires an Idempotency-Key so a lost response retries the same target Agent and Version.

Checkfu support posture: alpha; hosted. Required evidence journey: agent-definition. Deployment-specific readiness and the latest proven release are available from GET /v1/support/capabilities.



## OpenAPI

````yaml /openapi.json post /v1/agents/{agent_id}/promote
openapi: 3.1.0
info:
  title: Checkfu API
  version: '2026-08-31'
  description: >-
    Authentication is declared per operation: API-key, runtime, or connector
    bearer; Automation signature; or credential-free pairing redemption. Every
    general Checkfu REST request requires the dated `Checkfu-Version` header
    (one of: 2026-08-31); the three MCP JSON-RPC transports use
    `MCP-Protocol-Version`, A2A uses `A2A-Version`, and the provider OAuth
    callback carries neither Checkfu header. API keys resolve one Workspace
    without a request selector; authenticated responses identify it with
    `Checkfu-Workspace-Id`.
servers:
  - url: https://api.checkfu.com
security:
  - bearerAuth: []
tags:
  - name: organizations
  - name: sourceRepositories
  - name: tenants
  - name: workspaces
  - name: principals
  - name: principalGroups
  - name: principalAccessCredentials
  - name: apiKeys
  - name: agents
  - name: harnesses
  - name: harnessRuntime
  - name: computerProfiles
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: dreams
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: blueprintInstallations
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentBlueprints
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: concepts
  - name: support
  - name: bootstrapRequests
  - name: connections
  - name: connectionVaults
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: fileTrees
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: actionApprovals
  - name: standingApprovals
  - name: usage
  - name: models
  - name: outcomes
  - name: budgets
  - name: billing
  - name: sessions
  - name: audit
  - name: sessionExports
  - name: runs
  - name: runnerPools
  - name: transcripts
  - name: sessionWatches
  - name: sessionHandoffs
  - name: sessionCapsules
  - name: sessionTrajectories
  - name: webhookEndpoints
  - name: integrationGateway
  - name: workEnvironments
  - name: computers
  - name: computerScreens
  - name: computerBrowserObservations
  - name: computerBrowserActions
  - name: environments
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/agents/{agent_id}/promote:
    post:
      tags:
        - agents
      summary: Promote an Agent to another Workspace
      description: >-
        Copies one exact current Agent Version into a distinct Agent in an
        explicitly named target Workspace. The request must provide a complete
        mapping for the current Workspace-local harness reference, roster
        Agent/Version, governed Connection, Skill, and MCP URL/Tunnel;
        unresolved references and same-identity Agent or governed Connection
        mappings are refused before the target Agent is visible. Session-owned
        resources and credentials are never copied. The source and target
        coordinates remain separate in the response. This operation requires an
        Idempotency-Key so a lost response retries the same target Agent and
        Version.


        Checkfu support posture: alpha; hosted. Required evidence journey:
        agent-definition. Deployment-specific readiness and the latest proven
        release are available from GET /v1/support/capabilities.
      operationId: agents.promoteAgent
      parameters:
        - name: agent_id
          in: path
          schema:
            $ref: '#/components/schemas/AgentId'
          required: true
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-31'
          required: true
        - name: idempotency-key
          in: header
          schema:
            type: string
            allOf:
              - maxLength: 255
              - minLength: 1
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentPromotionParams'
        required: true
      responses:
        '201':
          description: AgentPromotion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPromotion'
          headers:
            checkfu-workspace-id:
              description: The Workspace resolved from the authenticated bearer credential.
              required: true
              schema:
                $ref: '#/components/schemas/WorkspaceId'
        '400':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationMalformedError'
        '401':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - auth.invalid_key
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#auth-invalid-key
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '403':
          description: >-
            The organization, tenant, or workspace backing this key is
            administratively disabled. | Deployment governance or retention
            policy denied the request.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - error
                    properties:
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - auth.disabled_tenancy
                          message:
                            type: string
                          more:
                            type: string
                            enum:
                              - >-
                                https://docs.checkfu.com/reference/errors#auth-disabled-tenancy
                            description: >-
                              Stable public documentation and remedy for this
                              error type.
                        required:
                          - type
                          - message
                          - more
                        additionalProperties: false
                    additionalProperties: false
                  - $ref: '#/components/schemas/PolicyDeniedError'
        '404':
          description: >-
            The requested resource does not exist in the resolved deployment
            boundary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationNotFoundError'
        '409':
          description: >-
            The request conflicts with the resource's current state. | An
            idempotent mutation conflicts with a completed or in-progress
            request for the same key.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationConflictError'
                  - $ref: '#/components/schemas/IdempotencyConflictError'
        '429':
          description: Typed Checkfu wire error
          headers:
            retry-after:
              description: >-
                Delay in seconds for rate limits or deployment quotas with a
                known release or UTC reset boundary
              required: false
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - budget.exceeded
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#budget-exceeded
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '500':
          description: >-
            An unexpected internal failure occurred; the message contains an
            opaque incident reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeInternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    AgentId:
      type: string
      allOf:
        - pattern: ^agent_[0-9a-f]{32}$
    AgentPromotionParams:
      type: object
      properties:
        target_workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        source_version:
          type: integer
          allOf:
            - exclusiveMinimum: 0
        mappings:
          type: object
          properties:
            agents:
              type: array
              items:
                type: object
                properties:
                  source_id:
                    $ref: '#/components/schemas/AgentId'
                  source_version:
                    type: integer
                    allOf:
                      - exclusiveMinimum: 0
                  target_id:
                    $ref: '#/components/schemas/AgentId'
                  target_version:
                    type: integer
                    allOf:
                      - exclusiveMinimum: 0
                required:
                  - source_id
                  - source_version
                  - target_id
                  - target_version
                additionalProperties: false
              allOf:
                - maxItems: 20
            connections:
              type: array
              items:
                type: object
                properties:
                  source_id:
                    $ref: '#/components/schemas/ConnectionId'
                  target_id:
                    $ref: '#/components/schemas/ConnectionId'
                required:
                  - source_id
                  - target_id
                additionalProperties: false
              allOf:
                - maxItems: 20
            skills:
              type: array
              items:
                type: object
                properties:
                  source_type:
                    type: string
                    enum:
                      - anthropic
                      - custom
                  source_id:
                    type: string
                    allOf:
                      - minLength: 1
                  source_version:
                    type: string
                    allOf:
                      - minLength: 1
                  target_type:
                    type: string
                    enum:
                      - anthropic
                      - custom
                  target_id:
                    type: string
                    allOf:
                      - minLength: 1
                  target_version:
                    type: string
                    allOf:
                      - minLength: 1
                required:
                  - source_type
                  - source_id
                  - source_version
                  - target_type
                  - target_id
                  - target_version
                additionalProperties: false
              allOf:
                - maxItems: 128
            harness:
              type: object
              properties:
                source:
                  $ref: '#/components/schemas/ManagedAgentsHarnessReference'
                target:
                  $ref: '#/components/schemas/ManagedAgentsHarnessReference'
              required:
                - source
                - target
              additionalProperties: false
            tunnels:
              type: array
              items:
                type: object
                properties:
                  source_url:
                    type: string
                    allOf:
                      - minLength: 1
                  target_url:
                    type: string
                    allOf:
                      - minLength: 1
                required:
                  - source_url
                  - target_url
                additionalProperties: false
              allOf:
                - maxItems: 20
          required:
            - agents
            - connections
            - skills
            - harness
            - tunnels
          additionalProperties: false
      required:
        - target_workspace_id
        - source_version
        - mappings
      additionalProperties: false
    AgentPromotion:
      type: object
      properties:
        source:
          type: object
          properties:
            workspace_id:
              $ref: '#/components/schemas/WorkspaceId'
            agent_id:
              $ref: '#/components/schemas/AgentId'
            version:
              type: integer
              allOf:
                - exclusiveMinimum: 0
          required:
            - workspace_id
            - agent_id
            - version
          additionalProperties: false
        target:
          $ref: '#/components/schemas/ManagedAgentsAgent_1'
      required:
        - source
        - target
      additionalProperties: false
    WorkspaceId:
      type: string
      allOf:
        - pattern: ^wrkspc_[0-9a-f]{32}$
    ValidationMalformedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.malformed
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-malformed
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The request could not be decoded or violated a declared input
        constraint.
    PolicyDeniedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - policy.denied
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#policy-denied
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: Deployment governance or retention policy denied the request.
    ValidationNotFoundError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.not_found
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-not-found
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The requested resource does not exist in the resolved deployment
        boundary.
    ValidationConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.conflict
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The request conflicts with the resource's current state.
    IdempotencyConflictError:
      anyOf:
        - $ref: '#/components/schemas/ValidationIdempotencyConflictError'
        - $ref: '#/components/schemas/ValidationIdempotencyInProgressError'
      description: >-
        An idempotent mutation conflicts with a completed or in-progress request
        for the same key.
    RuntimeInternalError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - runtime.internal
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#runtime-internal
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An unexpected internal failure occurred; the message contains an opaque
        incident reference.
    ConnectionId:
      type: string
      allOf:
        - pattern: ^conn_[0-9a-f]{32}$
    ManagedAgentsHarnessReference:
      type: string
      allOf:
        - pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})(?:@(?:latest|[1-9][0-9]{0,8}))?$
          description: >-
            a harness catalog name this deployment serves: checkfu, claude-code,
            cline, codex, cursor, deepagents, hermes, openclaw,
            openclaw-connected, opencode, pi
    ManagedAgentsAgent_1:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AgentId'
        archived_at:
          anyOf:
            - type: string
            - type: 'null'
        created_at:
          type: string
        connection_bindings:
          $ref: '#/components/schemas/Arrays_7'
        model:
          $ref: '#/components/schemas/ManagedAgentsModelConfig'
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        harness:
          $ref: '#/components/schemas/ManagedAgentsHarnessReference'
        description:
          $ref: '#/components/schemas/Union_32'
        mcp_servers:
          $ref: '#/components/schemas/Arrays_8'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        multiagent:
          $ref: '#/components/schemas/Union_33'
        skills:
          $ref: '#/components/schemas/Arrays_9'
        system:
          $ref: '#/components/schemas/Union_34'
        tools:
          $ref: '#/components/schemas/Arrays_10'
        workload_trust:
          $ref: '#/components/schemas/ManagedAgentsWorkloadTrust'
        type:
          type: string
          enum:
            - agent
        updated_at:
          type: string
        version:
          type: integer
          allOf:
            - exclusiveMinimum: 0
      required:
        - id
        - archived_at
        - created_at
        - connection_bindings
        - model
        - name
        - harness
        - description
        - mcp_servers
        - metadata
        - multiagent
        - skills
        - system
        - tools
        - workload_trust
        - type
        - updated_at
        - version
      additionalProperties: false
    ValidationIdempotencyConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_conflict
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The Idempotency-Key is already bound to a different request.
    ValidationIdempotencyInProgressError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_in_progress
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-in-progress
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An identical idempotent request is still in progress and may be retried
        later.
    Arrays_7:
      type: array
      items:
        $ref: '#/components/schemas/ManagedAgentsConnectionBinding'
      allOf:
        - maxItems: 20
    ManagedAgentsModelConfig:
      type: object
      properties:
        id:
          type: string
        effort:
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - low
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - medium
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - high
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - xhigh
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - max
              required:
                - type
              additionalProperties: false
        inference_geo:
          type: string
          enum:
            - global
            - us
        speed:
          type: string
          enum:
            - standard
            - fast
      required:
        - id
      additionalProperties: false
    Union_32:
      anyOf:
        - type: string
        - type: 'null'
    Arrays_8:
      type: array
      items:
        $ref: '#/components/schemas/Union_27'
    ResourceMetadata:
      type: object
      additionalProperties:
        type: string
        allOf:
          - maxLength: 512
      allOf:
        - propertyNames:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 64
        - maxProperties: 16
          description: at most 16 correlation pairs with keys of 1 to 64 characters
    Union_33:
      anyOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - coordinator
            agents:
              type: array
              items:
                anyOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - agent
                      id:
                        $ref: '#/components/schemas/AgentId'
                      version:
                        type: integer
                        allOf:
                          - exclusiveMinimum: 0
                    required:
                      - type
                      - id
                      - version
                    additionalProperties: false
                  - $ref: '#/components/schemas/Objects_12'
          required:
            - type
            - agents
          additionalProperties: false
        - type: 'null'
    Arrays_9:
      type: array
      items:
        anyOf:
          - type: object
            properties:
              type:
                type: string
                enum:
                  - anthropic
              skill_id:
                type: string
              version:
                type: string
            required:
              - type
              - skill_id
              - version
            additionalProperties: false
          - type: object
            properties:
              type:
                type: string
                enum:
                  - custom
              skill_id:
                type: string
              version:
                type: string
            required:
              - type
              - skill_id
              - version
            additionalProperties: false
    Union_34:
      anyOf:
        - type: string
        - type: 'null'
    Arrays_10:
      type: array
      items:
        $ref: '#/components/schemas/ManagedAgentsTool'
    ManagedAgentsWorkloadTrust:
      type: object
      properties:
        declaration:
          $ref: '#/components/schemas/Union_35'
        facts:
          $ref: '#/components/schemas/WorkloadTrustFacts'
        effective:
          $ref: '#/components/schemas/WorkloadTrust'
      required:
        - declaration
        - facts
        - effective
      additionalProperties: false
    ManagedAgentsConnectionBinding:
      type: object
      properties:
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        connection_id:
          $ref: '#/components/schemas/ConnectionId'
        provider:
          type: string
          allOf:
            - pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        provider_package_digest:
          type: string
          allOf:
            - pattern: ^sha256:[0-9a-f]{64}$
        connection_revision_id:
          $ref: '#/components/schemas/ConnectionRevisionId'
        capability_snapshot_id:
          $ref: '#/components/schemas/CapabilitySnapshotId'
        capability_snapshot_digest:
          type: string
          allOf:
            - pattern: ^sha256:[0-9a-f]{64}$
        tools:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                allOf:
                  - pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
              digest:
                type: string
                allOf:
                  - pattern: ^sha256:[0-9a-f]{64}$
            required:
              - name
              - digest
            additionalProperties: false
          allOf:
            - maxItems: 1000
      required:
        - name
        - connection_id
        - provider
        - provider_package_digest
        - connection_revision_id
        - capability_snapshot_id
        - capability_snapshot_digest
        - tools
      additionalProperties: false
      description: >-
        Read-only Connection revision, capability snapshot and selected tool
        digests frozen by this Agent Version; never credentials or supplier
        handles.
    Union_27:
      anyOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - url
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            url:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 2048
          required:
            - type
            - name
            - url
          additionalProperties: false
        - $ref: '#/components/schemas/ManagedAgentsConnectionMcpServerParams'
    Objects_12:
      type: object
      properties:
        type:
          type: string
          enum:
            - advisor
        model:
          type: string
      required:
        - type
        - model
      additionalProperties: false
    ManagedAgentsTool:
      anyOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - agent_toolset_20260401
            configs:
              type: array
              items:
                anyOf:
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - bash
                      type:
                        type: string
                        enum:
                          - bash
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - edit
                      type:
                        type: string
                        enum:
                          - edit
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - glob
                      type:
                        type: string
                        enum:
                          - glob
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - grep
                      type:
                        type: string
                        enum:
                          - grep
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - read
                      type:
                        type: string
                        enum:
                          - read
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - web_fetch
                      type:
                        type: string
                        enum:
                          - web_fetch
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                      allowed_domains:
                        $ref: '#/components/schemas/Arrays_6'
                      blocked_domains:
                        $ref: '#/components/schemas/Arrays_6'
                      max_content_tokens:
                        anyOf:
                          - type: integer
                            allOf:
                              - exclusiveMinimum: 0
                          - type: 'null'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - web_search
                      type:
                        type: string
                        enum:
                          - web_search
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                      allowed_domains:
                        $ref: '#/components/schemas/Arrays_6'
                      blocked_domains:
                        $ref: '#/components/schemas/Arrays_6'
                      user_location:
                        anyOf:
                          - $ref: '#/components/schemas/Objects_13'
                          - type: 'null'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
                  - type: object
                    properties:
                      name:
                        type: string
                        enum:
                          - write
                      type:
                        type: string
                        enum:
                          - write
                      enabled:
                        type: boolean
                      permission_policy:
                        $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                    required:
                      - name
                      - type
                      - enabled
                      - permission_policy
                    additionalProperties: false
            default_config:
              $ref: '#/components/schemas/Objects_16'
          required:
            - type
            - configs
            - default_config
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - mcp_toolset
            mcp_server_name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            configs:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  enabled:
                    type: boolean
                  permission_policy:
                    $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
                required:
                  - name
                  - enabled
                  - permission_policy
                additionalProperties: false
            default_config:
              $ref: '#/components/schemas/Objects_16'
          required:
            - type
            - mcp_server_name
            - configs
            - default_config
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_15'
    Union_35:
      anyOf:
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/WorkloadTrust'
            recorded_at:
              $ref: '#/components/schemas/CurrentTimestamp'
          required:
            - value
            - recorded_at
          additionalProperties: false
        - type: 'null'
    WorkloadTrustFacts:
      type: object
      properties:
        authorship:
          type: string
          enum:
            - organization_engineer
            - end_user
            - third_party
            - unknown
        source_review:
          type: string
          enum:
            - workspace_controlled
            - unreviewed
            - unknown
        execution_plane:
          type: string
          enum:
            - organization_local
            - organization_single_tenant
            - shared_or_third_party
            - unknown
        input_exposure:
          type: object
          properties:
            source_build:
              $ref: '#/components/schemas/WorkloadInputControl'
            ingress:
              $ref: '#/components/schemas/WorkloadInputControl'
            resources:
              $ref: '#/components/schemas/WorkloadInputControl'
            installations:
              $ref: '#/components/schemas/WorkloadInputControl'
            content_capabilities:
              $ref: '#/components/schemas/WorkloadInputControl'
          required:
            - source_build
            - ingress
            - resources
            - installations
            - content_capabilities
          additionalProperties: false
      required:
        - authorship
        - source_review
        - execution_plane
        - input_exposure
      additionalProperties: false
    WorkloadTrust:
      type: string
      enum:
        - trusted
        - adversarial
    ConnectionRevisionId:
      type: string
      allOf:
        - pattern: ^crev_[0-9a-f]{32}$
    CapabilitySnapshotId:
      type: string
      allOf:
        - pattern: ^csnap_[0-9a-f]{32}$
    ManagedAgentsConnectionMcpServerParams:
      type: object
      properties:
        type:
          type: string
          enum:
            - connection
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        connection_id:
          $ref: '#/components/schemas/ConnectionId'
      required:
        - type
        - name
        - connection_id
      additionalProperties: false
      description: >-
        An explicit governed Connection account exposed under a named MCP
        toolset.
    ManagedAgentsPermissionPolicy:
      anyOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - always_allow
          required:
            - type
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - always_ask
          required:
            - type
          additionalProperties: false
    Arrays_6:
      type: array
      items:
        type: string
        allOf:
          - minLength: 1
          - maxLength: 255
      allOf:
        - minItems: 1
        - maxItems: 64
    Objects_13:
      type: object
      properties:
        type:
          type: string
          enum:
            - approximate
        city:
          anyOf:
            - type: string
            - type: 'null'
        country:
          anyOf:
            - $ref: '#/components/schemas/ManagedAgentsIsoCountryCode'
            - type: 'null'
        region:
          anyOf:
            - type: string
            - type: 'null'
        timezone:
          anyOf:
            - $ref: '#/components/schemas/ManagedAgentsIanaTimeZone'
            - type: 'null'
      required:
        - type
      additionalProperties: false
    Objects_16:
      type: object
      properties:
        enabled:
          type: boolean
        permission_policy:
          $ref: '#/components/schemas/ManagedAgentsPermissionPolicy'
      required:
        - enabled
        - permission_policy
      additionalProperties: false
    Objects_15:
      type: object
      properties:
        type:
          type: string
          enum:
            - custom
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 128
            - pattern: ^[A-Za-z0-9_-]+$
        description:
          type: string
          allOf:
            - minLength: 1
        input_schema:
          $ref: '#/components/schemas/ManagedAgentsCustomToolInputSchema'
      required:
        - type
        - name
        - description
        - input_schema
      additionalProperties: false
    CurrentTimestamp:
      type: string
      allOf:
        - maxLength: 24
        - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
          description: A canonical UTC ISO-8601 timestamp with millisecond precision.
    WorkloadInputControl:
      type: string
      enum:
        - controlled
        - third_party
        - unknown
    ManagedAgentsIsoCountryCode:
      type: string
      allOf:
        - pattern: ^[A-Z]{2}$
    ManagedAgentsIanaTimeZone:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 255
    ManagedAgentsCustomToolInputSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - object
        properties:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        required:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
      required:
        - type
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
      description: JSON Schema for custom tool input parameters.
    JsonValue:
      description: >-
        A value in the JSON data model: null, boolean, finite number, string,
        array, or object.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````