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

# Resume canonical automation admission

> Allows enabled stored triggers to admit new runs. Requires the latest strong ETag in If-Match.



## OpenAPI

````yaml /managed-agents/openapi.yaml post /managed-agents/v1/automations/{automationId}/resume
openapi: 3.1.0
info:
  title: Managed Agents API
  version: 0.14.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}/resume:
    post:
      tags:
        - Automations
      summary: Resume canonical automation admission
      description: >-
        Allows enabled stored triggers to admit new runs. Requires the latest
        strong ETag in If-Match.
      operationId: managedAgentsResumeAutomation
      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 returned by the latest canonical automation member read.
          in: header
          name: If-Match
          required: true
          schema:
            description: >-
              Strong ETag returned by the latest canonical automation member
              read.
            type: string
        - $ref: '#/components/parameters/RecursionTenantId'
        - $ref: '#/components/parameters/RecursionOrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationDefinitionResponse'
          description: Full round-trippable canonical automation aggregate.
          headers:
            ETag:
              description: Strong validator for this resource revision.
              schema:
                type: string
              style: simple
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorInvalidRequest'
                x-recursion-error-codes:
                  - invalid_request
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorUnauthorized'
                x-recursion-error-codes:
                  - unauthorized
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorForbidden'
                x-recursion-error-codes:
                  - forbidden
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorNotFound'
                x-recursion-error-codes:
                  - not_found
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '412':
          description: Precondition Failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorPreconditionFailed'
                x-recursion-error-codes:
                  - precondition_failed
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '413':
          description: Payload Too Large.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorPayloadTooLarge'
                x-recursion-error-codes:
                  - payload_too_large
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '415':
          description: Unsupported Media Type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorUnsupportedMediaType'
                x-recursion-error-codes:
                  - unsupported_media_type
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '428':
          description: Precondition Required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorPreconditionRequired'
                x-recursion-error-codes:
                  - precondition_required
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '429':
          headers:
            Retry-After:
              description: When to retry, as delay seconds or an HTTP date.
              schema:
                type: string
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
          description: Too Many Requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorRateLimitExceeded'
                x-recursion-error-codes:
                  - rate_limit_exceeded
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorInternalError'
                x-recursion-error-codes:
                  - internal_error
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '502':
          description: A dependent service returned an invalid response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorDependencyFailure'
                x-recursion-error-codes:
                  - bad_gateway
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '503':
          description: Service Unavailable.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorAutomationsUnconfigured
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                discriminator:
                  propertyName: code
                  mapping:
                    automations_unconfigured:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorAutomationsUnconfigured
                    managed_agents_unavailable:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                    service_unavailable:
                      $ref: >-
                        #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                x-recursion-error-codes:
                  - automations_unconfigured
                  - managed_agents_unavailable
                  - service_unavailable
          headers:
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '504':
          headers:
            Retry-After:
              description: When to retry, as delay seconds or an HTTP date.
              schema:
                type: string
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
          description: A dependent service timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorDependencyTimeout'
                x-recursion-error-codes:
                  - gateway_timeout
