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

# Create an Automation

> Create a named, durable recurring cause of work: an agent_definition target launches a fresh Session and initial Run per firing, while a steps target…



## OpenAPI

````yaml /openapi.json post /v1/automations
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: 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/automations:
    post:
      tags:
        - automations
      summary: Create an Automation
      description: >-
        Create a named, durable recurring cause of work: an `agent_definition`
        target launches a fresh Session and initial Run per firing, while a
        `steps` target drives a durable step program. Optional
        `input.delivery_screen` on an agent-target Automation names a model
        routing profile, optional tier, instructions, and failure disposition
        (default `fail_closed`). Each firing freezes that policy into its
        Session admission; every outbound agent message requires its screen
        verdict before becoming readable. A webhook AdmissionFilter Check names
        a model routing profile, optional tier (default `default`),
        instructions, and a required failure disposition because relevance has
        no universally safe default; optional `input.outcome` supplies the
        definition-of-done rubric for another agent to evaluate at the fixed
        `planning` tier under the admitted agent release. The AdmissionFilter is
        a single-shot counter-metered gate before the agent; Outcome remains an
        iterative, usage-ledgered grader over completed work. Trigger kind and
        target kind are immutable after creation; schedule agent inputs are
        prompt snapshots, webhook and subscription inputs are prompt templates,
        and optional `input.resources` freeze File, FileTree, and MemoryStore
        declarations into each fresh managed Session. Mounted agent inputs
        cannot target a ConnectedRuntime because that lane has no Checkfu-owned
        resource materialization plane. A webhook trigger must supply its own
        `whsec_` ingest secret, which is encrypted at rest and never returned
        afterward. An optional `external_id` claims a workspace-unique,
        caller-chosen reconcile key: a second create naming a key already held
        conflicts, and the key is immutable afterward, so a caller that
        reconciles from its own system looks the Automation up by that key
        rather than keeping the platform id in a row it can lose. A new
        Automation is staged paused, then enabled only if readiness passes;
        otherwise it remains paused for later operator resume. Optional
        `metadata` is a organization-owned correlation bag of at most 16 pairs,
        keys up to 64 characters and values up to 512, stored and returned
        verbatim and never read by the platform. Accepts an optional
        Idempotency-Key.


        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: automations.createAutomation
      parameters:
        - 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
          required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CurrentCreateAutomation'
        required: true
      responses:
        '201':
          description: Automation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation'
          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'
        '503':
          description: >-
            The MemoryStore backend cannot serve the operation and applied no
            write.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemoryBackendUnavailableError'
      security:
        - bearerAuth: []
