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

# Get a canonical automation

> Returns the complete round-trippable automation aggregate with a strong revision ETag. If-None-Match may answer 304.



## OpenAPI

````yaml /managed-agents/openapi.yaml get /managed-agents/v1/automations/{automationId}
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/{automationId}:
    get:
      tags:
        - Automations
      summary: Get a canonical automation
      description: >-
        Returns the complete round-trippable automation aggregate with a strong
        revision ETag. If-None-Match may answer 304.
      operationId: managedAgentsGetAutomation
      parameters:
        - description: Stable canonical automation identifier.
          in: path
          name: automationId
          required: true
          schema:
            description: Stable canonical automation identifier.
            format: uuid
            type: string
        - description: >-
            Strong ETag from an earlier member read. A match returns 304 without
            a body.
          in: header
          name: If-None-Match
          schema:
            description: >-
              Strong ETag from an earlier member read. A match returns 304
              without a body.
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsAutomationDefinitionResponse'
          description: Full round-trippable canonical automation aggregate.
          headers:
            ETag:
              description: Strong validator for this resource revision.
              schema:
                type: string
              style: simple
        '304':
          description: Not Modified
          headers:
            ETag:
              description: Strong validator that matched If-None-Match.
              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'
        '404':
          description: No such resource is reachable for this caller.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorNotFound'
        '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/ManagedAgentsApiErrorManagedAgentsUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                discriminator:
                  propertyName: code
                  mapping:
                    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:
    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.
    ManagedAgentsApiErrorNotFound:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - not_found
        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.
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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.

````