components:
  parameters:
    RecursionTenantId:
      name: x-tenant-id
      in: header
      required: false
      description: >-
        Optional tenant consistency check. When present, it must name the tenant
        bound to the API key, including when x-organization-id is `default`.
      schema:
        type: string
        minLength: 1
    RecursionOrganizationId:
      name: x-organization-id
      in: header
      required: false
      description: >-
        Organization in which to act. Required for a tenant-scoped API key.
        Optional for an organization-scoped key, where it must name that same
        organization. The value may be an organization id or `default`.
      schema:
        type: string
        minLength: 1
  schemas:
    AutomationDefinitionResponse:
      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/AutomationLiteralPrompt'
          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
          maximum: 9007199254740991
        runDefaults:
          $ref: '#/components/schemas/CanonicalAutomationRunDefaults'
          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/CanonicalAutomationTrigger'
          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
    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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorPreconditionFailed:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - precondition_failed
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorPreconditionRequired:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - precondition_required
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorDependencyFailure:
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorAutomationsUnconfigured:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - automations_unconfigured
        message:
          type: string
          minLength: 1
          description: Human-readable error message.
        details:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    ManagedAgentsApiErrorDependencyTimeout:
      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:
          $ref: '#/components/schemas/ManagedAgentsApiErrorDetails'
          description: >-
            Optional structured error details. Reserved transport fields are
            typed; code-specific fields remain forward compatible.
      required:
        - code
        - message
      additionalProperties: false
      description: Standard flat error response.
    AutomationLiteralPrompt:
      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
    CanonicalAutomationRunDefaults:
      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/AutomationDefinitionCredentialRef'
          maxItems: 500
          type: array
        memoryStores:
          description: >-
            Additional memory stores attached at session start, alongside the
            agent memory store.
          items:
            $ref: '#/components/schemas/AutomationDefinitionMemoryStore'
          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/AutomationDefinitionResource'
          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
    CanonicalAutomationTrigger:
      description: >-
        One trigger of a canonical automation: a schedule, a Slack event, a
        GitHub event, or a custom webhook.
      oneOf:
        - $ref: '#/components/schemas/HttpapiAutomationScheduleTrigger'
        - $ref: '#/components/schemas/AutomationSlackTrigger'
        - $ref: '#/components/schemas/AutomationGitHubTrigger'
        - $ref: '#/components/schemas/HttpapiAutomationWebhookTrigger'
      type: object
      unevaluatedProperties: false
    ManagedAgentsApiErrorDetails:
      type: object
      properties:
        field:
          description: >-
            Request field or header responsible for the error, when one can be
            identified.
          type: string
        issues:
          description: >-
            Boundary-validation failures as path-prefixed human-readable
            messages.
          type: array
          items:
            type: string
        requestId:
          description: Request correlation identifier for support and log lookup.
          type: string
        retryable:
          description: >-
            Server advice about failure transience. `true` means transient,
            `false` means non-transient, and absence gives no advice. Automatic
            replay is allowed only when this field is not `false` and the
            operation-specific retry and idempotency contract permits replay.
          type: boolean
      additionalProperties:
        $ref: '#/components/schemas/PlatformSafeJsonValue'
      description: >-
        Optional structured error details. Reserved transport fields are typed;
        code-specific fields remain forward compatible.
    AutomationDefinitionCredentialRef:
      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
    AutomationDefinitionMemoryStore:
      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 organization.
          minLength: 1
          type: string
      required:
        - memoryStoreId
        - access
      type: object
    AutomationDefinitionResource:
      additionalProperties: false
      description: >-
        A file from this organization, mounted at an explicit path for each
        automation session.
      properties:
        fileId:
          description: File to attach from this organization.
          minLength: 1
          type: string
        mountPath:
          description: Absolute mount path beneath the session files directory.
          minLength: 1
          type: string
      required:
        - fileId
        - mountPath
      type: object
    HttpapiAutomationScheduleTrigger:
      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/AutomationScheduleConfig'
          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
    AutomationSlackTrigger:
      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/AutomationSlackBotEvents'
          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/AutomationSlackFilters'
          description: >-
            Optional conditions on the message. Omit to match every routed
            event.
        routing:
          $ref: '#/components/schemas/AutomationSlackRouting'
          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
    AutomationGitHubTrigger:
      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/AutomationGitHubFilters'
          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
    HttpapiAutomationWebhookTrigger:
      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/AutomationWebhookFilters'
          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
    PlatformSafeJsonValue:
      description: >-
        A JSON value whose integer members stay within the exact ECMAScript
        safe-integer range at every nesting level.
      oneOf:
        - type: 'null'
        - type: boolean
        - type: string
        - type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        - type: number
          not:
            type: integer
        - type: array
          items:
            $ref: '#/components/schemas/PlatformSafeJsonValue'
        - additionalProperties:
            $ref: '#/components/schemas/PlatformSafeJsonValue'
          type: object
    AutomationScheduleConfig:
      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
    AutomationSlackBotEvents:
      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
    AutomationSlackFilters:
      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
    AutomationSlackRouting:
      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
    AutomationGitHubFilters:
      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
    AutomationWebhookFilters:
      additionalProperties: false
      description: Optional conditions on the custom webhook body.
      properties:
        fieldEquals:
          description: Conditions that must all hold.
          items:
            $ref: '#/components/schemas/AutomationWebhookFieldCondition'
          maxItems: 20
          minItems: 1
          type: array
      required:
        - fieldEquals
      type: object
    AutomationWebhookFieldCondition:
      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
  headers:
    RecursionOrganizationId:
      description: Organization id resolved for this request.
      schema:
        type: string
        minLength: 1
    RecursionTenantId:
      description: Tenant id resolved for this request.
      schema:
        type: string
        minLength: 1
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A Recursion API key, created in the console under API keys.

````