> ## 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 event source

> Creates a customer webhook source in the paused state. delivery.kind must be webhook; integration sources are connection-managed. Verification credentials are referenced from Vault and secret material is never returned.



## OpenAPI

````yaml /recursion/openapi.yaml post /managed-agents/v1/event-sources
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/event-sources:
    post:
      tags:
        - Event Sources
      summary: Create a paused event source
      description: >-
        Creates a customer webhook source in the paused state. delivery.kind
        must be webhook; integration sources are connection-managed.
        Verification credentials are referenced from Vault and secret material
        is never returned.
      operationId: managedAgentsCreateEventSource
      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. For
            the legacy automation-run route only, the historical fingerprint
            ignores top-level JSON formatting and object-key order and removes
            the retired top-level idempotency_key field. 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.
              For the legacy automation-run route only, the historical
              fingerprint ignores top-level JSON formatting and object-key order
              and removes the retired top-level idempotency_key field. 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
        - $ref: '#/components/parameters/RecursionTenantId'
        - $ref: '#/components/parameters/RecursionOrganizationId'
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/SlackEventSourceRequest'
                - $ref: '#/components/schemas/GithubEventSourceRequest'
                - $ref: '#/components/schemas/UnsignedCustomEventSourceRequest'
                - $ref: '#/components/schemas/HmacCustomEventSourceRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSourceResponse'
          description: >-
            Configured inbound event source, including its verification policy
            and lifecycle state.
          headers:
            ETag:
              description: Strong validator for this resource revision.
              schema:
                type: string
              style: simple
            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
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ManagedAgentsApiErrorInvalidJson'
                  - $ref: '#/components/schemas/ManagedAgentsApiErrorInvalidRequest'
                discriminator:
                  propertyName: code
                  mapping:
                    invalid_json: '#/components/schemas/ManagedAgentsApiErrorInvalidJson'
                    invalid_request: '#/components/schemas/ManagedAgentsApiErrorInvalidRequest'
                x-recursion-error-codes:
                  - invalid_json
                  - 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'
        '409':
          headers:
            Retry-After:
              description: >-
                When present, delay in seconds or an HTTP-date after which the
                caller may retry; absence supplies no retry advice.
              schema:
                type: string
              style: simple
            recursion-organization-id:
              $ref: '#/components/headers/RecursionOrganizationId'
            recursion-tenant-id:
              $ref: '#/components/headers/RecursionTenantId'
          description: Conflict.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ManagedAgentsApiErrorConflict'
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyConflict
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyInProgress
                discriminator:
                  propertyName: code
                  mapping:
                    conflict: '#/components/schemas/ManagedAgentsApiErrorConflict'
                    idempotency_conflict: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyConflict
                    idempotency_in_progress: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyInProgress
                x-recursion-error-codes:
                  - conflict
                  - idempotency_conflict
                  - idempotency_in_progress
        '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'
        '422':
          description: Unprocessable Entity.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ManagedAgentsApiErrorEventSourceVerificationCredentialInvalid
                x-recursion-error-codes:
                  - event_source_verification_credential_invalid
          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/ManagedAgentsApiErrorEventSourcesUnconfigured
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                discriminator:
                  propertyName: code
                  mapping:
                    event_sources_unconfigured: >-
                      #/components/schemas/ManagedAgentsApiErrorEventSourcesUnconfigured
                    idempotency_unavailable: >-
                      #/components/schemas/ManagedAgentsApiErrorIdempotencyUnavailable
                    managed_agents_unavailable: >-
                      #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                    service_unavailable: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                x-recursion-error-codes:
                  - event_sources_unconfigured
                  - idempotency_unavailable
                  - 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:
    SlackEventSourceRequest:
      additionalProperties: false
      description: Closed configuration for a Slack Events API source.
      properties:
        delivery:
          $ref: '#/components/schemas/ProviderWebhookDeliveryRequest'
          description: Customer-configured webhook delivery and verification.
        displayName:
          description: Human-readable source name shown in the automation catalog.
          maxLength: 256
          minLength: 1
          type: string
        type:
          description: Slack Events API protocol, verified with Slack's request signature.
          enum:
            - slack_events_api
          type: string
      required:
        - displayName
        - type
        - delivery
      type: object
    GithubEventSourceRequest:
      additionalProperties: false
      description: Closed configuration for a GitHub webhook source.
      properties:
        delivery:
          $ref: '#/components/schemas/ProviderWebhookDeliveryRequest'
          description: Customer-configured webhook delivery and verification.
        displayName:
          description: Human-readable source name shown in the automation catalog.
          maxLength: 256
          minLength: 1
          type: string
        type:
          description: GitHub webhook protocol, verified with GitHub's webhook signature.
          enum:
            - github_webhook
          type: string
      required:
        - displayName
        - type
        - delivery
      type: object
    UnsignedCustomEventSourceRequest:
      additionalProperties: false
      description: >-
        Closed custom-webhook configuration that explicitly accepts unsigned
        deliveries.
      properties:
        delivery:
          $ref: '#/components/schemas/UnsignedWebhookDeliveryRequest'
          description: Customer-configured webhook delivery and verification.
        displayName:
          description: Human-readable source name shown in the automation catalog.
          maxLength: 256
          minLength: 1
          type: string
        type:
          description: Custom webhook protocol.
          enum:
            - custom_webhook
          type: string
      required:
        - displayName
        - type
        - delivery
      type: object
    HmacCustomEventSourceRequest:
      additionalProperties: false
      description: >-
        Closed custom-webhook configuration that verifies HMAC-SHA256
        signatures.
      properties:
        delivery:
          $ref: '#/components/schemas/HmacWebhookDeliveryRequest'
          description: Customer-configured webhook delivery and verification.
        displayName:
          description: Human-readable source name shown in the automation catalog.
          maxLength: 256
          minLength: 1
          type: string
        type:
          description: Custom webhook protocol.
          enum:
            - custom_webhook
          type: string
      required:
        - displayName
        - type
        - delivery
      type: object
    EventSourceResponse:
      additionalProperties: false
      description: >-
        Configured inbound event source, including its verification policy and
        lifecycle state.
      properties:
        createdAt:
          description: Time the event source was created.
          format: date-time
          readOnly: true
          type: string
        delivery:
          $ref: '#/components/schemas/EventSourceDelivery'
          description: Webhook configuration or owning integration connection.
        displayName:
          description: Human-readable source name shown in the automation catalog.
          type: string
        eventSourceId:
          description: Stable identifier for the event source.
          format: uuid
          readOnly: true
          type: string
        revision:
          description: Monotonic revision represented by the response ETag.
          format: int64
          minimum: 1
          readOnly: true
          type: integer
          maximum: 9007199254740991
        status:
          description: >-
            Lifecycle state. Custom webhook sources start paused;
            connection-managed sources start active.
          enum:
            - paused
            - active
          readOnly: true
          type: string
        type:
          description: Inbound provider protocol interpreted by this source.
          enum:
            - slack_events_api
            - github_webhook
            - custom_webhook
          type: string
        updatedAt:
          description: Time the event source was last changed.
          format: date-time
          readOnly: true
          type: string
      required:
        - eventSourceId
        - displayName
        - type
        - delivery
        - status
        - revision
        - createdAt
        - updatedAt
      type: object
    ManagedAgentsApiErrorInvalidJson:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - invalid_json
        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.
    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.
    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:
          $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.
    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:
          $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.
    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:
          $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.
    ManagedAgentsApiErrorEventSourceVerificationCredentialInvalid:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - event_source_verification_credential_invalid
        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.
    ManagedAgentsApiErrorEventSourcesUnconfigured:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - event_sources_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.
    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:
          $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.
    ProviderWebhookDeliveryRequest:
      additionalProperties: false
      description: Verification configuration for a customer-owned Slack or GitHub webhook.
      properties:
        kind:
          description: Customer-configured webhook delivery.
          enum:
            - webhook
          type: string
        verificationCredential:
          $ref: '#/components/schemas/EventSourceCredentialRef'
          description: Credential containing the provider signing secret.
      required:
        - kind
        - verificationCredential
      type: object
    UnsignedWebhookDeliveryRequest:
      additionalProperties: false
      description: Custom webhook delivery without cryptographic verification.
      properties:
        kind:
          description: Customer-configured webhook delivery.
          enum:
            - webhook
          type: string
        verification:
          $ref: '#/components/schemas/UnsignedCustomEventSourceVerification'
          description: Explicit unsigned-delivery policy.
      required:
        - kind
        - verification
      type: object
    HmacWebhookDeliveryRequest:
      additionalProperties: false
      description: Custom webhook delivery authenticated by HMAC-SHA256.
      properties:
        kind:
          description: Customer-configured webhook delivery.
          enum:
            - webhook
          type: string
        verification:
          $ref: '#/components/schemas/HmacCustomEventSourceVerification'
          description: HMAC verification rules applied to every delivery.
      required:
        - kind
        - verification
      type: object
    EventSourceDelivery:
      description: 'Delivery identity: a customer webhook or an integration connection.'
      oneOf:
        - $ref: '#/components/schemas/WebhookEventSourceDelivery'
        - $ref: '#/components/schemas/IntegrationEventSourceDelivery'
      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.
    EventSourceCredentialRef:
      additionalProperties: false
      description: Reference to a managed credential; secret material is never returned.
      properties:
        credentialId:
          description: Credential within the vault that contains the verification secret.
          format: uuid
          type: string
        vaultId:
          description: Vault containing the secret used to verify inbound deliveries.
          format: uuid
          type: string
      required:
        - vaultId
        - credentialId
      type: object
    UnsignedCustomEventSourceVerification:
      additionalProperties: false
      description: Explicit unsigned-delivery policy for a custom webhook.
      properties:
        type:
          description: Accept deliveries without a cryptographic signature.
          enum:
            - none
          type: string
      required:
        - type
      type: object
    HmacCustomEventSourceVerification:
      additionalProperties: false
      description: HMAC-SHA256 verification policy for a custom webhook.
      properties:
        signatureHeader:
          description: HTTP header carrying the delivery signature.
          maxLength: 256
          minLength: 1
          type: string
        signaturePrefix:
          default: ''
          description: >-
            Optional literal prefix removed from the signature header before
            comparison.
          maxLength: 256
          type: string
        signedParts:
          description: >-
            The raw request body used as the HMAC input; v1 requires exactly one
            body part.
          items:
            $ref: '#/components/schemas/EventSourceSignedPart'
          maxItems: 1
          minItems: 1
          type: array
        type:
          description: >-
            Verify a hexadecimal HMAC-SHA256 signature before admitting the
            delivery.
          enum:
            - hmac_sha256
          type: string
        verificationCredential:
          $ref: '#/components/schemas/EventSourceCredentialRef'
          description: Credential containing the HMAC secret.
      required:
        - type
        - verificationCredential
        - signatureHeader
        - signedParts
      type: object
    WebhookEventSourceDelivery:
      additionalProperties: false
      description: >-
        Customer-owned webhook endpoint and its non-secret verification
        configuration.
      properties:
        kind:
          description: Customer-configured webhook delivery.
          enum:
            - webhook
          type: string
        verification:
          $ref: '#/components/schemas/EventSourceVerificationResponse'
          description: Verification policy for custom webhook delivery.
        verificationCredential:
          $ref: '#/components/schemas/EventSourceCredentialRef'
          description: Signing-secret reference for Slack or GitHub webhook delivery.
        webhookUrl:
          description: Relative public endpoint to configure at the event provider.
          readOnly: true
          type: string
      required:
        - kind
        - webhookUrl
      type: object
    IntegrationEventSourceDelivery:
      additionalProperties: false
      description: >-
        Connection-managed delivery; no customer webhook or verification
        credential is required.
      properties:
        connectionId:
          description: Owning integration connection in the same organization.
          format: uuid
          readOnly: true
          type: string
        kind:
          description: Delivery through the platform integration callback.
          enum:
            - integration
          type: string
      required:
        - kind
        - connectionId
      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
    EventSourceSignedPart:
      additionalProperties: false
      description: One ordered component of the HMAC signature input.
      properties:
        kind:
          description: >-
            Delivery component included in the signature input; currently the
            exact request body.
          enum:
            - body
          type: string
      required:
        - kind
      type: object
    EventSourceVerificationResponse:
      additionalProperties: false
      description: Verification policy for a custom webhook event source.
      properties:
        signatureHeader:
          description: HTTP header carrying the signature for signed deliveries.
          type: string
        signaturePrefix:
          description: Literal prefix removed before comparing a signature.
          type: string
        signedParts:
          description: Ordered delivery components used as the signature input.
          items:
            $ref: '#/components/schemas/EventSourceSignedPart'
          type: array
        type:
          description: Verification algorithm configured for custom webhook deliveries.
          enum:
            - none
            - hmac_sha256
          type: string
        verificationCredential:
          $ref: '#/components/schemas/EventSourceCredentialRef'
          description: >-
            Credential reference used by signed deliveries; omitted when
            verification is none.
      required:
        - type
      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.

````