> ## 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.

# Update AutomationGraph layout

> CAS-replaces presentation coordinates under expected_layout_version without changing the semantic revision or invalidating a reviewed plan.



## OpenAPI

````yaml /openapi.json patch /v1/automation-graphs/{id}/layout
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: harnessRuntime
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentBlueprints
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: managedTools
  - name: concepts
  - name: support
  - name: connections
  - name: connectionVaults
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: fileTrees
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: actionApprovals
  - name: standingApprovals
  - name: workloadReviewPolicies
  - 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: sessionCapsules
  - name: sessionTrajectories
  - name: webhookEndpoints
  - name: integrationGateway
  - name: workEnvironments
  - name: computers
  - name: computerScreens
  - name: computerBrowserObservations
  - name: computerBrowserActions
  - name: environments
  - name: computerHeadlessOperations
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/automation-graphs/{id}/layout:
    patch:
      tags:
        - automationGraphs
      summary: Update AutomationGraph layout
      description: >-
        CAS-replaces presentation coordinates under expected_layout_version
        without changing the semantic revision or invalidating a reviewed plan.


        Checkfu support posture: alpha; hosted. Required evidence journey:
        automation-firing. Deployment-specific readiness and the latest proven
        release are available from GET /v1/support/capabilities.
      operationId: automationGraphs.patchAutomationGraphLayout
      parameters:
        - name: id
          in: path
          schema:
            $ref: '#/components/schemas/AutomationGraphId'
          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:
              type: object
              properties:
                expected_layout_version:
                  type: integer
                  exclusiveMinimum: 0
                layout:
                  $ref: '#/components/schemas/Objects_108'
              required:
                - expected_layout_version
                - layout
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Objects_111'
          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:
    AutomationGraphId:
      type: string
      pattern: ^agph_[0-9a-f]{32}$
    Objects_108:
      type: object
      properties:
        nodes:
          $ref: '#/components/schemas/AutomationGraphLayoutNodes'
      required:
        - nodes
      additionalProperties: false
    Objects_111:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationGraphId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        document:
          $ref: '#/components/schemas/AutomationGraphOutcomeEvaluators'
        layout:
          $ref: '#/components/schemas/Objects_108'
        created_by_principal_id:
          $ref: '#/components/schemas/PrincipalId'
        status:
          type: string
          enum:
            - active
            - archived
        revision:
          type: integer
          exclusiveMinimum: 0
        layout_version:
          type: integer
          exclusiveMinimum: 0
        applied_revision:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
        bindings:
          $ref: '#/components/schemas/Arrays_35'
        latest_application_id:
          anyOf:
            - $ref: '#/components/schemas/AutomationGraphApplicationId'
            - type: 'null'
        active_application_id:
          anyOf:
            - $ref: '#/components/schemas/AutomationGraphApplicationId'
            - type: 'null'
        adopt:
          anyOf:
            - $ref: '#/components/schemas/Objects_109'
            - type: 'null'
        created_at:
          type: string
        updated_at:
          type: string
        archived_at:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - id
        - workspace_id
        - document
        - layout
        - created_by_principal_id
        - status
        - revision
        - layout_version
        - applied_revision
        - bindings
        - latest_application_id
        - active_application_id
        - created_at
        - updated_at
        - archived_at
      additionalProperties: false
    WorkspaceId:
      type: string
      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.
    AutomationGraphLayoutNodes:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            allOf:
              - maxLength: 16384
              - minLength: 1
              - maxLength: 128
          x:
            type: number
          'y':
            type: number
        required:
          - id
          - x
          - 'y'
        additionalProperties: false
      allOf:
        - maxItems: 256
    AutomationGraphOutcomeEvaluators:
      type: object
      properties:
        name:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        service_principal_id:
          $ref: '#/components/schemas/PrincipalId'
        nodes:
          $ref: '#/components/schemas/Arrays_32'
        edges:
          $ref: '#/components/schemas/Arrays_34'
      required:
        - name
        - environment_id
        - service_principal_id
        - nodes
        - edges
      additionalProperties: false
    PrincipalId:
      type: string
      pattern: ^prin_[0-9a-f]{32}$
    Arrays_35:
      type: array
      items:
        $ref: '#/components/schemas/Objects_110'
    AutomationGraphApplicationId:
      type: string
      pattern: ^agpa_[0-9a-f]{32}$
    Objects_109:
      type: object
      properties:
        automation_id:
          $ref: '#/components/schemas/AutomationId'
        expected_version:
          type: integer
          exclusiveMinimum: 0
      required:
        - automation_id
        - expected_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.
    EnvironmentId:
      type: string
      pattern: ^env_[0-9a-f]{32}$
    Arrays_32:
      type: array
      items:
        anyOf:
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - trigger
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              trigger:
                anyOf:
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - schedule
                      cron:
                        type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 255
                      timezone:
                        type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 255
                    required:
                      - kind
                      - cron
                      - timezone
                    additionalProperties: false
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - schedule_once
                      at:
                        $ref: '#/components/schemas/CurrentTimestamp'
                      cron: false
                      timezone: false
                    required:
                      - kind
                      - at
                    additionalProperties: false
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - webhook
                      dedupePointer:
                        type: string
                        allOf:
                          - maxLength: 512
                          - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
                      predicates:
                        $ref: '#/components/schemas/Arrays_33'
                      provider:
                        type: string
                        pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                      mcpEvents:
                        type: boolean
                        enum:
                          - true
                    required:
                      - kind
                      - dedupePointer
                      - predicates
                    additionalProperties: false
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - subscription
                      collaborationSpaceId:
                        $ref: '#/components/schemas/CollaborationSpaceId'
                      source:
                        anyOf:
                          - type: object
                            properties:
                              kind:
                                type: string
                                enum:
                                  - conversation
                              conversation:
                                $ref: '#/components/schemas/Union_204'
                            required:
                              - kind
                              - conversation
                            additionalProperties: false
                          - type: object
                            properties:
                              kind:
                                type: string
                                enum:
                                  - resource
                              resourceType:
                                type: string
                                pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                              externalId:
                                type: string
                                allOf:
                                  - minLength: 1
                                  - maxLength: 512
                            required:
                              - kind
                              - resourceType
                              - externalId
                            additionalProperties: false
                    required:
                      - kind
                      - collaborationSpaceId
                      - source
                    additionalProperties: false
            required:
              - kind
              - id
              - trigger
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - trigger
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              dedupePointer:
                type: string
                allOf:
                  - maxLength: 512
                  - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
              predicates:
                $ref: '#/components/schemas/Arrays_33'
            required:
              - kind
              - id
              - dedupePointer
              - predicates
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - agent
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              agent:
                $ref: '#/components/schemas/AgentId'
              sessionTarget:
                $ref: '#/components/schemas/AutomationAgentSessionTarget'
              budget:
                $ref: '#/components/schemas/SessionBudgetRequest'
              deliveryScreen:
                anyOf:
                  - type: object
                    properties:
                      modelRoutingProfileKey:
                        type: string
                        pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                      tier:
                        $ref: '#/components/schemas/Union_132'
                      instructions:
                        type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 4096
                      failure:
                        $ref: '#/components/schemas/Union_208'
                    required:
                      - modelRoutingProfileKey
                      - instructions
                      - failure
                    additionalProperties: false
                  - type: object
                    properties:
                      evaluation:
                        $ref: '#/components/schemas/Objects_104'
                      rule:
                        $ref: '#/components/schemas/Union_209'
                      failure:
                        $ref: '#/components/schemas/Union_208'
                    required:
                      - evaluation
                      - rule
                      - failure
                    additionalProperties: false
            required:
              - kind
              - id
              - agent
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - check
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              modelRoutingProfileKey:
                type: string
                pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
              tier:
                $ref: '#/components/schemas/Union_132'
              instructions:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              failure:
                $ref: '#/components/schemas/Union_208'
              derivedFrom:
                type: object
                properties:
                  agent:
                    $ref: '#/components/schemas/AgentId'
                  version:
                    type: integer
                    allOf:
                      - exclusiveMinimum: 0
                      - maximum: 9007199254740991
                required:
                  - agent
                  - version
                additionalProperties: false
            required:
              - kind
              - id
              - modelRoutingProfileKey
              - instructions
              - failure
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - check
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              evaluation:
                $ref: '#/components/schemas/Objects_104'
              rule:
                $ref: '#/components/schemas/Union_209'
              failure:
                $ref: '#/components/schemas/Union_208'
              derivedFrom:
                type: object
                properties:
                  agent:
                    $ref: '#/components/schemas/AgentId'
                  version:
                    type: integer
                    allOf:
                      - exclusiveMinimum: 0
                      - maximum: 9007199254740991
                required:
                  - agent
                  - version
                additionalProperties: false
            required:
              - kind
              - id
              - evaluation
              - rule
              - failure
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - outcome
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              rubric:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 65536
              maxIterations:
                type: integer
                allOf:
                  - minimum: 1
                    maximum: 20
              check:
                anyOf:
                  - type: object
                    properties:
                      modelRoutingProfileKey:
                        type: string
                        pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                      tier:
                        $ref: '#/components/schemas/Union_132'
                      instructions:
                        type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 4096
                      failure:
                        $ref: '#/components/schemas/Union_208'
                      derivedFrom:
                        type: object
                        properties:
                          agent:
                            $ref: '#/components/schemas/AgentId'
                          version:
                            type: integer
                            allOf:
                              - exclusiveMinimum: 0
                              - maximum: 9007199254740991
                        required:
                          - agent
                          - version
                        additionalProperties: false
                    required:
                      - modelRoutingProfileKey
                      - instructions
                      - failure
                    additionalProperties: false
                  - type: object
                    properties:
                      evaluation:
                        $ref: '#/components/schemas/Objects_104'
                      rule:
                        $ref: '#/components/schemas/Union_209'
                      failure:
                        $ref: '#/components/schemas/Union_208'
                      derivedFrom:
                        type: object
                        properties:
                          agent:
                            $ref: '#/components/schemas/AgentId'
                          version:
                            type: integer
                            allOf:
                              - exclusiveMinimum: 0
                              - maximum: 9007199254740991
                        required:
                          - agent
                          - version
                        additionalProperties: false
                    required:
                      - evaluation
                      - rule
                      - failure
                    additionalProperties: false
              feedbackOnFalse:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 1024
              report:
                type: object
                properties:
                  extraction:
                    type: string
                    enum:
                      - json
                      - model
                  outputs:
                    $ref: '#/components/schemas/OutcomeReportDistinctOutputKeys'
                required:
                  - extraction
                  - outputs
                additionalProperties: false
            required:
              - kind
              - id
              - rubric
              - maxIterations
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - flow_review
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              modelRoutingProfileKey:
                type: string
                pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
              tier:
                $ref: '#/components/schemas/Union_132'
              criteria:
                $ref: '#/components/schemas/UniqueFlowReviewCriteria'
            required:
              - kind
              - id
              - modelRoutingProfileKey
              - criteria
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - output
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
            required:
              - kind
              - id
              - name
            additionalProperties: false
          - $ref: '#/components/schemas/AutomationGraphStepBudgetRequiresNewSession'
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_check
              check:
                $ref: '#/components/schemas/Union_211'
              inputBindings:
                $ref: '#/components/schemas/AutomationGraphNamedBindings'
              join:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - all_completed
                required:
                  - kind
                additionalProperties: false
            required:
              - id
              - kind
              - check
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_sessions_query
              agent:
                $ref: '#/components/schemas/AgentId'
              limit:
                type: integer
                allOf:
                  - minimum: 1
                    maximum: 100
              scanLimit:
                type: integer
                allOf:
                  - minimum: 1
                    maximum: 1000
              maxEventPositions:
                type: integer
                allOf:
                  - minimum: 1
                    maximum: 1000
            required:
              - id
              - kind
              - agent
              - limit
              - scanLimit
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_sessions_processed
              queryNodeId:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              requiredEffectNodeIds:
                type: array
                items:
                  type: string
                  allOf:
                    - maxLength: 16384
                    - minLength: 1
                    - maxLength: 128
                allOf:
                  - maxItems: 20
            required:
              - id
              - kind
              - queryNodeId
              - requiredEffectNodeIds
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_skill_proposal
              queryNodeId:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              modelRoutingProfileKey:
                type: string
                pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
              parameters:
                $ref: '#/components/schemas/AutomationSkillProposalParameters'
              inputBindings:
                $ref: '#/components/schemas/AutomationGraphNamedBindings'
              join:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - all_completed
                required:
                  - kind
                additionalProperties: false
            required:
              - id
              - kind
              - queryNodeId
              - modelRoutingProfileKey
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_skill_proposal_observation
              proposalNodeId:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
            required:
              - id
              - kind
              - proposalNodeId
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_skill_read
              skill:
                $ref: '#/components/schemas/SkillId'
              version:
                type: integer
                allOf:
                  - minimum: 1
                    maximum: 9007199254740991
            required:
              - id
              - kind
              - skill
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_parse_json
              outputSchema:
                $ref: '#/components/schemas/AutomationJsonOutputSchema'
              inputBindings:
                $ref: '#/components/schemas/AutomationGraphJsonInputBindings'
            required:
              - id
              - kind
              - outputSchema
              - inputBindings
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_memory_read
              memoryStore:
                $ref: '#/components/schemas/MemoryStoreId'
              path:
                $ref: '#/components/schemas/MemoryPath'
            required:
              - id
              - kind
              - memoryStore
              - path
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_memory_write
              memoryStore:
                $ref: '#/components/schemas/MemoryStoreId'
              parameters:
                $ref: '#/components/schemas/AutomationMemoryWriteParameters'
              inputBindings:
                $ref: '#/components/schemas/AutomationGraphNamedBindings'
              join:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - all_completed
                required:
                  - kind
                additionalProperties: false
            required:
              - id
              - kind
              - memoryStore
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_managed_tool
              selection:
                $ref: '#/components/schemas/ManagedToolSelection'
              arguments:
                $ref: '#/components/schemas/ManagedToolInvocationArguments'
              maximumChargeMicrousd:
                type: integer
                allOf:
                  - minimum: 0
                  - maximum: 9007199254740991
              argumentBindings:
                $ref: '#/components/schemas/AutomationGraphNamedBindings'
              join:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - all_completed
                required:
                  - kind
                additionalProperties: false
              acted_as: false
              retry: false
            required:
              - id
              - kind
              - selection
              - arguments
              - maximumChargeMicrousd
            additionalProperties: false
            allOf:
              - anyOf:
                  - properties:
                      argumentBindings: false
                  - properties:
                      arguments:
                        type: object
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_connection
              connection:
                $ref: '#/components/schemas/ConnectionId'
              tool:
                type: string
                pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
              arguments:
                $ref: '#/components/schemas/SecretFreeAutomationGraphArguments'
              argumentBindings:
                $ref: '#/components/schemas/AutomationGraphArgumentBindings'
              join:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - all_completed
                required:
                  - kind
                additionalProperties: false
              retry:
                type: object
                properties:
                  maxAttempts:
                    type: integer
                    allOf:
                      - minimum: 2
                        maximum: 5
                  waitSeconds:
                    type: integer
                    allOf:
                      - minimum: 0
                        maximum: 3600
                  repeatSafety:
                    $ref: '#/components/schemas/AutomationConnectionRetrySafety'
                required:
                  - maxAttempts
                  - waitSeconds
                  - repeatSafety
                additionalProperties: false
            required:
              - id
              - kind
              - connection
              - tool
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_approval
              approver:
                $ref: '#/components/schemas/PrincipalId'
              message:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
              timeoutSeconds:
                type: integer
                allOf:
                  - exclusiveMinimum: 0
                  - maximum: 604800
            required:
              - id
              - kind
              - approver
              - message
            additionalProperties: false
          - type: object
            properties:
              id:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 64
                  - pattern: ^[A-Za-z0-9_]+$
              name:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 255
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
              kind:
                type: string
                enum:
                  - step_wait
              seconds:
                type: integer
                allOf:
                  - exclusiveMinimum: 0
                  - maximum: 604800
            required:
              - id
              - kind
              - seconds
            additionalProperties: false
          - type: object
            properties:
              kind:
                type: string
                enum:
                  - decision
              id:
                type: string
                allOf:
                  - maxLength: 16384
                  - minLength: 1
                  - maxLength: 128
              condition:
                anyOf:
                  - $ref: '#/components/schemas/Objects_106'
                  - $ref: '#/components/schemas/Objects_107'
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - check_result
                      from:
                        type: string
                        allOf:
                          - maxLength: 16384
                          - minLength: 1
                          - maxLength: 128
                      rule:
                        $ref: '#/components/schemas/Union_209'
                    required:
                      - kind
                      - from
                      - rule
                    additionalProperties: false
              inputBindings:
                $ref: '#/components/schemas/AutomationGraphNamedBindings'
              join:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - all_completed
                required:
                  - kind
                additionalProperties: false
            required:
              - kind
              - id
              - condition
            additionalProperties: false
      allOf:
        - maxItems: 256
    Arrays_34:
      type: array
      items:
        $ref: '#/components/schemas/Union_220'
      allOf:
        - maxItems: 256
    Objects_110:
      type: object
      properties:
        resource_kind:
          anyOf:
            - type: string
              enum:
                - automation
        resource_id:
          type: string
          allOf:
            - maxLength: 16384
            - minLength: 1
        resource_version:
          type: integer
          exclusiveMinimum: 0
        subject:
          type: string
          allOf:
            - maxLength: 16384
            - minLength: 1
        disposition:
          type: string
          enum:
            - created
            - reused
            - adopted
        management:
          type: string
          enum:
            - reconcile
            - none
        configuration_fingerprint:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
      required:
        - resource_kind
        - resource_id
        - resource_version
        - subject
        - disposition
        - management
        - configuration_fingerprint
      additionalProperties: false
    AutomationId:
      type: string
      pattern: ^auto_[0-9a-f]{32}$
    CurrentTimestamp:
      type: string
      allOf:
        - maxLength: 24
        - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
          x-checkfu-current-timestamp: true
          description: A canonical UTC ISO-8601 timestamp with millisecond precision.
    Arrays_33:
      type: array
      items:
        $ref: '#/components/schemas/Union_202'
      allOf:
        - maxItems: 32
    CollaborationSpaceId:
      type: string
      pattern: ^cspace_[0-9a-f]{32}$
    Union_204:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - ambient
                - direct
            root_external_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 512
            thread_external_id:
              type: 'null'
          required:
            - kind
            - root_external_id
            - thread_external_id
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - thread
            root_external_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 512
            thread_external_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 512
          required:
            - kind
            - root_external_id
            - thread_external_id
          additionalProperties: false
    AgentId:
      type: string
      pattern: ^agent_[0-9a-f]{32}$
    AutomationAgentSessionTarget:
      anyOf:
        - type: object
          properties:
            mode:
              type: string
              enum:
                - start_new
          required:
            - mode
          additionalProperties: false
        - type: object
          properties:
            mode:
              type: string
              enum:
                - continue_selected
            session:
              $ref: '#/components/schemas/SessionId'
          required:
            - mode
            - session
          additionalProperties: false
    SessionBudgetRequest:
      type: object
      properties:
        limit:
          $ref: '#/components/schemas/SessionBudgetRequestSafeLimit'
        metric:
          type: string
          enum:
            - model_tokens
            - model_spend
            - session_runtime_ms
            - web_search_requests
            - total_spend
      required:
        - limit
      additionalProperties: false
      description: >-
        A create-time Session spending cap compiled into one session-scoped
        pause_session Budget.
    Union_132:
      type: string
      enum:
        - default
        - planning
        - tool_loop
    Union_208:
      type: string
      enum:
        - fail_open
        - fail_closed
    Objects_104:
      type: object
      properties:
        schemaVersion:
          type: number
          enum:
            - 1
        modelRoutingProfileKey:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        tier:
          $ref: '#/components/schemas/Union_132'
        timeoutMs:
          type: number
          allOf:
            - minimum: 100
            - maximum: 30000
        questions:
          $ref: '#/components/schemas/TypedCheckQuestions_1'
      required:
        - schemaVersion
        - modelRoutingProfileKey
        - questions
      additionalProperties: false
    Union_209:
      anyOf:
        - $ref: '#/components/schemas/CheckRuleThresholds'
        - $ref: '#/components/schemas/Objects_105'
        - $ref: '#/components/schemas/CheckRuleThresholds_1'
        - type: object
          properties:
            type:
              type: string
              enum:
                - all
            rules:
              type: array
              items:
                anyOf:
                  - $ref: '#/components/schemas/CheckRuleThresholds'
                  - $ref: '#/components/schemas/Objects_105'
                  - $ref: '#/components/schemas/CheckRuleThresholds_1'
              allOf:
                - minItems: 1
                - maxItems: 8
          required:
            - type
            - rules
          additionalProperties: false
    OutcomeReportDistinctOutputKeys:
      type: array
      items:
        anyOf:
          - type: object
            properties:
              key:
                type: string
                pattern: ^[a-z][a-z0-9_]{0,49}$
              title:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 200
              description:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              type:
                type: string
                enum:
                  - string
              acceptance:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - one_of
                  values:
                    $ref: >-
                      #/components/schemas/OutcomeReportDistinctStringAcceptanceValues
                required:
                  - kind
                  - values
                additionalProperties: false
            required:
              - key
              - title
              - type
            additionalProperties: false
          - type: object
            properties:
              key:
                type: string
                pattern: ^[a-z][a-z0-9_]{0,49}$
              title:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 200
              description:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              type:
                type: string
                enum:
                  - integer
              acceptance:
                $ref: '#/components/schemas/OutcomeReportNumericAcceptanceRange'
            required:
              - key
              - title
              - type
            additionalProperties: false
          - type: object
            properties:
              key:
                type: string
                pattern: ^[a-z][a-z0-9_]{0,49}$
              title:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 200
              description:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              type:
                type: string
                enum:
                  - number
              acceptance:
                $ref: '#/components/schemas/OutcomeReportNumericAcceptanceRange'
            required:
              - key
              - title
              - type
            additionalProperties: false
          - type: object
            properties:
              key:
                type: string
                pattern: ^[a-z][a-z0-9_]{0,49}$
              title:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 200
              description:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              type:
                type: string
                enum:
                  - boolean
              acceptance:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - equals
                  value:
                    type: boolean
                required:
                  - kind
                  - value
                additionalProperties: false
            required:
              - key
              - title
              - type
            additionalProperties: false
      allOf:
        - minItems: 1
        - maxItems: 32
        - x-checkfu-distinct-output-keys: true
          description: Outcome Report outputs with distinct keys
    UniqueFlowReviewCriteria:
      type: array
      items:
        type: object
        properties:
          key:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 64
              - pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
          description:
            $ref: '#/components/schemas/FlowReviewCriterionDescription'
          severity:
            type: string
            enum:
              - low
              - medium
              - high
        required:
          - key
          - description
          - severity
        additionalProperties: false
      allOf:
        - minItems: 1
        - maxItems: 16
    AutomationGraphStepBudgetRequiresNewSession:
      type: object
      properties:
        id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        name:
          type: string
          allOf:
            - maxLength: 16384
            - minLength: 1
            - maxLength: 255
        condition:
          anyOf:
            - $ref: '#/components/schemas/Objects_106'
            - $ref: '#/components/schemas/Objects_107'
        kind:
          type: string
          enum:
            - step_agent
        agent:
          $ref: '#/components/schemas/AgentId'
        budget:
          $ref: '#/components/schemas/SessionBudgetRequest'
        sessionTarget:
          $ref: '#/components/schemas/AutomationAgentSessionTarget'
        prompt:
          type: string
          allOf:
            - maxLength: 16384
            - minLength: 1
        input:
          type: object
          properties:
            kind:
              type: string
              enum:
                - trigger_payload
          required:
            - kind
          additionalProperties: false
        inputBindings:
          $ref: '#/components/schemas/AutomationGraphNamedBindings'
        join:
          type: object
          properties:
            kind:
              type: string
              enum:
                - all_completed
          required:
            - kind
          additionalProperties: false
        retry:
          type: object
          properties:
            maxAttempts:
              type: integer
              allOf:
                - minimum: 2
                  maximum: 5
            waitSeconds:
              type: integer
              allOf:
                - minimum: 0
                  maximum: 3600
          required:
            - maxAttempts
            - waitSeconds
          additionalProperties: false
        forEach:
          type: object
          properties:
            items:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            maxItems:
              type: integer
              allOf:
                - minimum: 1
                  maximum: 50
            concurrency:
              type: integer
              allOf:
                - minimum: 1
                  maximum: 8
          required:
            - items
            - maxItems
          additionalProperties: false
      required:
        - id
        - kind
        - agent
        - prompt
      additionalProperties: false
      allOf:
        - anyOf:
            - properties:
                budget: false
            - properties:
                sessionTarget:
                  properties:
                    mode:
                      const: start_new
          description: an authored step Budget requires a newly created child Session
    Objects_106:
      type: object
      properties:
        kind:
          type: string
          enum:
            - predicates
        predicates:
          type: array
          items:
            $ref: '#/components/schemas/Union_202'
          allOf:
            - minItems: 1
            - maxItems: 10
      required:
        - kind
        - predicates
      additionalProperties: false
    Objects_107:
      type: object
      properties:
        kind:
          type: string
          enum:
            - check
        check:
          $ref: '#/components/schemas/Union_211'
      required:
        - kind
        - check
      additionalProperties: false
    Union_211:
      anyOf:
        - type: object
          properties:
            modelRoutingProfileKey:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            tier:
              $ref: '#/components/schemas/Union_132'
            instructions:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 4096
            failure:
              $ref: '#/components/schemas/Union_208'
            derivedFrom:
              type: object
              properties:
                agent:
                  $ref: '#/components/schemas/AgentId'
                version:
                  type: integer
                  allOf:
                    - exclusiveMinimum: 0
                    - maximum: 9007199254740991
              required:
                - agent
                - version
              additionalProperties: false
          required:
            - modelRoutingProfileKey
            - instructions
            - failure
          additionalProperties: false
        - type: object
          properties:
            evaluation:
              $ref: '#/components/schemas/Objects_104'
            rule:
              $ref: '#/components/schemas/Union_209'
            failure:
              $ref: '#/components/schemas/Union_208'
            derivedFrom:
              type: object
              properties:
                agent:
                  $ref: '#/components/schemas/AgentId'
                version:
                  type: integer
                  allOf:
                    - exclusiveMinimum: 0
                    - maximum: 9007199254740991
              required:
                - agent
                - version
              additionalProperties: false
          required:
            - evaluation
            - rule
            - failure
          additionalProperties: false
    AutomationGraphNamedBindings:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationGraphArgumentBinding'
      allOf:
        - maxProperties: 32
        - minProperties: 1
    AutomationSkillProposalParameters:
      type: object
      properties:
        instructions:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        skill_name:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
      additionalProperties: false
    SkillId:
      type: string
      pattern: ^skl_[0-9a-f]{32}$
    AutomationJsonOutputSchema:
      type: object
      additionalProperties:
        description: >-
          A value in the JSON data model: null, boolean, finite number, string,
          array, or object.
        allOf:
          - x-checkfu-json-budget:
              maximumBytes: 8192
              maximumDepth: 64
              maximumNodes: 5000
              maximumInspectionWork: 10000
            x-checkfu-unicode-scalar-values: true
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 8192
            maximumDepth: 64
            maximumNodes: 5000
            maximumInspectionWork: 10000
          x-checkfu-unicode-scalar-values: true
        - maxProperties: 5000
          description: >-
            A standard Draft-07 JSON Schema declaration of at most 8 KiB;
            pattern, patternProperties, format, uniqueItems, multipleOf,
            dependencies, unsupported dialects and recursive references are
            refused. Local references use structural schema locations with ASCII
            keys. Execution is subject to a bounded validation-work budget.
    AutomationGraphJsonInputBindings:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationGraphArgumentBinding'
      allOf:
        - maxProperties: 32
    MemoryStoreId:
      type: string
      pattern: ^memstore_[0-9a-f]{32}$
    MemoryPath:
      type: string
      allOf:
        - maxLength: 1024
    AutomationMemoryWriteParameters:
      type: object
      properties:
        path:
          $ref: '#/components/schemas/MemoryPath'
        content:
          $ref: '#/components/schemas/MemoryDocumentContentUtf8Bytes'
        media_type:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        expected_sha256:
          anyOf:
            - type: string
              pattern: ^sha256:[0-9a-f]{64}$
            - type: 'null'
        provenance:
          $ref: '#/components/schemas/NullableAutomationMemoryWriteProvenance'
      additionalProperties: false
    ManagedToolSelection:
      type: object
      properties:
        managed_tool_id:
          $ref: '#/components/schemas/ManagedToolId'
        managed_tool_release_id:
          $ref: '#/components/schemas/ManagedToolReleaseId'
      required:
        - managed_tool_id
        - managed_tool_release_id
      additionalProperties: false
    ManagedToolInvocationArguments:
      x-checkfu-json-budget:
        maximumBytes: 1048576
        maximumDepth: 64
        maximumNodes: 100000
        maximumInspectionWork: 100000
      x-checkfu-unicode-scalar-values: true
      description: >-
        ManagedMap arguments: at most 1 MiB of UTF-8 JSON, with Unicode scalar
        strings and bounded structure.
    ConnectionId:
      type: string
      pattern: ^conn_[0-9a-f]{32}$
    SecretFreeAutomationGraphArguments:
      type: object
      additionalProperties:
        description: >-
          A value in the JSON data model: null, boolean, finite number, string,
          array, or object.
        allOf:
          - x-checkfu-json-budget:
              maximumBytes: 8192
              maximumDepth: 8192
              maximumNodes: 8192
              maximumInspectionWork: 32768
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 8192
            maximumDepth: 8192
            maximumNodes: 8192
            maximumInspectionWork: 32768
        - maxProperties: 8192
          description: Static JSON tool arguments without credential-shaped keys or values.
    AutomationGraphArgumentBindings:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationGraphArgumentBinding'
      allOf:
        - maxProperties: 32
    AutomationConnectionRetrySafety:
      type: string
      enum:
        - tool_declared
        - idempotency_key
    Union_220:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - fires
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            prompt:
              type: string
              allOf:
                - maxLength: 16384
          required:
            - kind
            - from
            - to
            - prompt
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - gates
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - reviews
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - audits
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - delivers
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - may_ask
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - starts
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - then
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - talks_to
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - hands_to
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - continue
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              anyOf:
                - type: string
                  allOf:
                    - maxLength: 16384
                    - minLength: 1
                    - maxLength: 128
                - type: 'null'
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - otherwise
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              anyOf:
                - type: string
                  allOf:
                    - maxLength: 16384
                    - minLength: 1
                    - maxLength: 128
                - type: 'null'
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - uncertain
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              anyOf:
                - type: string
                  allOf:
                    - maxLength: 16384
                    - minLength: 1
                    - maxLength: 128
                - type: 'null'
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - error
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              anyOf:
                - type: string
                  allOf:
                    - maxLength: 16384
                    - minLength: 1
                    - maxLength: 128
                - type: 'null'
          required:
            - kind
            - from
            - to
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - output
            from:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
            to:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 128
          required:
            - kind
            - from
            - to
          additionalProperties: false
    Union_202:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - exists
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
          required:
            - kind
            - pointer
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - equals
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value:
              $ref: '#/components/schemas/Union_203'
          required:
            - kind
            - pointer
            - value
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - contains
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value:
              type: string
              allOf:
                - maxLength: 16384
                - minLength: 1
                - maxLength: 4096
          required:
            - kind
            - pointer
            - value
          additionalProperties: false
    SessionId:
      type: string
      pattern: ^sess_[0-9a-f]{32}$
    SessionBudgetRequestSafeLimit:
      type: integer
      exclusiveMinimum: 0
    TypedCheckQuestions_1:
      type: array
      items:
        anyOf:
          - type: object
            properties:
              key:
                $ref: '#/components/schemas/CheckQuestionKey'
              type:
                type: string
                enum:
                  - boolean
              instructions:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              trueDescription:
                $ref: '#/components/schemas/CheckDescription_1'
              falseDescription:
                $ref: '#/components/schemas/CheckDescription_1'
            required:
              - key
              - type
              - instructions
            additionalProperties: false
          - type: object
            properties:
              key:
                $ref: '#/components/schemas/CheckQuestionKey'
              type:
                type: string
                enum:
                  - choice
              instructions:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              options:
                $ref: '#/components/schemas/CheckChoiceOptions_1'
            required:
              - key
              - type
              - instructions
              - options
            additionalProperties: false
          - type: object
            properties:
              key:
                $ref: '#/components/schemas/CheckQuestionKey'
              type:
                type: string
                enum:
                  - score
              instructions:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
              levels:
                $ref: '#/components/schemas/CheckScoreLevels_1'
            required:
              - key
              - type
              - instructions
              - levels
            additionalProperties: false
      allOf:
        - minItems: 1
        - maxItems: 8
    CheckRuleThresholds:
      type: object
      properties:
        type:
          type: string
          enum:
            - boolean
        questionKey:
          $ref: '#/components/schemas/CheckQuestionKey'
        expected:
          type: boolean
        falseMax:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        trueMin:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - questionKey
        - expected
        - falseMax
        - trueMin
      additionalProperties: false
    Objects_105:
      type: object
      properties:
        type:
          type: string
          enum:
            - choice_matches
        questionKey:
          $ref: '#/components/schemas/CheckQuestionKey'
        optionKeys:
          $ref: '#/components/schemas/CheckChoiceMatchesOptions_1'
        minProbability:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        minMargin:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - questionKey
        - optionKeys
        - minProbability
        - minMargin
      additionalProperties: false
    CheckRuleThresholds_1:
      type: object
      properties:
        type:
          type: string
          enum:
            - score_tail
        questionKey:
          $ref: '#/components/schemas/CheckQuestionKey'
        atOrAboveLevel:
          type: integer
          allOf:
            - minimum: 0
            - maximum: 9
        falseMax:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        trueMin:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - questionKey
        - atOrAboveLevel
        - falseMax
        - trueMin
      additionalProperties: false
    OutcomeReportDistinctStringAcceptanceValues:
      type: array
      items:
        type: string
      allOf:
        - minItems: 1
        - maxItems: 32
        - uniqueItems: true
          description: distinct accepted string values
    OutcomeReportNumericAcceptanceRange:
      type: object
      properties:
        kind:
          type: string
          enum:
            - range
        minimum:
          type: number
        maximum:
          type: number
      required:
        - kind
      additionalProperties: false
      allOf:
        - anyOf:
            - required:
                - minimum
            - required:
                - maximum
          x-checkfu-numeric-acceptance-range: true
          description: a non-empty numeric range whose minimum does not exceed its maximum
    FlowReviewCriterionDescription:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 1024
    AutomationGraphArgumentBinding:
      type: object
      properties:
        sourceNodeId:
          type: string
          allOf:
            - maxLength: 16384
            - minLength: 1
            - maxLength: 128
        pointer:
          type: string
          allOf:
            - maxLength: 512
            - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
      required:
        - sourceNodeId
        - pointer
      additionalProperties: false
      description: One source node and JSON pointer supplying a mapped field.
    MemoryDocumentContentUtf8Bytes:
      type: string
      allOf:
        - maxLength: 100000
          description: >-
            Memory document text no larger than 100000 bytes when encoded as
            UTF-8
    NullableAutomationMemoryWriteProvenance:
      anyOf:
        - $ref: '#/components/schemas/AutomationMemoryWriteProvenance'
        - type: 'null'
    ManagedToolId:
      type: string
      pattern: ^mtl_[0-9a-f]{32}$
    ManagedToolReleaseId:
      type: string
      pattern: ^mtrel_[0-9a-f]{32}$
    Union_203:
      anyOf:
        - type: string
          allOf:
            - maxLength: 4096
        - type: boolean
        - type: number
          allOf:
            - minimum: -9007199254740991
              maximum: 9007199254740991
    CheckQuestionKey:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 64
    CheckDescription_1:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 1024
    CheckChoiceOptions_1:
      type: array
      items:
        type: object
        properties:
          key:
            $ref: '#/components/schemas/CheckQuestionKey'
          description:
            $ref: '#/components/schemas/CheckDescription_1'
        required:
          - key
          - description
        additionalProperties: false
      allOf:
        - minItems: 2
        - maxItems: 32
    CheckScoreLevels_1:
      type: array
      items:
        $ref: '#/components/schemas/CheckDescription_1'
      allOf:
        - minItems: 2
        - maxItems: 10
    CheckChoiceMatchesOptions_1:
      type: array
      items:
        $ref: '#/components/schemas/CheckQuestionKey'
      allOf:
        - minItems: 1
        - maxItems: 32
    AutomationMemoryWriteProvenance:
      type: object
      properties:
        source_event_ids:
          type: array
          items:
            $ref: '#/components/schemas/EventId'
          allOf:
            - maxItems: 65536
        source_version_ids:
          type: array
          items:
            $ref: '#/components/schemas/MemoryVersionId'
          allOf:
            - maxItems: 65536
        source_refs:
          type: array
          items:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 1024
          allOf:
            - maxItems: 65536
        curation_run:
          $ref: '#/components/schemas/CurationRunId'
        confidence:
          $ref: '#/components/schemas/Union_122'
        valid_from:
          type: string
          allOf:
            - maxLength: 65536
        supersedes:
          type: object
          properties:
            path:
              $ref: '#/components/schemas/MemoryPath'
            version:
              $ref: '#/components/schemas/MemoryVersionId'
          required:
            - path
            - version
          additionalProperties: false
      required:
        - source_event_ids
        - source_version_ids
        - source_refs
        - confidence
        - valid_from
      additionalProperties: false
    EventId:
      type: string
      pattern: ^evt_[0-9a-f]{32}$
    MemoryVersionId:
      type: string
      pattern: ^memver_[0-9a-f]{32}$
    CurationRunId:
      type: string
      pattern: ^mcur_[0-9a-f]{32}$
    Union_122:
      type: string
      enum:
        - observed
        - inferred
        - uncertain
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.