> ## 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 static agent templates

> Returns the startup-validated static catalog of agent definitions. Copy one definition into createAgent to create an ordinary managed agent; listing templates has no side effects and performs no live model validation.



## OpenAPI

````yaml /managed-agents/openapi.yaml get /managed-agents/v1/agent-templates
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/agent-templates:
    get:
      tags:
        - Agents
      summary: List static agent templates
      description: >-
        Returns the startup-validated static catalog of agent definitions. Copy
        one definition into createAgent to create an ordinary managed agent;
        listing templates has no side effects and performs no live model
        validation.
      operationId: managedAgentsListAgentTemplates
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAgentsAgentTemplateListResponse'
          description: >-
            Response body of GET /v1/agent-templates: the static
            startup-validated agent template catalog.
        '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:
    ManagedAgentsAgentTemplateListResponse:
      additionalProperties: false
      description: >-
        Response body of GET /v1/agent-templates: the static startup-validated
        agent template catalog.
      properties:
        agent_templates:
          description: >-
            Stable evaluation-agent templates sorted by template_id. Definitions
            are ordinary createAgent request bodies copied into the create form;
            reading this catalog never creates or mutates an agent.
          items:
            $ref: '#/components/schemas/ManagedAgentsTemplate'
          type: array
      required:
        - agent_templates
      type: object
      example:
        agent_templates:
          - category: example
            definition:
              built_in_integrations:
                - connection_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
                  tools:
                    - example
              default_credential_refs:
                - credential_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
                  vault_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
              default_rubric: example
              default_vault_ids:
                - example
              description: example
              disabled_integration_mcp_providers:
                - example
              max_concurrent_sessions: 1
              mcp_servers:
                - key: example
              metadata:
                key: example
              model: example
              model_config:
                max_tokens: 1
                provider_params:
                  key: example
                reasoning_effort: example
                temperature: 1.5
                top_p: 1.5
              multiagent:
                key: example
              name: example-name
              nativeIntegrations:
                - connectionId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
                  permission: example
                  resources:
                    - example
              skills:
                - key: example
              system: example
              toolsets:
                - type: evaluation
              web_search_enabled: true
            purpose: example
            template_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
    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.
    ManagedAgentsTemplate:
      additionalProperties: false
      description: >-
        One startup-validated static agent template; reading it never creates or
        mutates an agent.
      properties:
        category:
          description: Presentation category grouping related agent templates.
          type: string
        definition:
          $ref: '#/components/schemas/ManagedAgentsAgentTemplateDefinition'
          description: >-
            Complete POST createAgent-compatible definition copied into the
            explicit create form.
        purpose:
          description: >-
            Concise explanation of the work this template is designed to
            perform.
          type: string
        template_id:
          description: Stable catalog key used to select and track this template.
          type: string
      required:
        - template_id
        - category
        - purpose
        - definition
      type: object
      example:
        category: example
        definition:
          built_in_integrations:
            - connection_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
              tools:
                - example
          default_credential_refs:
            - credential_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
              vault_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
          default_rubric: example
          default_vault_ids:
            - example
          description: example
          disabled_integration_mcp_providers:
            - example
          max_concurrent_sessions: 1
          mcp_servers:
            - key: example
          metadata:
            key: example
          model: example
          model_config:
            max_tokens: 1
            provider_params:
              key: example
            reasoning_effort: example
            temperature: 1.5
            top_p: 1.5
          multiagent:
            key: example
          name: example-name
          nativeIntegrations:
            - connectionId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
              permission: example
              resources:
                - example
          skills:
            - key: example
          system: example
          toolsets:
            - type: evaluation
          web_search_enabled: true
        purpose: example
        template_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
    ManagedAgentsAgentTemplateDefinition:
      description: >-
        Request body for creating an agent: its system prompt, model, tool
        surface, and default vault grants. Sessions snapshot the agent version
        at start, so later edits do not change a running session.
      properties:
        built_in_integrations:
          description: >-
            Built-in integrations this agent may use, each naming an active
            organization connection an admin added on the Integrations page.
            Sessions receive short-lived access restricted to exactly those apps
            and each connection's tool allow-list; nothing is granted through a
            vault. Omit or send [] for none. Carried in full on every version
            write.
          items:
            $ref: '#/components/schemas/ManagedAgentsBuiltInIntegration'
          maxItems: 25
          type: array
        default_credential_refs:
          description: >-
            Individual default items within default_vault_ids. The list is a
            whitelist across every default vault, not a filter within one, so it
            must name every item the agent should receive. Omit to select every
            current item; [] alongside a non-empty default_vault_ids is rejected
            because it would select none.
          items:
            $ref: '#/components/schemas/ManagedAgentsVaultCredentialRef'
          type: array
        default_rubric:
          description: >-
            Markdown rubric that sessions started from this agent are graded
            against when their create request omits an outcome. Must contain at
            least one gradeable criterion, written as markdown list items. A
            session that supplies its own outcome ignores this entirely.
          type: string
        default_vault_ids:
          description: >-
            Vaults granted by default when a session create request omits
            vault_ids. default_credential_refs may narrow their items.
          items:
            type: string
          type: array
        description:
          description: >-
            Optional free-text note about what the agent is for. Not sent to the
            model.
          type: string
        disabled_integration_mcp_providers:
          description: >-
            Native integration providers whose MCP tools sessions of this agent
            do not receive even though the grant is present. The grant still
            authenticates the provider's sandbox tools where it has any (git and
            gh for GitHub); the agent's own mcp_servers are never affected.
            Omission differs by operation: on createAgent it defaults to
            ["github"] (new agents use gh and git in the sandbox); on
            createAgentVersion it means none, as for every other field there;
            send [] to receive every provider's MCP tools.
          items:
            type: string
          type: array
        max_concurrent_sessions:
          description: >-
            Maximum number of this agent's root sessions that may run or wait on
            compute at once. Omit for unlimited. Sessions beyond the cap are
            accepted with execution_state=queued and wait until a slot frees.
          maximum: 10000
          minimum: 1
          type: integer
        mcp_servers:
          description: >-
            Remote MCP servers whose tools are added to the agent's tool
            surface. Each entry is an object with name and url, e.g. {"name":
            "docs", "url": "https://example.com/mcp"}. Credentials come from the
            vaults granted to the session, and the discovered tool list is
            snapshotted at session start, so a later edit here does not change a
            running session.
          items:
            additionalProperties: {}
            type: object
          type: array
        metadata:
          additionalProperties: {}
          description: >-
            Free-form caller-owned JSON stored with the agent and returned on
            reads. Not interpreted by the service and never sent to the model.
          type: object
        model:
          description: >-
            Model id, copied verbatim from the models catalog, GET /v1/models
            (e.g. anthropic/claude-sonnet-4-5). Reads return the stored form,
            which adds a provider prefix before that id. An id the catalog does
            not list is rejected with the list of ids that it does.
          type: string
        model_config:
          $ref: '#/components/schemas/ManagedAgentsInferenceConfig'
          description: >-
            Default inference config applied to sessions started from this
            agent. Omit model_config or send {} to use provider defaults; null
            is invalid. reasoning_effort is normalized and validated for direct
            providers, and must exactly match the selected catalog model's
            supportedReasoningEfforts. An unsupported value, including any value
            for a catalog model that lists no exact options, returns 400; a
            model catalog that cannot be read to verify it returns 503.
        multiagent:
          additionalProperties: {}
          description: >-
            Multiagent roster: the delegation targets this agent may hand work
            to, an optional advisor entry, and the interventionist posture.
            Snapshotted at session start; a child roster may tighten the
            recursion depth ceiling, never widen it.
          type: object
        name:
          description: Human-readable label for the agent. Required.
          type: string
        nativeIntegrations:
          description: >-
            Native connections this agent may use, with provider-enforced
            permission and resource restrictions. Omit or send [] for none.
            Stored in full on each agent version; secrets remain on the
            connection.
          items:
            $ref: '#/components/schemas/ManagedAgentsNativeIntegration'
          maxItems: 25
          type: array
        skills:
          description: >-
            Skill declarations made available to the agent, passed through as
            given and snapshotted into the session at start. Capped at the 100
            skills a session can carry.
          items:
            additionalProperties: {}
            type: object
          maxItems: 100
          type: array
        system:
          description: System prompt for the agent.
          type: string
        tools:
          deprecated: true
          description: >-
            Deprecated alias for toolsets; accepts only the bare evaluation
            marker.
          items:
            additionalProperties: false
            properties:
              type:
                description: The evaluation marker is the only supported toolset type.
                enum:
                  - evaluation
                type: string
            required:
              - type
            type: object
          maxItems: 1
          type: array
        toolsets:
          description: >-
            Only the bare {type: evaluation} marker is supported, for evaluator
            agents. Omit or send [] for ordinary agents; built-in sandbox tools,
            MCP servers, and skills do not require a toolset. The tools field is
            a deprecated alias.
          items:
            additionalProperties: false
            properties:
              type:
                description: The evaluation marker is the only supported toolset type.
                enum:
                  - evaluation
                type: string
            required:
              - type
            type: object
          maxItems: 1
          type: array
        web_search_enabled:
          default: true
          description: >-
            Whether sessions started from this agent may use the native
            web_search tool. Omit to enable it. The setting is snapshotted when
            a session starts.
          type: boolean
      required:
        - name
        - model
        - model_config
        - system
      type: object
      example:
        built_in_integrations:
          - connection_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
            tools:
              - example
        default_credential_refs:
          - credential_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
            vault_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        default_rubric: example
        default_vault_ids:
          - example
        description: example
        disabled_integration_mcp_providers:
          - example
        max_concurrent_sessions: 1
        mcp_servers:
          - key: example
        metadata:
          key: example
        model: example
        model_config:
          max_tokens: 1
          provider_params:
            key: example
          reasoning_effort: example
          temperature: 1.5
          top_p: 1.5
        multiagent:
          key: example
        name: example-name
        nativeIntegrations:
          - connectionId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
            permission: example
            resources:
              - example
        skills:
          - key: example
        system: example
        toolsets:
          - type: evaluation
        web_search_enabled: true
    ManagedAgentsBuiltInIntegration:
      description: >-
        One built-in integration an agent may use, named by its organization
        connection. The connection carries the app and the tools its agents may
        call; the agent inherits both.
      properties:
        connection_id:
          description: >-
            Organization integration connection (UUID) the agent may use. Must
            belong to the caller's organization, be a built-in integration
            connection, and be active.
          type: string
        tools:
          description: >-
            Reserved for per-agent narrowing below the connection's admin
            allow-list. Must be omitted or empty today; the agent inherits the
            connection's full allow-list.
          items:
            type: string
          type: array
      required:
        - connection_id
      type: object
      example:
        connection_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        tools:
          - example
    ManagedAgentsVaultCredentialRef:
      description: >-
        A pointer to one credential inside one vault. Used to grant a session
        specific credentials rather than every credential in a vault.
      properties:
        credential_id:
          description: Credential to select inside vault_id.
          type: string
        vault_id:
          description: >-
            Vault holding the credential. Required, because credential ids are
            unique only within a vault.
          type: string
      required:
        - vault_id
        - credential_id
      type: object
      example:
        credential_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        vault_id: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
    ManagedAgentsInferenceConfig:
      description: >-
        Sampling and generation settings for a model call, mirroring the
        provider's own request parameters. Set it on an agent or a session to
        govern every turn, and read it back on a model event to see what the
        call actually used.
      properties:
        max_tokens:
          description: >-
            Upper bound on tokens the model may generate for one assistant turn
            (the provider's max_tokens). Omit or 0 to use the model reference's
            default.
          format: int64
          type: integer
        provider_params:
          additionalProperties: {}
          description: >-
            Extra provider request parameters merged into the inference call for
            options this schema does not model. Keys are provider-specific and
            are passed through unvalidated.
          type: object
        reasoning_effort:
          description: >-
            Provider-native reasoning depth value. For a model from the models
            catalog, use one of its supportedReasoningEfforts; omit it to follow
            the provider's current default.
          type: string
        temperature:
          description: >-
            Sampling temperature passed through to the provider, typically
            0.0-2.0. Lower values are more deterministic. Omit to use the
            provider default.
          type: number
        top_p:
          description: >-
            Nucleus-sampling probability mass (0.0-1.0) passed through to the
            provider. Prefer setting either this or temperature, not both. Omit
            to use the provider default.
          type: number
      type: object
      example:
        max_tokens: 1
        provider_params:
          key: example
        reasoning_effort: example
        temperature: 1.5
        top_p: 1.5
    ManagedAgentsNativeIntegration:
      description: >-
        A native connection and its agent-owned runtime permission and resource
        policy.
      properties:
        connectionId:
          description: Active native connection in this organization.
          format: uuid
          type: string
        permission:
          description: >-
            Provider permission preset, bounded by the connection's
            authorization.
          type: string
        resources:
          description: >-
            Optional resource subset. Omit to inherit all resources available
            through the connection. An explicit empty list is rejected.
          items:
            type: string
          maxItems: 500
          type: array
      required:
        - connectionId
        - permission
      type: object
      example:
        connectionId: 9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d
        permission: example
        resources:
          - example
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A Recursion API key, created in the console under API keys.

````