components:
  schemas:
    CurrentCreateAutomation:
      anyOf:
        - type: object
          properties:
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            description:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                - type: 'null'
            created_by:
              $ref: '#/components/schemas/PrincipalId'
            identity:
              $ref: '#/components/schemas/Objects_116'
            external_id:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            environment_id:
              $ref: '#/components/schemas/EnvironmentId'
            connected_runtime:
              anyOf:
                - $ref: '#/components/schemas/ConnectedRuntimeId'
                - type: 'null'
            metadata:
              $ref: '#/components/schemas/ResourceMetadata'
            target:
              $ref: '#/components/schemas/Objects_117'
            collaboration_space_id:
              anyOf:
                - $ref: '#/components/schemas/CollaborationSpaceId'
                - type: 'null'
            trigger:
              $ref: '#/components/schemas/Union_227'
            input:
              $ref: '#/components/schemas/CurrentSnapshotAutomationInput'
            ingest_secret: false
          required:
            - name
            - created_by
            - identity
            - environment_id
            - target
            - trigger
            - input
          additionalProperties: false
        - type: object
          properties:
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            description:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                - type: 'null'
            created_by:
              $ref: '#/components/schemas/PrincipalId'
            identity:
              $ref: '#/components/schemas/Objects_116'
            external_id:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            environment_id:
              $ref: '#/components/schemas/EnvironmentId'
            connected_runtime:
              anyOf:
                - $ref: '#/components/schemas/ConnectedRuntimeId'
                - type: 'null'
            metadata:
              $ref: '#/components/schemas/ResourceMetadata'
            target:
              $ref: '#/components/schemas/Objects_117'
            collaboration_space_id:
              anyOf:
                - $ref: '#/components/schemas/CollaborationSpaceId'
                - type: 'null'
            trigger:
              $ref: '#/components/schemas/Objects_122'
            input:
              $ref: '#/components/schemas/CurrentTemplateAutomationInput'
            ingest_secret:
              type: string
              pattern: ^whsec_[A-Za-z0-9_-]{43}$
          required:
            - name
            - created_by
            - identity
            - environment_id
            - target
            - trigger
            - input
            - ingest_secret
          additionalProperties: false
        - type: object
          properties:
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            description:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                - type: 'null'
            created_by:
              $ref: '#/components/schemas/PrincipalId'
            identity:
              $ref: '#/components/schemas/Objects_116'
            external_id:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            environment_id:
              $ref: '#/components/schemas/EnvironmentId'
            connected_runtime:
              anyOf:
                - $ref: '#/components/schemas/ConnectedRuntimeId'
                - type: 'null'
            metadata:
              $ref: '#/components/schemas/ResourceMetadata'
            target:
              $ref: '#/components/schemas/Objects_117'
            collaboration_space_id:
              $ref: '#/components/schemas/CollaborationSpaceId'
            trigger:
              $ref: '#/components/schemas/Objects_123'
            input:
              $ref: '#/components/schemas/CurrentTemplateAutomationInput'
            ingest_secret: false
          required:
            - name
            - created_by
            - identity
            - environment_id
            - target
            - collaboration_space_id
            - trigger
            - input
          additionalProperties: false
        - type: object
          properties:
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            description:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                - type: 'null'
            created_by:
              $ref: '#/components/schemas/PrincipalId'
            identity:
              $ref: '#/components/schemas/Objects_116'
            external_id:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            environment_id:
              $ref: '#/components/schemas/EnvironmentId'
            connected_runtime: false
            metadata:
              $ref: '#/components/schemas/ResourceMetadata'
            target:
              $ref: '#/components/schemas/Union_244'
            collaboration_space_id:
              anyOf:
                - $ref: '#/components/schemas/CollaborationSpaceId'
                - type: 'null'
            trigger:
              $ref: '#/components/schemas/Union_227'
            input: false
            ingest_secret: false
          required:
            - name
            - created_by
            - identity
            - environment_id
            - target
            - trigger
          additionalProperties: false
        - type: object
          properties:
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            description:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                - type: 'null'
            created_by:
              $ref: '#/components/schemas/PrincipalId'
            identity:
              $ref: '#/components/schemas/Objects_116'
            external_id:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            environment_id:
              $ref: '#/components/schemas/EnvironmentId'
            connected_runtime: false
            metadata:
              $ref: '#/components/schemas/ResourceMetadata'
            target:
              $ref: '#/components/schemas/Union_244'
            collaboration_space_id:
              anyOf:
                - $ref: '#/components/schemas/CollaborationSpaceId'
                - type: 'null'
            trigger:
              $ref: '#/components/schemas/Objects_122'
            input: false
            ingest_secret:
              type: string
              pattern: ^whsec_[A-Za-z0-9_-]{43}$
          required:
            - name
            - created_by
            - identity
            - environment_id
            - target
            - trigger
            - ingest_secret
          additionalProperties: false
        - type: object
          properties:
            name:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 255
            description:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                - type: 'null'
            created_by:
              $ref: '#/components/schemas/PrincipalId'
            identity:
              $ref: '#/components/schemas/Objects_116'
            external_id:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            environment_id:
              $ref: '#/components/schemas/EnvironmentId'
            connected_runtime: false
            metadata:
              $ref: '#/components/schemas/ResourceMetadata'
            target:
              $ref: '#/components/schemas/Union_244'
            collaboration_space_id:
              anyOf:
                - $ref: '#/components/schemas/CollaborationSpaceId'
                - type: 'null'
            trigger:
              $ref: '#/components/schemas/Objects_128'
            input: false
            ingest_secret:
              type: string
              pattern: ^whsec_[A-Za-z0-9_-]{43}$
          required:
            - name
            - created_by
            - identity
            - environment_id
            - target
            - trigger
            - ingest_secret
          additionalProperties: false
    Automation:
      anyOf:
        - $ref: '#/components/schemas/Objects_129'
        - $ref: '#/components/schemas/Objects_131'
        - $ref: '#/components/schemas/Objects_133'
        - $ref: '#/components/schemas/Objects_134'
        - $ref: '#/components/schemas/Objects_135'
        - $ref: '#/components/schemas/Objects_136'
    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.
    MemoryBackendUnavailableError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - memory.backend_unavailable
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#memory-backend-unavailable
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The MemoryStore backend cannot serve the operation and applied no write.
    PrincipalId:
      type: string
      pattern: ^prin_[0-9a-f]{32}$
    Objects_116:
      type: object
      properties:
        acted_as:
          $ref: '#/components/schemas/PrincipalId'
      required:
        - acted_as
      additionalProperties: false
    EnvironmentId:
      type: string
      pattern: ^env_[0-9a-f]{32}$
    ConnectedRuntimeId:
      type: string
      pattern: ^crt_[0-9a-f]{32}$
    ResourceMetadata:
      type: object
      additionalProperties:
        type: string
        allOf:
          - maxLength: 512
      allOf:
        - propertyNames:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 64
        - maxProperties: 16
          description: at most 16 correlation pairs with keys of 1 to 64 characters
    Objects_117:
      type: object
      properties:
        kind:
          type: string
          enum:
            - agent_definition
        session_target:
          $ref: '#/components/schemas/AutomationAgentSessionTarget'
        agent:
          $ref: '#/components/schemas/ManagedAgentsAgentParams'
        agent_deployment_id: false
        agent_deployment_revision_selection: false
        budget:
          $ref: '#/components/schemas/SessionBudgetRequest'
      required:
        - kind
        - agent
      additionalProperties: false
    CollaborationSpaceId:
      type: string
      pattern: ^cspace_[0-9a-f]{32}$
    Union_227:
      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
            dedupe_key: false
            source: false
            filter: false
          required:
            - kind
            - cron
            - timezone
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - schedule_once
            at:
              $ref: '#/components/schemas/CurrentTimestamp'
            cron: false
            timezone: false
            dedupe_key: false
            source: false
            filter: false
          required:
            - kind
            - at
          additionalProperties: false
    CurrentSnapshotAutomationInput:
      type: object
      properties:
        kind:
          type: string
          enum:
            - snapshot
        prompt:
          $ref: '#/components/schemas/AutomationPrompt'
        outcome:
          $ref: '#/components/schemas/Objects_118'
        flow_review:
          $ref: '#/components/schemas/Objects_119'
        delivery_screen:
          anyOf:
            - type: object
              properties:
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                tier:
                  $ref: '#/components/schemas/Union_129'
                instructions:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - model_routing_profile_key
                - instructions
              additionalProperties: false
            - type: object
              properties:
                evaluation:
                  $ref: '#/components/schemas/Objects_92'
                rule:
                  $ref: '#/components/schemas/Union_191'
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - evaluation
                - rule
              additionalProperties: false
        resources:
          $ref: '#/components/schemas/AutomationResources'
        prompt_template: false
      required:
        - kind
        - prompt
      additionalProperties: false
    Objects_122:
      type: object
      properties:
        kind:
          type: string
          enum:
            - webhook
        provider:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        mcp_events:
          type: boolean
          enum:
            - true
        dedupe_key:
          type: object
          properties:
            kind:
              type: string
              enum:
                - json_pointer
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
          required:
            - kind
            - pointer
          additionalProperties: false
        filter:
          type: object
          properties:
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/Union_242'
              allOf:
                - maxItems: 32
            check:
              anyOf:
                - type: object
                  properties:
                    model_routing_profile_key:
                      type: string
                      pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                    tier:
                      $ref: '#/components/schemas/Union_129'
                    instructions:
                      type: string
                      allOf:
                        - minLength: 1
                        - maxLength: 4096
                    failure:
                      $ref: '#/components/schemas/Union_232'
                  required:
                    - model_routing_profile_key
                    - instructions
                    - failure
                  additionalProperties: false
                - type: object
                  properties:
                    evaluation:
                      $ref: '#/components/schemas/Objects_92'
                    rule:
                      $ref: '#/components/schemas/Union_191'
                    failure:
                      $ref: '#/components/schemas/Union_232'
                  required:
                    - evaluation
                    - rule
                    - failure
                  additionalProperties: false
          required:
            - predicates
          additionalProperties: false
        cron: false
        timezone: false
        source: false
      required:
        - kind
        - dedupe_key
      additionalProperties: false
    CurrentTemplateAutomationInput:
      type: object
      properties:
        kind:
          type: string
          enum:
            - template
        prompt_template:
          $ref: '#/components/schemas/AutomationPrompt'
        outcome:
          $ref: '#/components/schemas/Objects_118'
        flow_review:
          $ref: '#/components/schemas/Objects_119'
        delivery_screen:
          anyOf:
            - type: object
              properties:
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                tier:
                  $ref: '#/components/schemas/Union_129'
                instructions:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - model_routing_profile_key
                - instructions
              additionalProperties: false
            - type: object
              properties:
                evaluation:
                  $ref: '#/components/schemas/Objects_92'
                rule:
                  $ref: '#/components/schemas/Union_191'
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - evaluation
                - rule
              additionalProperties: false
        resources:
          $ref: '#/components/schemas/AutomationResources'
        prompt: false
      required:
        - kind
        - prompt_template
      additionalProperties: false
    Objects_123:
      type: object
      properties:
        kind:
          type: string
          enum:
            - subscription
        source:
          $ref: '#/components/schemas/Objects_124'
        cron: false
        timezone: false
        dedupe_key: false
        filter: false
      required:
        - kind
        - source
      additionalProperties: false
    Union_244:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - steps
            agent_deployment_id: false
            agent_deployment_revision_selection: false
            memory_store: false
            sessions: false
            budget: false
            steps:
              $ref: '#/components/schemas/AutomationStepGroups'
            dag: false
          required:
            - kind
            - steps
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - steps
            agent_deployment_id: false
            agent_deployment_revision_selection: false
            memory_store: false
            sessions: false
            budget: false
            dag:
              $ref: '#/components/schemas/AutomationStepDagDataflow'
            steps: false
          required:
            - kind
            - dag
          additionalProperties: false
    Objects_128:
      type: object
      properties:
        kind:
          type: string
          enum:
            - any
        sources:
          anyOf:
            - type: array
              prefixItems:
                - $ref: '#/components/schemas/Union_227'
                - $ref: '#/components/schemas/Objects_122'
              maxItems: 2
              minItems: 2
            - type: array
              prefixItems:
                - $ref: '#/components/schemas/Objects_122'
                - $ref: '#/components/schemas/Union_227'
              maxItems: 2
              minItems: 2
      required:
        - kind
        - sources
      additionalProperties: false
    Objects_129:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_248'
        external_id:
          $ref: '#/components/schemas/Union_249'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        identity:
          $ref: '#/components/schemas/Objects_116'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_250'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        status:
          $ref: '#/components/schemas/Union_220'
        paused_reason:
          $ref: '#/components/schemas/Union_251'
        last_run_at:
          $ref: '#/components/schemas/Union_252'
        last_session_id:
          $ref: '#/components/schemas/Union_253'
        last_run_id:
          $ref: '#/components/schemas/Union_254'
        next_run_at:
          $ref: '#/components/schemas/Union_255'
        created_at:
          type: string
        updated_at:
          type: string
        target:
          $ref: '#/components/schemas/Objects_117'
        collaboration_space_id:
          anyOf:
            - $ref: '#/components/schemas/CollaborationSpaceId'
            - type: 'null'
        trigger:
          $ref: '#/components/schemas/Union_227'
        input:
          $ref: '#/components/schemas/Objects_130'
      required:
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - identity
        - environment_id
        - connected_runtime
        - status
        - paused_reason
        - last_run_at
        - last_session_id
        - last_run_id
        - next_run_at
        - created_at
        - updated_at
        - target
        - collaboration_space_id
        - trigger
        - input
      additionalProperties: false
    Objects_131:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_248'
        external_id:
          $ref: '#/components/schemas/Union_249'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        identity:
          $ref: '#/components/schemas/Objects_116'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_250'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        status:
          $ref: '#/components/schemas/Union_220'
        paused_reason:
          $ref: '#/components/schemas/Union_251'
        last_run_at:
          $ref: '#/components/schemas/Union_252'
        last_session_id:
          $ref: '#/components/schemas/Union_253'
        last_run_id:
          $ref: '#/components/schemas/Union_254'
        next_run_at:
          $ref: '#/components/schemas/Union_255'
        created_at:
          type: string
        updated_at:
          type: string
        target:
          $ref: '#/components/schemas/Objects_117'
        collaboration_space_id:
          anyOf:
            - $ref: '#/components/schemas/CollaborationSpaceId'
            - type: 'null'
        trigger:
          $ref: '#/components/schemas/Objects_122'
        input:
          $ref: '#/components/schemas/Objects_132'
      required:
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - identity
        - environment_id
        - connected_runtime
        - status
        - paused_reason
        - last_run_at
        - last_session_id
        - last_run_id
        - next_run_at
        - created_at
        - updated_at
        - target
        - collaboration_space_id
        - trigger
        - input
      additionalProperties: false
    Objects_133:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_248'
        external_id:
          $ref: '#/components/schemas/Union_249'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        identity:
          $ref: '#/components/schemas/Objects_116'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_250'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        status:
          $ref: '#/components/schemas/Union_220'
        paused_reason:
          $ref: '#/components/schemas/Union_251'
        last_run_at:
          $ref: '#/components/schemas/Union_252'
        last_session_id:
          $ref: '#/components/schemas/Union_253'
        last_run_id:
          $ref: '#/components/schemas/Union_254'
        next_run_at:
          $ref: '#/components/schemas/Union_255'
        created_at:
          type: string
        updated_at:
          type: string
        target:
          $ref: '#/components/schemas/Objects_117'
        collaboration_space_id:
          $ref: '#/components/schemas/CollaborationSpaceId'
        trigger:
          type: object
          properties:
            kind:
              type: string
              enum:
                - subscription
            source:
              $ref: '#/components/schemas/Union_256'
            cron: false
            timezone: false
            dedupe_key: false
            filter: false
          required:
            - kind
            - source
          additionalProperties: false
        input:
          $ref: '#/components/schemas/Objects_132'
      required:
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - identity
        - environment_id
        - connected_runtime
        - status
        - paused_reason
        - last_run_at
        - last_session_id
        - last_run_id
        - next_run_at
        - created_at
        - updated_at
        - target
        - collaboration_space_id
        - trigger
        - input
      additionalProperties: false
    Objects_134:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_248'
        external_id:
          $ref: '#/components/schemas/Union_249'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        identity:
          $ref: '#/components/schemas/Objects_116'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_250'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        status:
          $ref: '#/components/schemas/Union_220'
        paused_reason:
          $ref: '#/components/schemas/Union_251'
        last_run_at:
          $ref: '#/components/schemas/Union_252'
        last_session_id:
          $ref: '#/components/schemas/Union_253'
        last_run_id:
          $ref: '#/components/schemas/Union_254'
        next_run_at:
          $ref: '#/components/schemas/Union_255'
        created_at:
          type: string
        updated_at:
          type: string
        target:
          $ref: '#/components/schemas/Union_244'
        collaboration_space_id:
          anyOf:
            - $ref: '#/components/schemas/CollaborationSpaceId'
            - type: 'null'
        trigger:
          $ref: '#/components/schemas/Union_227'
        input: false
      required:
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - identity
        - environment_id
        - connected_runtime
        - status
        - paused_reason
        - last_run_at
        - last_session_id
        - last_run_id
        - next_run_at
        - created_at
        - updated_at
        - target
        - collaboration_space_id
        - trigger
      additionalProperties: false
    Objects_135:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_248'
        external_id:
          $ref: '#/components/schemas/Union_249'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        identity:
          $ref: '#/components/schemas/Objects_116'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_250'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        status:
          $ref: '#/components/schemas/Union_220'
        paused_reason:
          $ref: '#/components/schemas/Union_251'
        last_run_at:
          $ref: '#/components/schemas/Union_252'
        last_session_id:
          $ref: '#/components/schemas/Union_253'
        last_run_id:
          $ref: '#/components/schemas/Union_254'
        next_run_at:
          $ref: '#/components/schemas/Union_255'
        created_at:
          type: string
        updated_at:
          type: string
        target:
          $ref: '#/components/schemas/Union_244'
        collaboration_space_id:
          anyOf:
            - $ref: '#/components/schemas/CollaborationSpaceId'
            - type: 'null'
        trigger:
          $ref: '#/components/schemas/Objects_122'
        input: false
      required:
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - identity
        - environment_id
        - connected_runtime
        - status
        - paused_reason
        - last_run_at
        - last_session_id
        - last_run_id
        - next_run_at
        - created_at
        - updated_at
        - target
        - collaboration_space_id
        - trigger
      additionalProperties: false
    Objects_136:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_248'
        external_id:
          $ref: '#/components/schemas/Union_249'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        identity:
          $ref: '#/components/schemas/Objects_116'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_250'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'
        status:
          $ref: '#/components/schemas/Union_220'
        paused_reason:
          $ref: '#/components/schemas/Union_251'
        last_run_at:
          $ref: '#/components/schemas/Union_252'
        last_session_id:
          $ref: '#/components/schemas/Union_253'
        last_run_id:
          $ref: '#/components/schemas/Union_254'
        next_run_at:
          $ref: '#/components/schemas/Union_255'
        created_at:
          type: string
        updated_at:
          type: string
        target:
          $ref: '#/components/schemas/Union_244'
        collaboration_space_id:
          anyOf:
            - $ref: '#/components/schemas/CollaborationSpaceId'
            - type: 'null'
        trigger:
          $ref: '#/components/schemas/Objects_128'
        input: false
      required:
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - identity
        - environment_id
        - connected_runtime
        - status
        - paused_reason
        - last_run_at
        - last_session_id
        - last_run_id
        - next_run_at
        - created_at
        - updated_at
        - target
        - collaboration_space_id
        - trigger
      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.
    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
    ManagedAgentsAgentParams:
      type: object
      properties:
        type:
          type: string
          enum:
            - agent
        id:
          $ref: '#/components/schemas/AgentId'
        version:
          type: integer
          exclusiveMinimum: 0
      required:
        - type
        - id
      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.
    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.
    AutomationPrompt:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 65536
    Objects_118:
      type: object
      properties:
        rubric:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 65536
        max_iterations:
          type: integer
          allOf:
            - minimum: 1
              maximum: 20
        deliverables:
          $ref: '#/components/schemas/CurrentOutcomeDeliverablesDistinctPaths'
        report:
          type: object
          properties:
            extraction:
              type: string
              enum:
                - json
                - model
            outputs:
              $ref: '#/components/schemas/OutcomeReportDistinctOutputKeys'
          required:
            - extraction
            - outputs
          additionalProperties: false
        check:
          type: object
          properties:
            evaluation:
              $ref: '#/components/schemas/Objects_92'
            rule:
              $ref: '#/components/schemas/Union_191'
          required:
            - evaluation
            - rule
          additionalProperties: false
        feedback_on_false:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 1024
      required:
        - rubric
      additionalProperties: false
    Objects_119:
      type: object
      properties:
        model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        tier:
          $ref: '#/components/schemas/Union_129'
        criteria:
          $ref: '#/components/schemas/UniqueFlowReviewCriteria'
      required:
        - model_routing_profile_key
        - criteria
      additionalProperties: false
    Union_129:
      type: string
      enum:
        - default
        - planning
        - tool_loop
    Objects_92:
      type: object
      properties:
        schema_version:
          type: number
          enum:
            - 1
        model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        tier:
          $ref: '#/components/schemas/Union_129'
        timeout_ms:
          type: number
          allOf:
            - minimum: 100
            - maximum: 30000
        questions:
          $ref: '#/components/schemas/TypedCheckQuestions'
      required:
        - schema_version
        - model_routing_profile_key
        - questions
      additionalProperties: false
    Union_191:
      anyOf:
        - $ref: '#/components/schemas/CheckBooleanRuleThresholds'
        - $ref: '#/components/schemas/Objects_93'
        - $ref: '#/components/schemas/CheckScoreTailRuleThresholds'
        - type: object
          properties:
            type:
              type: string
              enum:
                - all
            rules:
              type: array
              items:
                anyOf:
                  - $ref: '#/components/schemas/CheckBooleanRuleThresholds'
                  - $ref: '#/components/schemas/Objects_93'
                  - $ref: '#/components/schemas/CheckScoreTailRuleThresholds'
              allOf:
                - minItems: 1
                - maxItems: 8
          required:
            - type
            - rules
          additionalProperties: false
    AutomationResources:
      type: array
      items:
        anyOf:
          - $ref: '#/components/schemas/Union_234'
          - $ref: '#/components/schemas/Objects_121'
          - type: object
            properties:
              store:
                $ref: '#/components/schemas/MemoryStoreId'
              access:
                $ref: '#/components/schemas/Union_238'
              selection:
                $ref: '#/components/schemas/Union_240'
              instructions:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
            required:
              - store
              - access
            additionalProperties: false
    Union_242:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - exists
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value: false
          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_200'
          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:
                - minLength: 1
                - maxLength: 4096
          required:
            - kind
            - pointer
            - value
          additionalProperties: false
    Union_232:
      type: string
      enum:
        - fail_open
        - fail_closed
    Objects_124:
      type: object
      properties:
        kind:
          type: string
          enum:
            - resource
        resource_type:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        external_id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 512
        conversation: false
      required:
        - kind
        - resource_type
        - external_id
      additionalProperties: false
    AutomationStepGroups:
      type: array
      items:
        $ref: '#/components/schemas/Objects_125'
      allOf:
        - minItems: 1
        - maxItems: 20
    AutomationStepDagDataflow:
      type: object
      properties:
        nodes:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/Objects_125'
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - decision
                  id:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  condition:
                    anyOf:
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - predicates
                          predicates:
                            type: array
                            items:
                              $ref: '#/components/schemas/Union_242'
                            allOf:
                              - minItems: 1
                              - maxItems: 10
                          check: false
                          input:
                            anyOf:
                              - $ref: '#/components/schemas/Objects_127'
                              - $ref: '#/components/schemas/Objects_126'
                        required:
                          - kind
                          - predicates
                          - input
                        additionalProperties: false
                      - $ref: '#/components/schemas/AutomationDecisionCheckInput'
                required:
                  - kind
                  - id
                  - condition
                additionalProperties: false
          allOf:
            - minItems: 1
            - maxItems: 20
        edges:
          type: array
          items:
            anyOf:
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - then
                  from:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  to:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                required:
                  - kind
                  - from
                  - to
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - output
                  from:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  to:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                required:
                  - kind
                  - from
                  - to
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - continue
                  from:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  to:
                    anyOf:
                      - type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 64
                          - pattern: ^[A-Za-z0-9_]+$
                      - type: 'null'
                required:
                  - kind
                  - from
                  - to
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - otherwise
                  from:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  to:
                    anyOf:
                      - type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 64
                          - pattern: ^[A-Za-z0-9_]+$
                      - type: 'null'
                required:
                  - kind
                  - from
                  - to
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - uncertain
                  from:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  to:
                    anyOf:
                      - type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 64
                          - pattern: ^[A-Za-z0-9_]+$
                      - type: 'null'
                required:
                  - kind
                  - from
                  - to
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - error
                  from:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  to:
                    anyOf:
                      - type: string
                        allOf:
                          - minLength: 1
                          - maxLength: 64
                          - pattern: ^[A-Za-z0-9_]+$
                      - type: 'null'
                required:
                  - kind
                  - from
                  - to
                additionalProperties: false
          allOf:
            - maxItems: 320
      required:
        - nodes
        - edges
      additionalProperties: false
    AutomationId:
      type: string
      pattern: ^auto_[0-9a-f]{32}$
    Union_248:
      anyOf:
        - type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        - type: 'null'
    Union_249:
      anyOf:
        - type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        - type: 'null'
    Union_250:
      anyOf:
        - $ref: '#/components/schemas/ConnectedRuntimeId'
        - type: 'null'
    Union_220:
      type: string
      enum:
        - active
        - paused
    Union_251:
      anyOf:
        - $ref: '#/components/schemas/Union_221'
        - type: 'null'
    Union_252:
      anyOf:
        - type: string
        - type: 'null'
    Union_253:
      anyOf:
        - $ref: '#/components/schemas/SessionId'
        - type: 'null'
    Union_254:
      anyOf:
        - $ref: '#/components/schemas/RunId'
        - type: 'null'
    Union_255:
      anyOf:
        - type: string
        - type: 'null'
    Objects_130:
      type: object
      properties:
        kind:
          type: string
          enum:
            - snapshot
        prompt:
          $ref: '#/components/schemas/AutomationPrompt'
        outcome:
          $ref: '#/components/schemas/Objects_118'
        flow_review:
          $ref: '#/components/schemas/Objects_119'
        delivery_screen:
          anyOf:
            - type: object
              properties:
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                tier:
                  $ref: '#/components/schemas/Union_129'
                instructions:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - model_routing_profile_key
                - instructions
              additionalProperties: false
            - type: object
              properties:
                evaluation:
                  $ref: '#/components/schemas/Objects_92'
                rule:
                  $ref: '#/components/schemas/Union_191'
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - evaluation
                - rule
              additionalProperties: false
        resources:
          $ref: '#/components/schemas/AutomationResources'
        prompt_template: false
      required:
        - kind
        - prompt
      additionalProperties: false
    Objects_132:
      type: object
      properties:
        kind:
          type: string
          enum:
            - template
        prompt_template:
          $ref: '#/components/schemas/AutomationPrompt'
        outcome:
          $ref: '#/components/schemas/Objects_118'
        flow_review:
          $ref: '#/components/schemas/Objects_119'
        delivery_screen:
          anyOf:
            - type: object
              properties:
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                tier:
                  $ref: '#/components/schemas/Union_129'
                instructions:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - model_routing_profile_key
                - instructions
              additionalProperties: false
            - type: object
              properties:
                evaluation:
                  $ref: '#/components/schemas/Objects_92'
                rule:
                  $ref: '#/components/schemas/Union_191'
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - evaluation
                - rule
              additionalProperties: false
        resources:
          $ref: '#/components/schemas/AutomationResources'
        prompt: false
      required:
        - kind
        - prompt_template
      additionalProperties: false
    Union_256:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - conversation
            conversation:
              $ref: '#/components/schemas/Union_201'
            resource_type: false
            external_id: false
          required:
            - kind
            - conversation
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_124'
    SessionId:
      type: string
      pattern: ^sess_[0-9a-f]{32}$
    AgentId:
      type: string
      pattern: ^agent_[0-9a-f]{32}$
    SessionBudgetRequestSafeLimit:
      type: integer
      exclusiveMinimum: 0
    CurrentOutcomeDeliverablesDistinctPaths:
      type: array
      items:
        type: string
        pattern: ^\/\S+$
      allOf:
        - minItems: 1
        - maxItems: 32
        - uniqueItems: true
          description: Outcome deliverables with distinct paths
    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
    TypedCheckQuestions:
      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
              true_description:
                $ref: '#/components/schemas/CheckDescription'
              false_description:
                $ref: '#/components/schemas/CheckDescription'
            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'
            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'
            required:
              - key
              - type
              - instructions
              - levels
            additionalProperties: false
      allOf:
        - minItems: 1
        - maxItems: 8
    CheckBooleanRuleThresholds:
      type: object
      properties:
        type:
          type: string
          enum:
            - boolean
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        expected:
          type: boolean
        false_max:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        true_min:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - expected
        - false_max
        - true_min
      additionalProperties: false
    Objects_93:
      type: object
      properties:
        type:
          type: string
          enum:
            - choice_matches
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        option_keys:
          $ref: '#/components/schemas/CheckChoiceMatchesOptions'
        min_probability:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        min_margin:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - option_keys
        - min_probability
        - min_margin
      additionalProperties: false
    CheckScoreTailRuleThresholds:
      type: object
      properties:
        type:
          type: string
          enum:
            - score_tail
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        at_or_above_level:
          type: integer
          minimum: 0
        false_max:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        true_min:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - at_or_above_level
        - false_max
        - true_min
      additionalProperties: false
    Union_234:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - file_tree
            file_tree_id:
              $ref: '#/components/schemas/FileTreeId'
            mount_path:
              $ref: '#/components/schemas/MountPath'
            version_policy:
              $ref: '#/components/schemas/Union_235'
            access:
              $ref: '#/components/schemas/Union_236'
            writeback:
              type: 'null'
          required:
            - kind
            - file_tree_id
            - mount_path
            - version_policy
            - access
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - file_tree
            file_tree_id:
              $ref: '#/components/schemas/FileTreeId'
            mount_path:
              $ref: '#/components/schemas/MountPath'
            version_policy:
              $ref: '#/components/schemas/Union_235'
            access:
              type: string
              enum:
                - read_write
            writeback:
              $ref: '#/components/schemas/Objects_120'
          required:
            - kind
            - file_tree_id
            - mount_path
            - version_policy
            - access
            - writeback
          additionalProperties: false
    Objects_121:
      type: object
      properties:
        kind:
          type: string
          enum:
            - file
        file_id:
          $ref: '#/components/schemas/FileId'
        mount_path:
          $ref: '#/components/schemas/MountPath'
        access:
          type: string
          enum:
            - read_only
      required:
        - kind
        - file_id
        - mount_path
        - access
      additionalProperties: false
    MemoryStoreId:
      type: string
      pattern: ^memstore_[0-9a-f]{32}$
    Union_238:
      type: string
      enum:
        - read_only
        - read_write
    Union_240:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - ref
            ref:
              $ref: '#/components/schemas/Union_121'
          required:
            - kind
            - ref
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - version
            version:
              $ref: '#/components/schemas/MemoryVersionId'
          required:
            - kind
            - version
          additionalProperties: false
    Union_200:
      anyOf:
        - type: string
          allOf:
            - maxLength: 4096
        - type: boolean
        - type: number
          allOf:
            - minimum: -9007199254740991
              maximum: 9007199254740991
    Objects_125:
      type: object
      properties:
        id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        name:
          type: string
          allOf:
            - maxLength: 255
        condition:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - predicates
                predicates:
                  type: array
                  items:
                    $ref: '#/components/schemas/Union_242'
                  allOf:
                    - minItems: 1
                    - maxItems: 10
                check: false
                input:
                  anyOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - trigger_payload
                      required:
                        - kind
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - previous_step_output
                      required:
                        - kind
                      additionalProperties: false
              required:
                - kind
                - predicates
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - check
                check:
                  $ref: '#/components/schemas/Union_243'
                predicates: false
                input:
                  anyOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - trigger_payload
                      required:
                        - kind
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - previous_step_output
                      required:
                        - kind
                      additionalProperties: false
              required:
                - kind
                - check
              additionalProperties: false
        group:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        action:
          anyOf:
            - $ref: '#/components/schemas/AutomationStepBudgetRequiresNewSession'
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - parse_json
                input_bindings:
                  $ref: '#/components/schemas/AutomationJsonInputBindings'
                output_schema:
                  $ref: '#/components/schemas/AutomationJsonOutputSchema'
                policy_version:
                  type: number
                  enum:
                    - 1
              required:
                - action
                - input_bindings
                - output_schema
                - policy_version
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - query_sessions
                agent:
                  $ref: '#/components/schemas/AgentId'
                limit:
                  type: integer
                  allOf:
                    - minimum: 1
                      maximum: 100
                scan_limit:
                  type: integer
                  allOf:
                    - minimum: 1
                      maximum: 1000
                max_event_positions:
                  type: integer
                  allOf:
                    - minimum: 1
                      maximum: 1000
              required:
                - action
                - agent
                - limit
                - scan_limit
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - mark_sessions_processed
                query_step:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 64
                    - pattern: ^[A-Za-z0-9_]+$
                required_effects:
                  type: array
                  items:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 64
                      - pattern: ^[A-Za-z0-9_]+$
                  allOf:
                    - maxItems: 20
              required:
                - action
                - query_step
                - required_effects
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - check
                check:
                  $ref: '#/components/schemas/Union_243'
                input:
                  $ref: '#/components/schemas/Objects_126'
              required:
                - action
                - check
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - propose_skill_update
                query_step:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 64
                    - pattern: ^[A-Za-z0-9_]+$
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                parameters:
                  $ref: '#/components/schemas/AutomationSkillProposalParameters'
                input_bindings:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AutomationAgentOutputBinding'
                  allOf:
                    - maxProperties: 32
                    - maxProperties: 2
                join:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - all_completed
                  required:
                    - kind
                  additionalProperties: false
              required:
                - action
                - query_step
                - model_routing_profile_key
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - observe_skill_proposal
                proposal_step:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 64
                    - pattern: ^[A-Za-z0-9_]+$
              required:
                - action
                - proposal_step
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - read_skill
                skill:
                  $ref: '#/components/schemas/SkillId'
                version:
                  type: integer
                  allOf:
                    - minimum: 1
                      maximum: 9007199254740991
              required:
                - action
                - skill
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - read_memory
                memory_store:
                  $ref: '#/components/schemas/MemoryStoreId'
                path:
                  $ref: '#/components/schemas/MemoryPath'
              required:
                - action
                - memory_store
                - path
              additionalProperties: false
            - $ref: '#/components/schemas/AutomationMemoryWriteInput'
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - call_connection
                connection:
                  $ref: '#/components/schemas/ConnectionId'
                tool:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                arguments:
                  $ref: '#/components/schemas/AutomationStepArguments'
                argument_bindings:
                  $ref: '#/components/schemas/AutomationStepArgumentBindings'
                join:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - all_completed
                  required:
                    - kind
                  additionalProperties: false
                acted_as: false
                retry:
                  $ref: '#/components/schemas/AutomationConnectionStepRetry'
              required:
                - action
                - connection
                - tool
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - request_approval
                approver:
                  $ref: '#/components/schemas/PrincipalId'
                message:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 16384
                timeout_seconds:
                  type: integer
                  allOf:
                    - exclusiveMinimum: 0
                    - maximum: 604800
              required:
                - action
                - approver
                - message
              additionalProperties: false
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - wait
                seconds:
                  type: integer
                  allOf:
                    - exclusiveMinimum: 0
                    - maximum: 604800
              required:
                - action
                - seconds
              additionalProperties: false
      required:
        - id
        - action
      additionalProperties: false
    Objects_127:
      type: object
      properties:
        kind:
          type: string
          enum:
            - previous_step_output
      required:
        - kind
      additionalProperties: false
    Objects_126:
      type: object
      properties:
        kind:
          type: string
          enum:
            - mapped
        bindings:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AutomationAgentOutputBinding'
          allOf:
            - maxProperties: 32
            - minProperties: 1
        join:
          type: object
          properties:
            kind:
              type: string
              enum:
                - all_completed
          required:
            - kind
          additionalProperties: false
      required:
        - kind
        - bindings
      additionalProperties: false
    AutomationDecisionCheckInput:
      type: object
      properties:
        kind:
          type: string
          enum:
            - check
        check:
          anyOf:
            - type: object
              properties:
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                tier:
                  $ref: '#/components/schemas/Union_129'
                instructions:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                failure:
                  type: string
                  enum:
                    - fail_closed
              required:
                - model_routing_profile_key
                - instructions
                - failure
              additionalProperties: false
            - type: object
              properties:
                evaluation:
                  $ref: '#/components/schemas/Objects_92'
                rule:
                  $ref: '#/components/schemas/Union_191'
                failure:
                  type: string
                  enum:
                    - fail_closed
              required:
                - evaluation
                - rule
                - failure
              additionalProperties: false
        predicates: false
        input:
          anyOf:
            - $ref: '#/components/schemas/Objects_127'
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - trigger_payload
              required:
                - kind
              additionalProperties: false
            - $ref: '#/components/schemas/Objects_126'
      required:
        - kind
        - check
        - input
      additionalProperties: false
    Union_221:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - manual
            error_type: false
          required:
            - kind
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - error
            error_type:
              $ref: '#/components/schemas/Union_222'
          required:
            - kind
            - error_type
          additionalProperties: false
    RunId:
      type: string
      pattern: ^run_[0-9a-f]{32}$
    Union_201:
      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
    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
    CheckQuestionKey:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 64
    CheckDescription:
      type: string
      allOf:
        - minLength: 1
    CheckChoiceOptions:
      type: array
      items:
        type: object
        properties:
          key:
            $ref: '#/components/schemas/CheckQuestionKey'
          description:
            $ref: '#/components/schemas/CheckDescription'
        required:
          - key
          - description
        additionalProperties: false
      allOf:
        - minItems: 2
        - maxItems: 32
    CheckScoreLevels:
      type: array
      items:
        $ref: '#/components/schemas/CheckDescription'
      allOf:
        - minItems: 2
        - maxItems: 10
    CheckChoiceMatchesOptions:
      type: array
      items:
        $ref: '#/components/schemas/CheckQuestionKey'
      allOf:
        - minItems: 1
    FileTreeId:
      type: string
      pattern: ^ftree_[0-9a-f]{32}$
    MountPath:
      type: string
      allOf:
        - minLength: 2
        - maxLength: 1024
    Union_235:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - latest
          required:
            - kind
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - pinned
            version:
              type: integer
              exclusiveMinimum: 0
          required:
            - kind
            - version
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - ref
            ref:
              $ref: '#/components/schemas/GitReference'
          required:
            - kind
            - ref
          additionalProperties: false
    Union_236:
      type: string
      enum:
        - read_only
        - read_write
    Objects_120:
      type: object
      properties:
        kind:
          type: string
          enum:
            - pull_request
        commit_message:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        pull_request_title:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 256
        pull_request_body:
          type: string
          allOf:
            - maxLength: 16384
        allow_workflow_changes:
          type: boolean
          enum:
            - true
      required:
        - kind
      additionalProperties: false
    FileId:
      type: string
      pattern: ^file_[0-9a-f]{32}$
    Union_121:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - canonical
          required:
            - kind
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - session
            session:
              $ref: '#/components/schemas/SessionId'
          required:
            - kind
            - session
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - proposal
            proposal:
              $ref: '#/components/schemas/MemoryProposalId'
          required:
            - kind
            - proposal
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - curation
            run:
              $ref: '#/components/schemas/CurationRunId'
          required:
            - kind
            - run
          additionalProperties: false
    MemoryVersionId:
      type: string
      pattern: ^memver_[0-9a-f]{32}$
    Union_243:
      anyOf:
        - type: object
          properties:
            model_routing_profile_key:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            tier:
              $ref: '#/components/schemas/Union_129'
            instructions:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 4096
            failure:
              $ref: '#/components/schemas/Union_232'
          required:
            - model_routing_profile_key
            - instructions
            - failure
          additionalProperties: false
        - type: object
          properties:
            evaluation:
              $ref: '#/components/schemas/Objects_92'
            rule:
              $ref: '#/components/schemas/Union_191'
            failure:
              $ref: '#/components/schemas/Union_232'
          required:
            - evaluation
            - rule
            - failure
          additionalProperties: false
    AutomationStepBudgetRequiresNewSession:
      anyOf:
        - type: object
          properties:
            action:
              type: string
              enum:
                - run_agent
            budget:
              $ref: '#/components/schemas/SessionBudgetRequest'
            session_target:
              $ref: '#/components/schemas/AutomationAgentSessionTarget'
            agent:
              $ref: '#/components/schemas/ManagedAgentsAgentParams'
            agent_deployment_revision_selection: false
            retry:
              $ref: '#/components/schemas/AutomationStepRetry'
            outcome:
              $ref: '#/components/schemas/Objects_118'
            prompt:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 16384
            input: false
            for_each: false
          required:
            - action
            - agent
            - prompt
          additionalProperties: false
        - type: object
          properties:
            action:
              type: string
              enum:
                - run_agent
            budget:
              $ref: '#/components/schemas/SessionBudgetRequest'
            session_target:
              $ref: '#/components/schemas/AutomationAgentSessionTarget'
            agent:
              $ref: '#/components/schemas/ManagedAgentsAgentParams'
            agent_deployment_revision_selection: false
            retry:
              $ref: '#/components/schemas/AutomationStepRetry'
            outcome:
              $ref: '#/components/schemas/Objects_118'
            prompt:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 16384
            input:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - trigger_payload
              required:
                - kind
              additionalProperties: false
            for_each:
              $ref: '#/components/schemas/AutomationStepForEach'
          required:
            - action
            - agent
            - prompt
            - input
          additionalProperties: false
        - type: object
          properties:
            action:
              type: string
              enum:
                - run_agent
            budget:
              $ref: '#/components/schemas/SessionBudgetRequest'
            session_target:
              $ref: '#/components/schemas/AutomationAgentSessionTarget'
            agent:
              $ref: '#/components/schemas/ManagedAgentsAgentParams'
            agent_deployment_revision_selection: false
            retry:
              $ref: '#/components/schemas/AutomationStepRetry'
            outcome:
              $ref: '#/components/schemas/Objects_118'
            input:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - previous_step_output
              required:
                - kind
              additionalProperties: false
            prompt: false
            for_each: false
          required:
            - action
            - agent
            - input
          additionalProperties: false
        - type: object
          properties:
            action:
              type: string
              enum:
                - run_agent
            budget:
              $ref: '#/components/schemas/SessionBudgetRequest'
            session_target:
              $ref: '#/components/schemas/AutomationAgentSessionTarget'
            agent:
              $ref: '#/components/schemas/ManagedAgentsAgentParams'
            agent_deployment_revision_selection: false
            retry:
              $ref: '#/components/schemas/AutomationStepRetry'
            outcome:
              $ref: '#/components/schemas/Objects_118'
            prompt:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 16384
            input:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - mapped
                bindings:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AutomationAgentOutputBinding'
                  allOf:
                    - maxProperties: 32
                    - minProperties: 1
              required:
                - kind
                - bindings
              additionalProperties: false
            join:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - all_completed
              required:
                - kind
              additionalProperties: false
            for_each: false
          required:
            - action
            - agent
            - prompt
            - input
          additionalProperties: false
      allOf:
        - anyOf:
            - properties:
                budget: false
            - properties:
                session_target:
                  properties:
                    mode:
                      const: start_new
          description: an authored step Budget requires a newly created child Session
    AutomationJsonInputBindings:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationAgentOutputBinding'
      allOf:
        - maxProperties: 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.
    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
    AutomationAgentOutputBinding:
      type: object
      properties:
        source:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - trigger_payload
              required:
                - kind
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - agent_output
                step_id:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 64
                    - pattern: ^[A-Za-z0-9_]+$
              required:
                - kind
                - step_id
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - data_output
                step_id:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 64
                    - pattern: ^[A-Za-z0-9_]+$
              required:
                - kind
                - step_id
              additionalProperties: false
        pointer:
          type: string
          allOf:
            - maxLength: 512
            - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
      required:
        - source
        - pointer
      additionalProperties: false
    SkillId:
      type: string
      pattern: ^skl_[0-9a-f]{32}$
    MemoryPath:
      type: string
      allOf:
        - maxLength: 1024
    AutomationMemoryWriteInput:
      type: object
      properties:
        action:
          type: string
          enum:
            - write_memory
        memory_store:
          $ref: '#/components/schemas/MemoryStoreId'
        parameters:
          $ref: '#/components/schemas/AutomationMemoryWriteParameters'
        input_bindings:
          $ref: '#/components/schemas/AutomationMemoryWriteBindings'
        join:
          type: object
          properties:
            kind:
              type: string
              enum:
                - all_completed
          required:
            - kind
          additionalProperties: false
      required:
        - action
        - memory_store
      additionalProperties: false
    ConnectionId:
      type: string
      pattern: ^conn_[0-9a-f]{32}$
    AutomationStepArguments:
      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: 8192
              maximumInspectionWork: 8192
            x-checkfu-unicode-scalar-values: true
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 8192
            maximumDepth: 64
            maximumNodes: 8192
            maximumInspectionWork: 8192
          x-checkfu-unicode-scalar-values: true
        - maxProperties: 8192
          description: JSON tool arguments of at most 8192 bytes
    AutomationStepArgumentBindings:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationAgentOutputBinding'
      allOf:
        - maxProperties: 32
    AutomationConnectionStepRetry:
      type: object
      properties:
        max_attempts:
          type: integer
          allOf:
            - minimum: 2
              maximum: 5
        wait_seconds:
          type: integer
          allOf:
            - minimum: 0
              maximum: 3600
        repeat_safety:
          $ref: '#/components/schemas/AutomationConnectionRetrySafety'
      required:
        - max_attempts
        - wait_seconds
        - repeat_safety
      additionalProperties: false
    Union_222:
      type: string
      enum:
        - validation.malformed
        - validation.prompt_integrity_review_required
        - validation.not_found
        - validation.conflict
        - validation.idempotency_conflict
        - validation.idempotency_in_progress
        - validation.payload_too_large
        - validation.range_too_large
        - auth.invalid_key
        - auth.authorization_unavailable
        - auth.request_admission_unavailable
        - auth.disabled_tenancy
        - policy.denied
        - budget.exceeded
        - model.no_eligible_model
        - model.credential_rejected
        - model.platform_supply_unavailable
        - model.platform_capacity_reached
        - billing.entitlement_unavailable
        - billing.usage_limit_reached
        - billing.payment_required
        - billing.seat_activation_unavailable
        - memory.not_found
        - memory.conflict
        - memory.read_only
        - memory.invalid_path
        - memory.backend_unavailable
        - memory.curation_failed
        - runtime.invalid_transition
        - runtime.primary_thread
        - retention.zdr_unsupported
        - runtime.checkpoint_expired
        - runtime.session_history_unavailable
        - runtime.harness_unavailable
        - runtime.harness_failed
        - runtime.runner_unavailable
        - runtime.provider_host_unavailable
        - runtime.lease_lost
        - runtime.start_timeout
        - runtime.allocation_failed
        - runtime.allocation_not_ready
        - runtime.provisioning_suspended
        - runtime.computer_unavailable
        - runtime.turn_deadline_exceeded
        - runtime.observation_gap
        - runtime.observation_conflict
        - runtime.attestation_invalid
        - runtime.harness_incompatible
        - runtime.target_mismatch
        - runtime.transcript_index_unavailable
        - runtime.internal
    GitReference:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 1024
        - pattern: ^\S+$
    MemoryProposalId:
      type: string
      pattern: ^mprop_[0-9a-f]{32}$
    CurationRunId:
      type: string
      pattern: ^mcur_[0-9a-f]{32}$
    AutomationStepRetry:
      type: object
      properties:
        max_attempts:
          type: integer
          allOf:
            - minimum: 2
              maximum: 5
        wait_seconds:
          type: integer
          allOf:
            - minimum: 0
              maximum: 3600
      required:
        - max_attempts
        - wait_seconds
      additionalProperties: false
    AutomationStepForEach:
      type: object
      properties:
        items:
          type: string
          allOf:
            - maxLength: 512
            - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
        max_items:
          type: integer
          allOf:
            - minimum: 1
              maximum: 50
        concurrency:
          type: integer
          allOf:
            - minimum: 1
              maximum: 8
      required:
        - items
        - max_items
      additionalProperties: false
    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
    AutomationMemoryWriteBindings:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationAgentOutputBinding'
      allOf:
        - maxProperties: 32
        - maxProperties: 5
    AutomationConnectionRetrySafety:
      type: string
      enum:
        - tool_declared
        - idempotency_key
    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'
    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_119'
        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}$
    Union_119:
      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.