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

# Create a paused canonical automation

> Creates a complete automation aggregate in the paused state after validating the pinned agent version, environment, and every trigger source.



## OpenAPI

````yaml /managed-agents/openapi.yaml post /managed-agents/v1/automations
openapi: 3.1.0
info:
  title: Managed Agents API
  version: 0.13.0
  description: >-
    The Recursion Managed Agents REST API. Authenticate with a Recursion API key
    as a bearer token. An organization-scoped key acts in its own organization
    and needs nothing else; a tenant-scoped key must also send
    `x-organization-id` with an organization id or `default`. Field names follow
    each operation's published schema.
servers:
  - url: https://api.recursion.labelbox.com
security:
  - bearerAuth: []
paths:
  /managed-agents/v1/automations:
    post:
      tags:
        - Automations
      summary: Create a paused canonical automation
      description: >-
        Creates a complete automation aggregate in the paused state after
        validating the pinned agent version, environment, and every trigger
        source.
      operationId: managedAgentsCreateAutomation
      parameters:
        - description: >-
            Replay-protection key in an organization-wide namespace shared by
            keyed mutations. It must contain 1 to 256 visible ASCII characters
            and be sent as exactly one header value. Request identity is the
            exact HTTP method, escaped path, raw query, and raw body bytes. The
            same request replays the original successful response; any different
            request returns 409 idempotency_conflict, and an active matching
            request returns 409 idempotency_in_progress. Completed receipts are
            retained for approximately 24 hours, pending claims may be reclaimed
            after approximately 1 hour, and no deduplication is guaranteed after
            expiry.
          in: header
          name: Idempotency-Key
          required: true
          schema:
            description: >-
              Replay-protection key in an organization-wide namespace shared by
              keyed mutations. It must contain 1 to 256 visible ASCII characters
              and be sent as exactly one header value. Request identity is the
              exact HTTP method, escaped path, raw query, and raw body bytes.
              The same request replays the original successful response; any
              different request returns 409 idempotency_conflict, and an active
              matching request returns 409 idempotency_in_progress. Completed
              receipts are retained for approximately 24 hours, pending claims
              may be reclaimed after approximately 1 hour, and no deduplication
              is guaranteed after expiry.
            maxLength: 256
            minLength: 1
            pattern: ^[!-~]+$
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagedAgentsAutomationDefinitionRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsAutomationDefinitionResponse'
          description: Full round-trippable canonical automation aggregate.
          headers:
            Idempotency-Replayed:
              description: True when this response replays an earlier completed request.
              schema:
                type: boolean
              style: simple
            Location:
              description: Relative URL of the created resource.
              schema:
                type: string
              style: simple
        '400':
          description: The request was rejected by schema or semantic validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorInvalidRequest'
        '401':
          description: The caller is unauthenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorUnauthorized'
        '403':
          description: The caller lacks a required permission or capability.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorForbidden'
        '409':
          headers:
            Retry-After:
              description: Seconds to wait when a matching request is still in progress.
              schema:
                type: string
              style: simple
          description: >-
            The request conflicts with the resource state, or with an in-flight
            idempotent replay.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ManagedAgentsApiErrorConflict'
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyConflict
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyInProgress
                discriminator:
                  propertyName: code
                  mapping:
                    conflict:
                      $ref: '#/components/schemas/ManagedAgentsApiErrorConflict'
                    idempotency_conflict:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorIdempotencyConflict
                    idempotency_in_progress:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorIdempotencyInProgress
        '413':
          description: The request exceeds a size or transaction budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorPayloadTooLarge'
        '415':
          description: The request body uses a media type this operation does not accept.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorUnsupportedMediaType'
        '422':
          description: The request is well formed but failed semantic validation.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ManagedAgentsApiErrorSemanticValidationFailed
        '429':
          headers:
            Retry-After:
              description: Seconds the caller should wait before retrying.
              schema:
                type: string
              style: simple
          description: A rate limit is exhausted. Honor `Retry-After`.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorRateLimitExceeded
                  - $ref: '#/components/schemas/ManagedAgentsApiErrorRateLimited'
                discriminator:
                  propertyName: code
                  mapping:
                    rate_limit_exceeded:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorRateLimitExceeded
                    rate_limited:
                      $ref: '#/components/schemas/ManagedAgentsApiErrorRateLimited'
        '500':
          description: An unexpected server-side failure.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ManagedAgentsApiErrorInternalError'
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorInvariantViolation
                discriminator:
                  propertyName: code
                  mapping:
                    internal_error:
                      $ref: '#/components/schemas/ManagedAgentsApiErrorInternalError'
                    invariant_violation:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorInvariantViolation
        '502':
          description: The service returned an invalid response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorBadGateway'
        '503':
          headers:
            Retry-After:
              description: Seconds the caller should wait before retrying.
              schema:
                type: string
              style: simple
          description: A dependency is unavailable. Retryable.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                discriminator:
                  propertyName: code
                  mapping:
                    idempotency_unavailable:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorIdempotencyUnavailable
                    managed_agents_unavailable:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                    service_unavailable:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
        '504':
          headers:
            Retry-After:
              description: When to retry, as delay seconds or an HTTP date.
              schema:
                type: string
          description: The service did not respond before the timeout. Retryable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorGatewayTimeout'
