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

# List the native integrations this deployment supports

> Returns the third-party integrations this deployment supports. Providers that the deployment has not configured are listed too, with their configured state, so a caller can tell "not set up here" apart from "not offered".



## OpenAPI

````yaml /managed-agents/openapi.yaml get /managed-agents/v1/integrations/providers
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/integrations/providers:
    get:
      tags:
        - Integrations
      summary: List the native integrations this deployment supports
      description: >-
        Returns the third-party integrations this deployment supports. Providers
        that the deployment has not configured are listed too, with their
        configured state, so a caller can tell "not set up here" apart from "not
        offered".
      operationId: managedAgentsListIntegrationProviders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ManagedAgentsIntegrationProviderListResponse
          description: >-
            The integration providers this deployment can connect to. Returned
            by the provider list a console reads before offering a connect
            action.
        '400':
          description: The request was rejected by schema or semantic validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiError'
        '401':
          description: The caller is unauthenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiError'
        '403':
          description: The caller lacks a required permission or capability.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiErrorForbidden'
        '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:
                $ref: '#/components/schemas/ManagedAgentsApiError'
        '500':
          description: An unexpected server-side failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsApiError'
        '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:
                $ref: '#/components/schemas/ManagedAgentsApiError'
        '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:
    ManagedAgentsIntegrationProviderListResponse:
      description: >-
        The integration providers this deployment can connect to. Returned by
        the provider list a console reads before offering a connect action.
      properties:
        providers:
          description: >-
            Every integration provider this build supports, configured or not.
            Unconfigured entries are included so a caller can distinguish "not
            set up in this deployment" from "not offered".
          items:
            $ref: '#/components/schemas/ManagedAgentsProviderInfo'
          type:
            - array
            - 'null'
      required:
        - providers
      type: object
      example:
        providers:
          - configured: true
            display_name: example-name
            egress_hosts:
              - example
            id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
            mcp_endpoint: example
            narrows_by_resource: true
            permissions:
              - example
            preset_fixed_at_authorization: true
    ManagedAgentsApiError:
      type: object
      properties:
        code:
          type: string
          minLength: 1
          description: Stable machine-readable error code.
          enum:
            - analytics
            - analytics_not_ready
            - artifact_fetch_unavailable
            - artifact_generation_mismatch
            - artifact_hash_mismatch
            - artifact_invalid_events
            - artifact_invalid_json
            - artifact_not_allowlisted
            - artifact_size_mismatch
            - atomic_ingest_timeout
            - auth_unavailable
            - automation_event_source_invalid
            - automation_memory_unavailable
            - automation_reference_invalid
            - automation_runs_unconfigured
            - automations_unconfigured
            - bad_gateway
            - built_in_catalog_unavailable
            - built_in_integrations_unconfigured
            - compute_offerings_unavailable
            - conflict
            - content_store_request_canceled
            - content_store_unavailable
            - content_store_upload_timeout
            - credential_encryption_unconfigured
            - delegate_preparation_failed
            - entity_family_not_permitted
            - environment_not_verified
            - evaluation_cancellation_pending
            - evaluation_deletion_pending
            - event_admission_unavailable
            - event_ingress_unavailable
            - event_source_verification_credential_invalid
            - event_sources_unconfigured
            - execution_unconfigured
            - file_quota_exceeded
            - file_storage_unconfigured
            - forbidden
            - gateway_timeout
            - gestalt_unconfigured
            - github_rate_limited
            - github_unavailable
            - handoff_access_invalid
            - handoff_access_unavailable
            - handoff_access_unsupported
            - handoff_capture_unavailable
            - handoff_requires_retest
            - handoff_revoke_unavailable
            - handoff_signal_unavailable
            - idempotency_conflict
            - idempotency_in_progress
            - idempotency_unavailable
            - ingest_policy_changed
            - ingest_policy_not_found
            - ingest_policy_revoked
            - integrations_unconfigured
            - internal_error
            - invalid_json
            - invalid_pull_request_review_result
            - invalid_request
            - invalid_scope
            - invariant_violation
            - live_fleet_unconfigured
            - managed_agents_unavailable
            - missing_dependency
            - model_gateway_metadata_missing
            - model_gateway_unconfigured
            - model_gateway_unreachable
            - mutation_transaction_budget_exceeded
            - not_found
            - page_token_expired
            - payload_too_large
            - persistence_busy
            - precondition_failed
            - precondition_required
            - provider_registration_unsupported
            - provider_selection_unsupported
            - rate_limit_exceeded
            - rate_limited
            - repository_automation_unconfigured
            - request_too_large
            - reserved_source_type
            - revision_conflict
            - run_log_store_unavailable
            - runner_image_resolution_failed
            - sandbox_provider_disabled
            - service_unavailable
            - session_analyst_busy
            - session_analyst_model_unavailable
            - session_analyst_unconfigured
            - session_start_admission_unavailable
            - session_start_not_admitted
            - setup_fallback_environment_unsafe
            - setup_run_finished
            - setup_run_in_progress
            - setup_run_limit
            - setup_run_not_started
            - setup_runs_unavailable
            - skill_storage_unconfigured
            - slack_channels_rejected
            - slack_channels_unavailable
            - slack_channels_unconfigured
            - slack_connection_malformed
            - slack_event_intake_unavailable
            - slack_installation_mismatch
            - slack_missing_scope
            - slack_rate_limited
            - slack_reapproval_required
            - source_ownership_mismatch
            - source_revision_conflict
            - spanner_unavailable
            - streaming_unsupported
            - submission_transaction_budget_exceeded
            - task_version_number_conflict
            - team_board_unconfigured
            - too_many_streams
            - unauthorized
            - unsupported_media_type
            - vault_creation_retired
            - version_content_conflict
            - webhook_delivery_too_large
            - workspace_boundary_denied
        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.
    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.
    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.
    ManagedAgentsProviderInfo:
      description: >-
        One integration provider this build supports, together with whether this
        deployment is configured for it. Returned by the provider list a console
        reads before offering a connect action.
      properties:
        configured:
          description: >-
            Whether this deployment can start authorization for the provider.
            Present for clients that also consume provider catalogs containing
            unavailable entries.
          type: boolean
        display_name:
          description: >-
            Human-readable provider name for the connect UI, for example
            "GitHub".
          type: string
        egress_hosts:
          description: >-
            Hostnames a sandbox must be allowed to reach for this provider's
            in-container tooling. Empty when the provider needs no sandbox
            egress.
          items:
            type: string
          type: array
        id:
          description: >-
            Stable provider slug to pass wherever an integration provider is
            named, such as starting an install.
          type: string
        mcp_endpoint:
          description: >-
            MCP server URL that sessions granted this provider get bound to.
            Empty only when the supported provider exposes no MCP surface.
          type: string
        narrows_by_resource:
          description: >-
            True when a vault grant for this provider may be narrowed to
            specific resources within the connection, and the provider enforces
            that narrowing when it mints. GitHub (repositories) is the only such
            provider today. False or omitted means integration_resources is
            rejected, so a grant UI should offer no resource picker.
          type: boolean
        permissions:
          description: >-
            Named permission presets a vault grant may request for this
            supported provider, ordered least privileged first.
          items:
            type: string
          type: array
        preset_fixed_at_authorization:
          description: >-
            True when this provider's permission preset is fixed for the life of
            its OAuth grant and cannot be narrowed later at vault-grant time,
            unlike the common case (e.g. GitHub). The connect UI should let the
            operator choose a preset before starting authorization when this is
            true; false or omitted means the existing post-connect vault-grant
            preset choice is sufficient.
          type: boolean
      required:
        - id
        - display_name
        - configured
      type: object
      example:
        configured: true
        display_name: example-name
        egress_hosts:
          - example
        id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        mcp_endpoint: example
        narrows_by_resource: true
        permissions:
          - example
        preset_fixed_at_authorization: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A Recursion API key, created in the console under API keys.

````