> ## 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 managedAgentsCreateAgent to create an ordinary managed agent; listing templates has no side effects and performs no live model validation. The startup-validated embedded catalog has a fixed, bounded number of templates; the response is not paginated.



## OpenAPI

````yaml /recursion/openapi.yaml get /managed-agents/v2/agent-templates
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/v2/agent-templates:
    get:
      tags:
        - Agents
      summary: List static agent templates
      description: >-
        Returns the startup-validated static catalog of agent definitions. Copy
        one definition into managedAgentsCreateAgent to create an ordinary
        managed agent; listing templates has no side effects and performs no
        live model validation. The startup-validated embedded catalog has a
        fixed, bounded number of templates; the response is not paginated.
      operationId: managedAgentsListAgentTemplatesV2
      parameters:
        - $ref: '#/components/parameters/RecursionTenantId'
        - $ref: '#/components/parameters/RecursionOrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandaloneAgentTemplateListResponse'
          description: >-
            Response body of GET /managed-agents/v1/agent-templates: the
            standalone startup-validated agent template catalog.
          headers:
            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'
        '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'
        '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':
          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: Service Unavailable.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                  - $ref: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                discriminator:
                  propertyName: code
                  mapping:
                    managed_agents_unavailable: >-
                      #/components/schemas/ManagedAgentsApiErrorManagedAgentsUnavailable
                    service_unavailable: >-
                      #/components/schemas/ManagedAgentsApiErrorServiceUnavailable
                x-recursion-error-codes:
                  - managed_agents_unavailable
                  - service_unavailable
        '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:
    StandaloneAgentTemplateListResponse:
      additionalProperties: false
      description: >-
        Response body of GET /managed-agents/v1/agent-templates: the standalone
        startup-validated agent template catalog.
      properties:
        items:
          description: >-
            Stable agent templates in gallery order: featured templates first,
            then the rest. Definitions are standalone create-agent request
            bodies copied into the create form; reading this catalog never
            creates or mutates an agent.
          items:
            $ref: '#/components/schemas/StandaloneAgentTemplate'
          type: array
      required:
        - items
      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.
    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.
    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.
    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.
    StandaloneAgentTemplate:
      additionalProperties: false
      description: >-
        One startup-validated standalone agent template; reading it never
        creates or mutates an agent.
      properties:
        category:
          description: Presentation category grouping related templates.
          type: string
        definition:
          $ref: '#/components/schemas/StandaloneAgentTemplateDefinition'
          description: >-
            Complete standalone create-agent-compatible definition copied into
            the explicit create form.
        environment:
          description: Suggested environment template id.
          type: string
        features:
          description: Product switches required to show this template.
          items:
            type: string
          type: array
        icon:
          description: Icon name for the card.
          type: string
        name:
          description: Card title.
          type: string
        prompts:
          description: Suggested first messages; the user may edit before launch.
          items:
            type: string
          type: array
        requires:
          description: Organization resources that must be bound before creating the agent.
          items:
            $ref: '#/components/schemas/Requirement'
          type: array
        revision:
          description: Revision of this reviewed template.
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        summary:
          description: One-line explanation of the starting point.
          type: string
        templateId:
          description: Stable catalog key used to select and track this template.
          type: string
      required:
        - templateId
        - revision
        - name
        - summary
        - category
        - icon
        - prompts
        - requires
        - features
        - definition
      type: object
    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.
    StandaloneAgentTemplateDefinition:
      additionalProperties: false
      description: >-
        Request body for creating a standalone Managed 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:
        builtInIntegrations:
          description: >-
            Built-in integrations this agent may use, each naming an active
            organization connection an admin added on the Integrations page. A
            non-empty tools list narrows this agent below the connection's
            organization allow-list; omission inherits it. Sessions receive
            short-lived access restricted to the effective tools; nothing is
            granted through a vault. Omit or send [] for no connections. Carried
            in full on every version write.
          items:
            $ref: '#/components/schemas/BuiltInIntegration'
          maxItems: 25
          type: array
        defaultCredentialRefs:
          description: >-
            Individual default items within defaultVaultIds. 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
            item the default vaults hold when the agent is saved. The selection
            is stored with the agent version, so a credential added to one of
            those vaults later is not included until the agent is saved again
            with it selected. [] alongside a non-empty defaultVaultIds is
            rejected because it would select none.
          items:
            $ref: '#/components/schemas/VaultCredentialRef'
          type: array
        defaultRubric:
          description: >-
            Markdown rubric; each list item is one criterion. When set, every
            session of this agent that starts with a message is graded against
            it by default, with that message as the objective. Must contain at
            least one gradeable markdown list item. An explicit session outcome
            overrides the default.
          type: string
        defaultVaultIds:
          description: >-
            Vaults granted by default when a session create request omits
            vault_ids. defaultCredentialRefs 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
        disabledIntegrationMcpProviders:
          default: []
          description: >-
            Native integration providers whose MCP tools sessions of this agent
            do not receive even though the grant is present; the agent's own
            mcpServers are never affected. github is accepted but ignored,
            because a GitHub grant always keeps its MCP tools alongside git and
            gh in the sandbox. Omitting the field means none, on
            managedAgentsCreateAgent as on managedAgentsCreateAgentVersion.
          items:
            type: string
          type: array
        fileHistoryEnabled:
          description: >-
            Whether sessions started from this agent may search and read the
            session outputs its earlier sessions saved, with search_agent_files
            and read_agent_file. Omit or send null to leave it off. Checked
            again on every search and read, so turning it off takes effect at
            once.
          type: boolean
        maxConcurrentSessions:
          description: >-
            Maximum number of this agent's ordinary 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; child/subagent sessions and outcome evaluation passes do not
            take a slot. Carried in full on every version write: omitting it
            publishes a version with no cap.
          maximum: 10000
          minimum: 1
          type: integer
        mcpServers:
          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:
              $ref: '#/components/schemas/PlatformSafeJsonValue'
            type: object
          type: array
        metadata:
          additionalProperties:
            $ref: '#/components/schemas/PlatformSafeJsonValue'
          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: >-
            Public model id copied from GET /managed-agents/v1/models (for
            example anthropic/claude-sonnet-5-5). Agent reads return the same
            public id. An id the catalog does not list is rejected with a list
            of available public ids.
          type: string
        modelConfig:
          $ref: '#/components/schemas/InferenceConfig'
          description: >-
            Default inference config applied to sessions started from this
            agent. Omit modelConfig 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 reasoning_effort,
            including any value for a catalog model that lists no exact options,
            returns 400. Authored provider_params.thinking objects are
            validated. When prompt caching is enabled, invalid
            provider_params.promptCacheTTL or
            provider_params.promptCacheSharedTTL values, incompatible models,
            and shared retention shorter than promptCacheTTL return 400. These
            checks run on agent and version writes and again at session start; a
            model catalog that cannot be read to verify settings returns 503.
        multiagent:
          additionalProperties:
            $ref: '#/components/schemas/PlatformSafeJsonValue'
          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, and not blank;
            surrounding whitespace is trimmed.
          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/NativeIntegration'
          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:
              $ref: '#/components/schemas/PlatformSafeJsonValue'
            type: object
          maxItems: 100
          type: array
        system:
          description: System prompt for the agent.
          type: string
        template:
          $ref: '#/components/schemas/TemplateRef'
          description: Reviewed template id and revision used to prefill this definition.
        webSearchEnabled:
          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
        - modelConfig
        - system
      type: object
    Requirement:
      description: Organization resource and permission required by an agent template.
      properties:
        connector:
          description: Service identifier for a built-in integration requirement.
          type: string
        permission:
          description: Provider permission required by the template.
          type: string
        provider:
          description: Integration provider that supplies this resource.
          type: string
        resources:
          description: Resource category to choose from the connected account.
          type: string
        type:
          description: Resource category that must be connected before creation.
          type: string
      required:
        - type
        - provider
        - permission
        - resources
      type: object
      additionalProperties: false
    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
    BuiltInIntegration:
      description: >-
        One built-in integration an agent may use, named by its organization
        connection. The agent may narrow the connection's organization tool
        allow-list.
      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: >-
            Optional subset of the connection's organization tool allow-list.
            Omit or send an empty list to inherit all organization-enabled
            tools. A non-empty list limits this agent to exactly those tools,
            subject to later organization changes.
          items:
            type: string
          maxItems: 200
          type: array
      required:
        - connection_id
      type: object
      additionalProperties: false
    VaultCredentialRef:
      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
      additionalProperties: false
    InferenceConfig:
      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
          minimum: -9007199254740991
          maximum: 9007199254740991
        provider_params:
          additionalProperties:
            $ref: '#/components/schemas/PlatformSafeJsonValue'
          description: >-
            Recognized provider-specific settings are thinking, thinkingDisplay
            and output_config for native Anthropic messages; thinkingConfig for
            native Gemini; and promptCache, promptCacheTTL and
            promptCacheSharedTTL for prompt caching. Unknown top-level keys are
            ignored, not passed through. Omitting all three cache settings
            enables automatic policy: explicit caching stays enabled and
            eligible Anthropic requests may use 1h shared retention when recent
            usage and current pricing evidence predict savings; otherwise shared
            retention is 5m. Setting promptCache or either TTL explicitly keeps
            operator-configured retention. promptCache true enables explicit
            markers; false disables them and ignores both TTL settings. With
            caching enabled, both TTL settings accept only 5m or 1h on models
            using native Anthropic messages. promptCacheTTL defaults to 5m for
            user-context anchors and history. promptCacheSharedTTL controls
            tools and system instructions, defaults to promptCacheTTL under
            explicit configuration, and cannot be shorter than promptCacheTTL.
            Authored thinking objects and enabled cache TTL settings are
            validated at agent/version writes and session start.
          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
      additionalProperties: false
    NativeIntegration:
      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
          minItems: 1
          type: array
          uniqueItems: true
        tools:
          description: >-
            Standalone GitHub or Slack MCP tools this agent may use. Omit on
            existing grants to retain the prior tool access; new standalone
            grants select tools explicitly. An explicit empty list is rejected.
          items:
            type: string
          maxItems: 200
          minItems: 1
          type: array
          uniqueItems: true
      required:
        - connectionId
        - permission
      type: object
      additionalProperties: false
    TemplateRef:
      description: Reviewed template id and revision copied into this resource.
      properties:
        id:
          description: Stable template id.
          type: string
        revision:
          description: Reviewed catalog revision.
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - id
        - revision
      type: object
      additionalProperties: false
  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.

````