components:
  schemas:
    ManagedAgentsAutomationDefinitionRequest:
      additionalProperties: false
      description: >-
        Complete writable shape for creating or replacing a canonical
        automation.
      properties:
        agentId:
          description: Managed agent selected by this automation.
          format: uuid
          type: string
        agentVersionId:
          description: Immutable agent version pinned for all admitted runs.
          format: uuid
          type: string
        displayName:
          description: Human-readable automation name.
          maxLength: 256
          minLength: 1
          type: string
        environmentId:
          description: Execution environment selected for admitted sessions.
          format: uuid
          type: string
        initialPrompt:
          $ref: '#/components/schemas/ManagedAgentsAutomationLiteralPrompt'
          description: Prompt definition frozen onto admitted runs.
        runDefaults:
          $ref: >-
            #/components/schemas/ManagedAgentsCanonicalAutomationRunDefaultsRequest
          description: Run defaults frozen onto admitted runs.
        triggers:
          description: Complete trigger set for this automation aggregate.
          items:
            $ref: >-
              #/components/schemas/ManagedAgentsCanonicalAutomationTriggerRequest
          maxItems: 20
          type: array
      required:
        - displayName
        - agentId
        - agentVersionId
        - environmentId
        - initialPrompt
        - runDefaults
        - triggers
      type: object
      example:
        agentId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        agentVersionId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        displayName: example
        environmentId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        initialPrompt:
          text: example
          type: literal
        runDefaults:
          credentialRefs:
            - credentialId: example
              vaultId: example
          memoryStores:
            - access: read_only
              instructions: example
              memoryStoreId: example
          metadata:
            key: example
          resources:
            - fileId: example
              mountPath: example
          vaultIds:
            - example
        triggers:
          - enabled: true
            schedule:
              catchupWindowSeconds: 10
              cron: example
              endAt: '2026-02-18T09:30:00.000Z'
              jitterSeconds: 1
              overlapPolicy: skip
              startAt: '2026-02-18T09:30:00.000Z'
              timezone: example
            triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
            type: schedule
    ManagedAgentsAutomationDefinitionResponse:
      additionalProperties: false
      description: Full round-trippable canonical automation aggregate.
      properties:
        agentId:
          description: Managed agent selected by this automation.
          format: uuid
          type: string
        agentVersionId:
          description: Immutable agent version pinned for all admitted runs.
          format: uuid
          type: string
        automationId:
          description: Stable canonical automation identifier.
          format: uuid
          readOnly: true
          type: string
        createdAt:
          description: Time the automation was created.
          format: date-time
          readOnly: true
          type: string
        displayName:
          description: Human-readable automation name.
          type: string
        environmentId:
          description: Execution environment selected for admitted sessions.
          format: uuid
          type: string
        initialPrompt:
          $ref: '#/components/schemas/ManagedAgentsAutomationLiteralPrompt'
          description: Prompt definition frozen onto admitted runs.
        revision:
          description: Monotonic aggregate revision represented by the response ETag.
          format: int64
          minimum: 1
          readOnly: true
          type: integer
        runDefaults:
          $ref: '#/components/schemas/ManagedAgentsCanonicalAutomationRunDefaults'
          description: Run defaults frozen onto admitted runs.
        status:
          description: Lifecycle state. New automations start paused.
          enum:
            - paused
            - active
          readOnly: true
          type: string
        triggers:
          description: Complete ordered trigger set.
          items:
            $ref: '#/components/schemas/ManagedAgentsCanonicalAutomationTrigger'
          type: array
        updatedAt:
          description: Time the aggregate was last changed.
          format: date-time
          readOnly: true
          type: string
      required:
        - automationId
        - displayName
        - agentId
        - agentVersionId
        - environmentId
        - initialPrompt
        - runDefaults
        - triggers
        - status
        - revision
        - createdAt
        - updatedAt
      type: object
      example:
        agentId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        agentVersionId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        automationId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        createdAt: '2026-02-18T09:30:00.000Z'
        displayName: example
        environmentId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        initialPrompt:
          text: example
          type: literal
        revision: 1
        runDefaults:
          credentialRefs:
            - credentialId: example
              vaultId: example
          memoryStores:
            - access: read_only
              instructions: example
              memoryStoreId: example
          metadata:
            key: example
          resources:
            - fileId: example
              mountPath: example
          vaultIds:
            - example
        status: paused
        triggers:
          - enabled: true
            schedule:
              catchupWindowSeconds: 10
              cron: example
              endAt: '2026-02-18T09:30:00.000Z'
              jitterSeconds: 1
              overlapPolicy: skip
              startAt: '2026-02-18T09:30:00.000Z'
              timezone: example
            triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
            type: schedule
        updatedAt: '2026-02-18T09:30:00.000Z'
    ManagedAgentsApiErrorInvalidRequest:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - invalid_request
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorUnauthorized:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - unauthorized
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorForbidden:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - forbidden
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorConflict:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - conflict
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorIdempotencyConflict:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - idempotency_conflict
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorIdempotencyInProgress:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - idempotency_in_progress
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorPayloadTooLarge:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - payload_too_large
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorUnsupportedMediaType:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - unsupported_media_type
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorSemanticValidationFailed:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - semantic_validation_failed
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorRateLimitExceeded:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - rate_limit_exceeded
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorRateLimited:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - rate_limited
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorInternalError:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - internal_error
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorInvariantViolation:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - invariant_violation
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorBadGateway:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - bad_gateway
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorIdempotencyUnavailable:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - idempotency_unavailable
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorManagedAgentsUnavailable:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - managed_agents_unavailable
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorServiceUnavailable:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - service_unavailable
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorGatewayTimeout:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - gateway_timeout
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          description: Optional structured error details.
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsAutomationLiteralPrompt:
      additionalProperties: false
      description: Literal initial prompt frozen onto each admitted automation run.
      properties:
        text:
          description: Initial instruction supplied to every admitted run.
          maxLength: 65536
          minLength: 1
          type: string
        type:
          description: Literal prompt text with no interpolation.
          enum:
            - literal
          type: string
      required:
        - type
        - text
      type: object
      example:
        text: example
        type: literal
    ManagedAgentsCanonicalAutomationRunDefaultsRequest:
      additionalProperties: false
      description: >-
        Session metadata, credential grants, files and memory applied to every
        trigger and manual admission.
      properties:
        credentialRefs:
          description: >-
            Exact credential selection within vaultIds. Requires explicit
            vaultIds. Omit to grant all items in the selected vaults.
          items:
            $ref: >-
              #/components/schemas/ManagedAgentsAutomationDefinitionCredentialRef
          maxItems: 500
          type: array
          x-recursion-omission:
            strategy: absent
        memoryStores:
          description: >-
            Additional memory stores attached at session start, alongside the
            agent memory store.
          items:
            $ref: >-
              #/components/schemas/ManagedAgentsAutomationDefinitionMemoryStoreRequest
          maxItems: 7
          type: array
          x-recursion-omission:
            strategy: absent
        metadata:
          additionalProperties:
            type: string
          description: String metadata copied to every admitted session.
          type:
            - object
            - 'null'
        resources:
          description: Files resolved and mounted when each session starts.
          items:
            $ref: '#/components/schemas/ManagedAgentsAutomationDefinitionResource'
          maxItems: 500
          type: array
          x-recursion-omission:
            strategy: absent
        vaultIds:
          description: >-
            Vaults available to each session. Omit to inherit the pinned agent
            defaults; an empty list grants no vault access.
          items:
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
      required:
        - metadata
      type: object
      example:
        credentialRefs:
          - credentialId: example
            vaultId: example
        memoryStores:
          - access: read_only
            instructions: example
            memoryStoreId: example
        metadata:
          key: example
        resources:
          - fileId: example
            mountPath: example
        vaultIds:
          - example
    ManagedAgentsCanonicalAutomationTriggerRequest:
      description: >-
        One trigger of a canonical automation: a schedule, a Slack event, a
        GitHub event, or a custom webhook.
      oneOf:
        - $ref: >-
            #/components/schemas/ManagedAgentsHttpapiAutomationScheduleTriggerRequest
        - $ref: '#/components/schemas/ManagedAgentsAutomationSlackTriggerRequest'
        - $ref: '#/components/schemas/ManagedAgentsAutomationGitHubTriggerRequest'
        - $ref: >-
            #/components/schemas/ManagedAgentsHttpapiAutomationWebhookTriggerRequest
      type: object
      example:
        enabled: true
        schedule:
          catchupWindowSeconds: 10
          cron: example
          endAt: '2026-02-18T09:30:00.000Z'
          jitterSeconds: 1
          overlapPolicy: skip
          startAt: '2026-02-18T09:30:00.000Z'
          timezone: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: schedule
    ManagedAgentsCanonicalAutomationRunDefaults:
      additionalProperties: false
      description: >-
        Session metadata, credential grants, files and memory applied to every
        trigger and manual admission.
      properties:
        credentialRefs:
          description: >-
            Exact credential selection within vaultIds. Requires explicit
            vaultIds. Omit to grant all items in the selected vaults.
          items:
            $ref: >-
              #/components/schemas/ManagedAgentsAutomationDefinitionCredentialRef
          maxItems: 500
          type: array
        memoryStores:
          description: >-
            Additional memory stores attached at session start, alongside the
            agent memory store.
          items:
            $ref: '#/components/schemas/ManagedAgentsAutomationDefinitionMemoryStore'
          maxItems: 7
          type: array
        metadata:
          additionalProperties:
            type: string
          description: String metadata copied to every admitted session.
          type:
            - object
            - 'null'
        resources:
          description: Files resolved and mounted when each session starts.
          items:
            $ref: '#/components/schemas/ManagedAgentsAutomationDefinitionResource'
          maxItems: 500
          type: array
        vaultIds:
          description: >-
            Vaults available to each session. Omit to inherit the pinned agent
            defaults; an empty list grants no vault access.
          items:
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
      required:
        - metadata
      type: object
      example:
        credentialRefs:
          - credentialId: example
            vaultId: example
        memoryStores:
          - access: read_only
            instructions: example
            memoryStoreId: example
        metadata:
          key: example
        resources:
          - fileId: example
            mountPath: example
        vaultIds:
          - example
    ManagedAgentsCanonicalAutomationTrigger:
      description: >-
        One trigger of a canonical automation: a schedule, a Slack event, a
        GitHub event, or a custom webhook.
      oneOf:
        - $ref: '#/components/schemas/ManagedAgentsHttpapiAutomationScheduleTrigger'
        - $ref: '#/components/schemas/ManagedAgentsAutomationSlackTrigger'
        - $ref: '#/components/schemas/ManagedAgentsAutomationGitHubTrigger'
        - $ref: '#/components/schemas/ManagedAgentsHttpapiAutomationWebhookTrigger'
      type: object
      example:
        enabled: true
        schedule:
          catchupWindowSeconds: 10
          cron: example
          endAt: '2026-02-18T09:30:00.000Z'
          jitterSeconds: 1
          overlapPolicy: skip
          startAt: '2026-02-18T09:30:00.000Z'
          timezone: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: schedule
    ManagedAgentsAutomationDefinitionCredentialRef:
      additionalProperties: false
      description: An exact credential grant within a selected vault.
      properties:
        credentialId:
          description: Credential to grant to the session.
          minLength: 1
          type: string
        vaultId:
          description: Selected vault containing the credential.
          minLength: 1
          type: string
      required:
        - vaultId
        - credentialId
      type: object
      example:
        credentialId: example
        vaultId: example
    ManagedAgentsAutomationDefinitionMemoryStoreRequest:
      additionalProperties: false
      description: >-
        A memory store attached to each automation session with explicit access
        and optional instructions.
      properties:
        access:
          description: Access to the attached memory store.
          enum:
            - read_only
            - read_write
          type: string
        instructions:
          description: Instructions for using this memory store.
          maxLength: 4096
          type: string
          x-recursion-omission:
            strategy: absent
        memoryStoreId:
          description: Active memory store in this workspace.
          minLength: 1
          type: string
      required:
        - memoryStoreId
        - access
      type: object
      example:
        access: read_only
        instructions: example
        memoryStoreId: example
    ManagedAgentsAutomationDefinitionResource:
      additionalProperties: false
      description: >-
        A workspace file mounted at an explicit path for each automation
        session.
      properties:
        fileId:
          description: File to attach from this workspace.
          minLength: 1
          type: string
        mountPath:
          description: Absolute mount path beneath the session files directory.
          minLength: 1
          type: string
      required:
        - fileId
        - mountPath
      type: object
      example:
        fileId: example
        mountPath: example
    ManagedAgentsHttpapiAutomationScheduleTriggerRequest:
      additionalProperties: false
      description: Closed schedule-trigger configuration.
      properties:
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        schedule:
          $ref: '#/components/schemas/ManagedAgentsAutomationScheduleConfigRequest'
          description: Schedule timing and overlap policy.
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: Schedule trigger discriminant.
          enum:
            - schedule
          type: string
      required:
        - triggerId
        - type
        - schedule
        - enabled
      type: object
      example:
        enabled: true
        schedule:
          catchupWindowSeconds: 10
          cron: example
          endAt: '2026-02-18T09:30:00.000Z'
          jitterSeconds: 1
          overlapPolicy: skip
          startAt: '2026-02-18T09:30:00.000Z'
          timezone: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: schedule
    ManagedAgentsAutomationSlackTriggerRequest:
      additionalProperties: false
      description: Closed Slack Events API trigger configuration.
      properties:
        allowSharedChannels:
          default: false
          description: >-
            Explicitly allow events from Slack Connect channels shared with
            other organizations. Defaults to false.
          type: boolean
        botEvents:
          $ref: '#/components/schemas/ManagedAgentsAutomationSlackBotEvents'
          description: Explicit external-bot policy.
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        eventSourceId:
          description: Compatible Slack Events API source.
          format: uuid
          type: string
        events:
          description: Slack event types that may match this trigger.
          items:
            enum:
              - message
              - app_mention
            type: string
          maxItems: 2
          minItems: 1
          type: array
          uniqueItems: true
        filters:
          $ref: '#/components/schemas/ManagedAgentsAutomationSlackFiltersRequest'
          description: >-
            Optional conditions on the message. Omit to match every routed
            event.
          x-recursion-omission:
            strategy: absent
        routing:
          $ref: '#/components/schemas/ManagedAgentsAutomationSlackRouting'
          description: Workspace and channel constraints.
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: Slack trigger discriminant.
          enum:
            - slack
          type: string
      required:
        - triggerId
        - type
        - eventSourceId
        - events
        - routing
        - botEvents
        - enabled
      type: object
      example:
        allowSharedChannels: true
        botEvents:
          mode: ignore
        enabled: true
        eventSourceId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        events:
          - message
        filters:
          ignoreThreadReplies: true
          textContains:
            - example
          textExcludes:
            - example
          textMatches: example
        routing:
          channelIds:
            - example
          workspaceIds:
            - example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: slack
    ManagedAgentsAutomationGitHubTriggerRequest:
      additionalProperties: false
      description: Closed GitHub webhook trigger configuration.
      properties:
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        eventSourceId:
          description: Compatible GitHub webhook source.
          format: uuid
          type: string
        events:
          description: GitHub webhook event names that may match this trigger.
          items:
            type: string
          maxItems: 32
          minItems: 1
          type: array
          uniqueItems: true
        filters:
          $ref: '#/components/schemas/ManagedAgentsAutomationGitHubFiltersRequest'
          description: >-
            Optional conditions on the delivery body. Omit to match on event
            name alone.
          x-recursion-omission:
            strategy: absent
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: GitHub trigger discriminant.
          enum:
            - github
          type: string
      required:
        - triggerId
        - type
        - eventSourceId
        - events
        - enabled
      type: object
      example:
        enabled: true
        eventSourceId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        events:
          - example
        filters:
          actions:
            - example
          addedLabels:
            - example
          baseBranches:
            - example
          branches:
            - example
          commentOn: pull_request
          conclusions:
            - example
          excludeDrafts: true
          ignoreBots: true
          labelsAny:
            - example
          labelsNone:
            - example
          merged: true
          repositories:
            - example
          reviewStates:
            - example
          senders:
            - example
          textContains:
            - example
          textExcludes:
            - example
          textMatches: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: github
    ManagedAgentsHttpapiAutomationWebhookTriggerRequest:
      additionalProperties: false
      description: Closed custom-webhook trigger configuration.
      properties:
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        eventSourceId:
          description: Compatible custom webhook source.
          format: uuid
          type: string
        filters:
          $ref: '#/components/schemas/ManagedAgentsAutomationWebhookFiltersRequest'
          description: >-
            Optional body conditions. Omit to match every delivery from the
            source.
          x-recursion-omission:
            strategy: absent
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: Custom-webhook trigger discriminant.
          enum:
            - webhook
          type: string
      required:
        - triggerId
        - type
        - eventSourceId
        - enabled
      type: object
      example:
        enabled: true
        eventSourceId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        filters:
          fieldEquals:
            - path: example
              value: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: webhook
    ManagedAgentsAutomationDefinitionMemoryStore:
      additionalProperties: false
      description: >-
        A memory store attached to each automation session with explicit access
        and optional instructions.
      properties:
        access:
          description: Access to the attached memory store.
          enum:
            - read_only
            - read_write
          type: string
        instructions:
          description: Instructions for using this memory store.
          maxLength: 4096
          type: string
        memoryStoreId:
          description: Active memory store in this workspace.
          minLength: 1
          type: string
      required:
        - memoryStoreId
        - access
      type: object
      example:
        access: read_only
        instructions: example
        memoryStoreId: example
    ManagedAgentsHttpapiAutomationScheduleTrigger:
      additionalProperties: false
      description: Closed schedule-trigger configuration.
      properties:
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        schedule:
          $ref: '#/components/schemas/ManagedAgentsAutomationScheduleConfig'
          description: Schedule timing and overlap policy.
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: Schedule trigger discriminant.
          enum:
            - schedule
          type: string
      required:
        - triggerId
        - type
        - schedule
        - enabled
      type: object
      example:
        enabled: true
        schedule:
          catchupWindowSeconds: 10
          cron: example
          endAt: '2026-02-18T09:30:00.000Z'
          jitterSeconds: 1
          overlapPolicy: skip
          startAt: '2026-02-18T09:30:00.000Z'
          timezone: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: schedule
    ManagedAgentsAutomationSlackTrigger:
      additionalProperties: false
      description: Closed Slack Events API trigger configuration.
      properties:
        allowSharedChannels:
          default: false
          description: >-
            Explicitly allow events from Slack Connect channels shared with
            other organizations. Defaults to false.
          type: boolean
        botEvents:
          $ref: '#/components/schemas/ManagedAgentsAutomationSlackBotEvents'
          description: Explicit external-bot policy.
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        eventSourceId:
          description: Compatible Slack Events API source.
          format: uuid
          type: string
        events:
          description: Slack event types that may match this trigger.
          items:
            enum:
              - message
              - app_mention
            type: string
          maxItems: 2
          minItems: 1
          type: array
          uniqueItems: true
        filters:
          $ref: '#/components/schemas/ManagedAgentsAutomationSlackFilters'
          description: >-
            Optional conditions on the message. Omit to match every routed
            event.
        routing:
          $ref: '#/components/schemas/ManagedAgentsAutomationSlackRouting'
          description: Workspace and channel constraints.
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: Slack trigger discriminant.
          enum:
            - slack
          type: string
      required:
        - triggerId
        - type
        - eventSourceId
        - events
        - routing
        - botEvents
        - enabled
      type: object
      example:
        allowSharedChannels: true
        botEvents:
          mode: ignore
        enabled: true
        eventSourceId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        events:
          - message
        filters:
          ignoreThreadReplies: true
          textContains:
            - example
          textExcludes:
            - example
          textMatches: example
        routing:
          channelIds:
            - example
          workspaceIds:
            - example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: slack
    ManagedAgentsAutomationGitHubTrigger:
      additionalProperties: false
      description: Closed GitHub webhook trigger configuration.
      properties:
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        eventSourceId:
          description: Compatible GitHub webhook source.
          format: uuid
          type: string
        events:
          description: GitHub webhook event names that may match this trigger.
          items:
            type: string
          maxItems: 32
          minItems: 1
          type: array
          uniqueItems: true
        filters:
          $ref: '#/components/schemas/ManagedAgentsAutomationGitHubFilters'
          description: >-
            Optional conditions on the delivery body. Omit to match on event
            name alone.
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: GitHub trigger discriminant.
          enum:
            - github
          type: string
      required:
        - triggerId
        - type
        - eventSourceId
        - events
        - enabled
      type: object
      example:
        enabled: true
        eventSourceId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        events:
          - example
        filters:
          actions:
            - example
          addedLabels:
            - example
          baseBranches:
            - example
          branches:
            - example
          commentOn: pull_request
          conclusions:
            - example
          excludeDrafts: true
          ignoreBots: true
          labelsAny:
            - example
          labelsNone:
            - example
          merged: true
          repositories:
            - example
          reviewStates:
            - example
          senders:
            - example
          textContains:
            - example
          textExcludes:
            - example
          textMatches: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: github
    ManagedAgentsHttpapiAutomationWebhookTrigger:
      additionalProperties: false
      description: Closed custom-webhook trigger configuration.
      properties:
        enabled:
          description: Whether this trigger may admit runs while the automation is active.
          type: boolean
        eventSourceId:
          description: Compatible custom webhook source.
          format: uuid
          type: string
        filters:
          $ref: '#/components/schemas/ManagedAgentsAutomationWebhookFilters'
          description: >-
            Optional body conditions. Omit to match every delivery from the
            source.
        triggerId:
          description: Caller-generated stable trigger identifier.
          format: uuid
          type: string
        type:
          description: Custom-webhook trigger discriminant.
          enum:
            - webhook
          type: string
      required:
        - triggerId
        - type
        - eventSourceId
        - enabled
      type: object
      example:
        enabled: true
        eventSourceId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        filters:
          fieldEquals:
            - path: example
              value: example
        triggerId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        type: webhook
    ManagedAgentsAutomationScheduleConfigRequest:
      additionalProperties: false
      description: Complete canonical schedule configuration.
      properties:
        catchupWindowSeconds:
          default: 900
          description: >-
            Maximum age of a missed occurrence eligible for catch-up. Defaults
            to 900.
          maximum: 31622400
          minimum: 10
          type:
            - 'null'
            - integer
        cron:
          description: Five-field POSIX cron expression.
          maxLength: 256
          minLength: 1
          type: string
        endAt:
          description: Optional inclusive schedule end.
          format: date-time
          type:
            - 'null'
            - string
          x-recursion-omission:
            strategy: absent
        jitterSeconds:
          default: 10
          description: >-
            Maximum deterministic occurrence jitter in seconds. Defaults to 10;
            zero disables jitter.
          maximum: 540
          minimum: 0
          type:
            - 'null'
            - integer
        overlapPolicy:
          default: skip
          description: >-
            Behavior when an earlier occurrence is still running. Defaults to
            skip.
          enum:
            - skip
            - buffer_one
            - buffer_all
            - allow_all
            - cancel_other
          type: string
        startAt:
          description: Optional inclusive schedule start.
          format: date-time
          type:
            - 'null'
            - string
          x-recursion-omission:
            strategy: absent
        timezone:
          description: IANA timezone used to interpret the cron expression.
          maxLength: 256
          minLength: 1
          type: string
      required:
        - cron
        - timezone
      type: object
      example:
        catchupWindowSeconds: 10
        cron: example
        endAt: '2026-02-18T09:30:00.000Z'
        jitterSeconds: 1
        overlapPolicy: skip
        startAt: '2026-02-18T09:30:00.000Z'
        timezone: example
    ManagedAgentsAutomationSlackBotEvents:
      additionalProperties: false
      description: Trigger-local handling for messages authored by external Slack apps.
      properties:
        mode:
          description: Whether events authored by a provably different Slack app may match.
          enum:
            - ignore
            - allow_external
          type: string
      required:
        - mode
      type: object
      example:
        mode: ignore
    ManagedAgentsAutomationSlackFiltersRequest:
      additionalProperties: false
      description: Optional conditions on the Slack message text and threading.
      properties:
        ignoreThreadReplies:
          description: Reject replies inside a thread; only top-level messages match.
          type: boolean
          x-recursion-omission:
            strategy: absent
        textContains:
          description: >-
            The message must contain at least one of these phrases, ignoring
            case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        textExcludes:
          description: The message must contain none of these phrases, ignoring case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        textMatches:
          description: An RE2 regular expression the message must match, ignoring case.
          maxLength: 256
          type: string
          x-recursion-omission:
            strategy: absent
      type: object
      x-recursion-omission:
        strategy: absent
      example:
        ignoreThreadReplies: true
        textContains:
          - example
        textExcludes:
          - example
        textMatches: example
    ManagedAgentsAutomationSlackRouting:
      additionalProperties: false
      description: Workspace and channel routing constraints for a Slack trigger.
      properties:
        channelIds:
          description: >-
            Slack channel ids accepted by this trigger; an empty list accepts
            every channel.
          items:
            type: string
          maxItems: 100
          type: array
          uniqueItems: true
        workspaceIds:
          description: >-
            Slack workspace ids accepted by this trigger; an empty list accepts
            every workspace received by the source.
          items:
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
      required:
        - workspaceIds
        - channelIds
      type: object
      example:
        channelIds:
          - example
        workspaceIds:
          - example
    ManagedAgentsAutomationGitHubFiltersRequest:
      additionalProperties: false
      description: >-
        Optional conditions on the verified GitHub delivery body. Every present
        condition must match; empty lists accept any value.
      properties:
        actions:
          description: >-
            GitHub delivery action values that may match, such as opened,
            labeled, submitted, or completed. Empty accepts every action.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 16
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        addedLabels:
          description: 'For labeled deliveries: the added label must be one of these.'
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        baseBranches:
          description: >-
            Pull request base branch globs. An asterisk matches any characters,
            including slashes; a question mark matches one character.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        branches:
          description: >-
            Branch globs for push and workflow run deliveries, with the same
            syntax as baseBranches.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        commentOn:
          description: >-
            For issue_comment deliveries: whether the comment is on a pull
            request or on an issue.
          enum:
            - pull_request
            - issue
          type: string
          x-recursion-omission:
            strategy: absent
        conclusions:
          description: >-
            For completed workflow runs: conclusions such as failure, success,
            or cancelled. Empty accepts any conclusion.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 8
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        excludeDrafts:
          description: Reject draft pull requests.
          type: boolean
          x-recursion-omission:
            strategy: absent
        ignoreBots:
          description: Reject deliveries whose sender is a GitHub bot account.
          type: boolean
          x-recursion-omission:
            strategy: absent
        labelsAny:
          description: >-
            Match only when the pull request or issue carries at least one of
            these labels.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        labelsNone:
          description: Reject when the pull request or issue carries any of these labels.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        merged:
          description: >-
            For closed pull requests: true matches merged, false matches closed
            without merging.
          type: boolean
          x-recursion-omission:
            strategy: absent
        repositories:
          description: >-
            Repository full names (owner/name), compared case-insensitively.
            Empty accepts every repository.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 100
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        reviewStates:
          description: >-
            For submitted reviews: approved, changes_requested, or commented.
            Empty accepts any review.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 3
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        senders:
          description: >-
            GitHub logins of the account that caused the delivery. Empty accepts
            anyone.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 100
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        textContains:
          description: >-
            For comment deliveries: the comment must contain at least one of
            these phrases, ignoring case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        textExcludes:
          description: >-
            For comment deliveries: the comment must contain none of these
            phrases, ignoring case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
          x-recursion-omission:
            strategy: absent
        textMatches:
          description: >-
            For comment deliveries: an RE2 regular expression the comment must
            match, ignoring case.
          maxLength: 256
          type: string
          x-recursion-omission:
            strategy: absent
      type: object
      x-recursion-omission:
        strategy: absent
      example:
        actions:
          - example
        addedLabels:
          - example
        baseBranches:
          - example
        branches:
          - example
        commentOn: pull_request
        conclusions:
          - example
        excludeDrafts: true
        ignoreBots: true
        labelsAny:
          - example
        labelsNone:
          - example
        merged: true
        repositories:
          - example
        reviewStates:
          - example
        senders:
          - example
        textContains:
          - example
        textExcludes:
          - example
        textMatches: example
    ManagedAgentsAutomationWebhookFiltersRequest:
      additionalProperties: false
      description: Optional conditions on the custom webhook body.
      properties:
        fieldEquals:
          description: Conditions that must all hold.
          items:
            $ref: '#/components/schemas/ManagedAgentsAutomationWebhookFieldCondition'
          maxItems: 20
          minItems: 1
          type: array
      required:
        - fieldEquals
      type: object
      x-recursion-omission:
        strategy: absent
      example:
        fieldEquals:
          - path: example
            value: example
    ManagedAgentsAutomationScheduleConfig:
      additionalProperties: false
      description: Complete canonical schedule configuration.
      properties:
        catchupWindowSeconds:
          default: 900
          description: >-
            Maximum age of a missed occurrence eligible for catch-up. Defaults
            to 900.
          maximum: 31622400
          minimum: 10
          type:
            - 'null'
            - integer
        cron:
          description: Five-field POSIX cron expression.
          maxLength: 256
          minLength: 1
          type: string
        endAt:
          description: Optional inclusive schedule end.
          format: date-time
          type:
            - 'null'
            - string
        jitterSeconds:
          default: 10
          description: >-
            Maximum deterministic occurrence jitter in seconds. Defaults to 10;
            zero disables jitter.
          maximum: 540
          minimum: 0
          type:
            - 'null'
            - integer
        overlapPolicy:
          default: skip
          description: >-
            Behavior when an earlier occurrence is still running. Defaults to
            skip.
          enum:
            - skip
            - buffer_one
            - buffer_all
            - allow_all
            - cancel_other
          type: string
        startAt:
          description: Optional inclusive schedule start.
          format: date-time
          type:
            - 'null'
            - string
        timezone:
          description: IANA timezone used to interpret the cron expression.
          maxLength: 256
          minLength: 1
          type: string
      required:
        - cron
        - timezone
      type: object
      example:
        catchupWindowSeconds: 10
        cron: example
        endAt: '2026-02-18T09:30:00.000Z'
        jitterSeconds: 1
        overlapPolicy: skip
        startAt: '2026-02-18T09:30:00.000Z'
        timezone: example
    ManagedAgentsAutomationSlackFilters:
      additionalProperties: false
      description: Optional conditions on the Slack message text and threading.
      properties:
        ignoreThreadReplies:
          description: Reject replies inside a thread; only top-level messages match.
          type: boolean
        textContains:
          description: >-
            The message must contain at least one of these phrases, ignoring
            case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
        textExcludes:
          description: The message must contain none of these phrases, ignoring case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
        textMatches:
          description: An RE2 regular expression the message must match, ignoring case.
          maxLength: 256
          type: string
      type: object
      example:
        ignoreThreadReplies: true
        textContains:
          - example
        textExcludes:
          - example
        textMatches: example
    ManagedAgentsAutomationGitHubFilters:
      additionalProperties: false
      description: >-
        Optional conditions on the verified GitHub delivery body. Every present
        condition must match; empty lists accept any value.
      properties:
        actions:
          description: >-
            GitHub delivery action values that may match, such as opened,
            labeled, submitted, or completed. Empty accepts every action.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 16
          type: array
          uniqueItems: true
        addedLabels:
          description: 'For labeled deliveries: the added label must be one of these.'
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
        baseBranches:
          description: >-
            Pull request base branch globs. An asterisk matches any characters,
            including slashes; a question mark matches one character.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
        branches:
          description: >-
            Branch globs for push and workflow run deliveries, with the same
            syntax as baseBranches.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
        commentOn:
          description: >-
            For issue_comment deliveries: whether the comment is on a pull
            request or on an issue.
          enum:
            - pull_request
            - issue
          type: string
        conclusions:
          description: >-
            For completed workflow runs: conclusions such as failure, success,
            or cancelled. Empty accepts any conclusion.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 8
          type: array
          uniqueItems: true
        excludeDrafts:
          description: Reject draft pull requests.
          type: boolean
        ignoreBots:
          description: Reject deliveries whose sender is a GitHub bot account.
          type: boolean
        labelsAny:
          description: >-
            Match only when the pull request or issue carries at least one of
            these labels.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
        labelsNone:
          description: Reject when the pull request or issue carries any of these labels.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 50
          type: array
          uniqueItems: true
        merged:
          description: >-
            For closed pull requests: true matches merged, false matches closed
            without merging.
          type: boolean
        repositories:
          description: >-
            Repository full names (owner/name), compared case-insensitively.
            Empty accepts every repository.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 100
          type: array
          uniqueItems: true
        reviewStates:
          description: >-
            For submitted reviews: approved, changes_requested, or commented.
            Empty accepts any review.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 3
          type: array
          uniqueItems: true
        senders:
          description: >-
            GitHub logins of the account that caused the delivery. Empty accepts
            anyone.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 100
          type: array
          uniqueItems: true
        textContains:
          description: >-
            For comment deliveries: the comment must contain at least one of
            these phrases, ignoring case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
        textExcludes:
          description: >-
            For comment deliveries: the comment must contain none of these
            phrases, ignoring case.
          items:
            maxLength: 256
            minLength: 1
            type: string
          maxItems: 20
          type: array
          uniqueItems: true
        textMatches:
          description: >-
            For comment deliveries: an RE2 regular expression the comment must
            match, ignoring case.
          maxLength: 256
          type: string
      type: object
      example:
        actions:
          - example
        addedLabels:
          - example
        baseBranches:
          - example
        branches:
          - example
        commentOn: pull_request
        conclusions:
          - example
        excludeDrafts: true
        ignoreBots: true
        labelsAny:
          - example
        labelsNone:
          - example
        merged: true
        repositories:
          - example
        reviewStates:
          - example
        senders:
          - example
        textContains:
          - example
        textExcludes:
          - example
        textMatches: example
    ManagedAgentsAutomationWebhookFilters:
      additionalProperties: false
      description: Optional conditions on the custom webhook body.
      properties:
        fieldEquals:
          description: Conditions that must all hold.
          items:
            $ref: '#/components/schemas/ManagedAgentsAutomationWebhookFieldCondition'
          maxItems: 20
          minItems: 1
          type: array
      required:
        - fieldEquals
      type: object
      example:
        fieldEquals:
          - path: example
            value: example
    ManagedAgentsAutomationWebhookFieldCondition:
      additionalProperties: false
      description: One equality condition on a custom webhook body.
      properties:
        path:
          description: >-
            Dot-separated path into the JSON body, such as data.level. Decimal
            segments index arrays.
          maxLength: 256
          minLength: 1
          type: string
        value:
          description: >-
            Expected scalar written as JSON text without quotes: a string as-is,
            a number, true, false, or null.
          maxLength: 1024
          type: string
      required:
        - path
        - value
      type: object
      example:
        path: example
        value: example
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A Recursion API key, created in the console under API keys.

````