Agents Endpoint Object Structure
This page applies to the agents endpoint.
Example
This configuration enables the builder interface for agents.
recursionLimit
| Key | Type | Description | Example |
|---|---|---|---|
| recursionLimit | Number | Sets the default number of steps an agent can take in a run. | Controls recursion depth to prevent infinite loops. When limit is reached, raises GraphRecursionError. This value can be configured from the UI up to the maxRecursionLimit. |
Default: 25
Example:
For more information about agent steps, see Max Agent Steps.
maxRecursionLimit
| Key | Type | Description | Example |
|---|---|---|---|
| maxRecursionLimit | Number | Sets the absolute maximum number of steps an agent can take in a run. | Defines the upper limit for the recursionLimit that can be set from the UI. This prevents users from setting excessively high values. |
Default: If omitted, defaults to the value of recursionLimit or 50 if recursionLimit is also omitted.
Example:
For more information about agent steps, see Max Agent Steps.
titleTiming
| Key | Type | Description | Example |
|---|---|---|---|
| titleTiming | String | Controls when conversation titles are generated for the agents endpoint. Valid values: "immediate" or "final". | Defaults to "immediate". |
Default: "immediate"
Available Values:
"immediate": Generates the title as soon as the request starts, in parallel with the model response, using the user's first message."final": Defers title generation until the full response completes. This preserves the legacy behavior.
Example:
disableBuilder
| Key | Type | Description | Example |
|---|---|---|---|
| disableBuilder | Boolean | Controls the visibility and use of the builder interface for agents. | When set to `true`, disables the builder interface for the agent, limiting direct manual interaction. |
Default: false
Example:
allowedProviders
| Key | Type | Description | Example |
|---|---|---|---|
| allowedProviders | Array/List of Strings | Specifies a list of endpoint providers (e.g., "openAI", "anthropic", "google") that are permitted for use with the Agents feature. | If defined, only agents configured with these providers can be initialized. If omitted or empty, all configured providers are allowed. |
Default: [] (empty list, all providers allowed)
Note: Must be one of the following, or a custom endpoint name as defined in your configuration: - openAI, azureOpenAI, google, anthropic, assistants, azureAssistants, bedrock
Example:
capabilities
| Key | Type | Description | Example |
|---|---|---|---|
| capabilities | Array/List of Strings | Specifies the agent capabilities available to all users for the agents endpoint. | Defines the agent capabilities that are available to all users for the agents endpoint. You can omit the capabilities you wish to exclude from the list. |
Default: ["deferred_tools", "execute_code", "file_search", "web_search", "artifacts", "subagents", "actions", "context", "skills", "tools", "chain", "ocr", "memory", "ask_user_question"]
Example:
Note: This field is optional. If omitted, the default behavior is to include all the capabilities listed in the default. The opt-in capabilities stateful_code_sessions, run_in_background, and tool_intents are not in the default list and must be added explicitly.
skills
Controls endpoint-level Skills settings for agents.
| Key | Type | Description | Example |
|---|---|---|---|
| skills.maxCatalogSkills | Number | Caps the number of active accessible Skills exposed in the model-visible catalog. Must be between 1 and 100. | maxCatalogSkills: 20 |
Default: No configured cap beyond the runtime catalog limit.
Example:
This does not disable Skills. Use the skills capability and per-agent/model-spec skill scoping to control whether Skills are available.
maxCitations
| Key | Type | Description | Example |
|---|---|---|---|
| maxCitations | Number | Controls the maximum total number of citations that can be included in a single agent response. | When using file_search capability, limits the total number of source citations returned to prevent overwhelming responses while ensuring comprehensive coverage. |
Default: 30
Range: 1-50
Example:
maxCitationsPerFile
| Key | Type | Description | Example |
|---|---|---|---|
| maxCitationsPerFile | Number | Limits the maximum number of citations that can be extracted from any single file. | Ensures citation diversity by preventing any single file from dominating the citations, encouraging representation from multiple sources. |
Default: 7
Range: 1-10
Example:
minRelevanceScore
| Key | Type | Description | Example |
|---|---|---|---|
| minRelevanceScore | Number | Sets the minimum relevance score threshold for sources to be included in responses. | Filters out low-quality matches based on vector similarity scores. Higher values (e.g., 0.7) ensure only highly relevant sources are cited, while lower values (e.g., 0.0) include all sources regardless of quality. |
Default: 0.45 (45% relevance threshold)
Range: 0.0-1.0
Example:
File Citation Configuration Examples
Default Configuration (Balanced)
Provides comprehensive citations while preventing overwhelming responses and filtering out low-quality matches.
Strict Configuration (High Quality)
Only includes highly relevant citations with strict limits for focused responses.
Comprehensive Configuration (Research)
Maximum information extraction for exhaustive research tasks, including all sources regardless of relevance.
Agent Capabilities
The capabilities field allows you to enable or disable specific functionalities for agents. The available capabilities are:
- deferred_tools: Allows agents to discover deferred MCP tools at runtime instead of loading every tool into context upfront.
- execute_code: Allows the agent to execute code.
- file_search: Enables the agent to search and interact with files. When enabled, citation behavior is controlled by
maxCitations,maxCitationsPerFile, andminRelevanceScoresettings. - web_search: Enables web search functionality for agents, allowing them to search and retrieve information from the internet.
- artifacts: Enables the agent to generate interactive artifacts (React components, HTML, Mermaid diagrams).
- subagents: Enables isolated-context child agent runs. See Subagents.
- actions: Permits the agent to perform predefined actions.
- context: Enables "Upload as Text" functionality in chat, and "File Context" for agents, allowing users to upload files and have their content extracted and included directly in the conversation.
- skills: Enables Skills in the side panel, manual
$invocation, model-invoked skills, and agent skill allowlists. See Skills. - tools: Grants the agent access to various tools.
- chain: Enables Beta feature for agent chaining, also known as Mixture-of-Agents (MoA) workflows.
- ocr: Optionally enhances "Upload as Text" in chat, and "File Context" for agents, allowing files to be uploaded and processed with OCR. Requires an OCR service to be configured.
- memory: Equips the agent with memory tools so it can store and recall information across conversations. Included in the default list. See Memory.
- ask_user_question: Enables durable question-and-resume flows, letting the agent pause a run to ask the user a question and continue once answered. Included in the default list.
- stateful_code_sessions (opt-in, experimental): Enables reusable Code Interpreter workspaces across tool calls. Highly experimental — behavior and configuration may change substantially. Not in the default list.
- run_in_background (opt-in): Allows eligible tool calls to run in the background. Code Interpreter tools are background-eligible by default when enabled, while MCP tools remain per-tool opt-ins. Not in the default list.
- tool_intents (opt-in): Enables live, model-written labels describing native and selected MCP tool calls as they run. Not in the default list.
By specifying the capabilities, you can control the features available to users when interacting with agents.
Example Configuration
Here is an example of configuring the agents endpoint with custom capabilities and file citation settings:
In this example:
- The builder interface is enabled
- File citations are limited to 20 total, with maximum 5 per file
- Only sources with 60%+ relevance are included
- IntelliAsk Agents have access to code execution, file search (with citations), Skills, Subagents, actions, artifacts, file context, ocr services if configured, and web search capabilities
Subagents
The subagents field controls which isolated child agents a parent agent can spawn when the subagents capability is available.
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Adds the subagent spawn tool to this agent when true. Default: disabled. | enabled: true |
| allowSelf | Boolean | Allows the agent to spawn itself in a fresh isolated context. Default: true. | allowSelf: true |
| agent_ids | Array/List of Strings | Specific agents this agent may spawn. Maximum: 10. | agent_ids: ["agent_researcher"] |
For user-facing behavior and limits, see Subagents.
Activity labels
Activity labels generate short, one-line headers summarizing contiguous blocks of reasoning and tool calls, so a long run reads as a sequence of labelled activities.
| Key | Type | Description | Example |
|---|---|---|---|
| activityLabel | Boolean | Enables generated one-line headers for contiguous reasoning and tool-call blocks. | Default: false |
| activityModel | String | Model used for the header-generating call. | Falls back to the title model when omitted. |
| activityEndpoint | String | Endpoint that serves the activity model. | Resolved by the same precedence as the other activity fields. |
| activityPrompt | String | Custom prompt used to generate the activity header. | Optional. |
| activityMaxPerRun | Number | Bounds the number of additional header-generating calls per run. | Optional. |
| activityCharLimit | Number | Bounds the prompt input (evidence) sent to the header call. Also bounds phase-summary evidence. | Optional. |
Precedence: These fields can be set under endpoints.all, endpoints.agents,
or the backing provider/custom endpoint, and resolve independently by precedence
(most specific wins).
Example:
Activity phases
Activity phases group a run's activity blocks into higher-level phases and generate a collapsed summary for each. A phase is created for run segments that contain at least two logical activities.
| Key | Type | Description | Example |
|---|---|---|---|
| activityPhaseLabel | Boolean | Generates a collapsed summary for run phases containing at least two logical activities. | Default: false |
| activityPhaseModel | String | Model used for the phase-summary call. | Falls back through activity-label, title-model, and current-run settings. |
| activityPhaseEndpoint | String | Endpoint that serves the phase-summary model. | Uses the same endpoint configuration precedence. |
| activityPhasePrompt | String | Custom prompt used to generate the phase summary. | Optional. |
| activityPhaseMaxPerRun | Number | Bounds the number of phase-summary calls per run. | Default: 5 |
Behavior: Short progress remains grouped; substantial answer text closes the
active phase before the result; and later activity blocks can open another phase in
the same run. Persisted phase boundaries are rebased after content compaction so they
stay aligned after reload. Phase-summary evidence is also bounded by activityCharLimit.
Example:
toolApproval
Enables human-in-the-loop approval for matching Agent tool calls before they execute.
| Key | Type | Description | Example |
|---|---|---|---|
| mode | String | Base approval policy. Options: "default", "dontAsk", "bypass". | default: ask for matching calls; dontAsk: skip approval; bypass: run without gating. |
| allow | Array of Strings | Glob rules for tool calls that are auto-approved. | Optional. |
| deny | Array of Strings | Glob rules for tool calls that are always rejected. | Optional. |
| ask | Array of Strings | Glob rules for tool calls that require explicit approval. | Optional. |
Programmatic hooks: Trusted programmatic hooks can provide context-aware approval
policy. Hooks can only make the static policy stricter — they cannot loosen an
ask/deny decision into an auto-approval.
Paused approval runs can be resumed later when a checkpointer is configured.
Example:
checkpointer
Persists paused runs — those waiting on an Ask User question or a tool approval — so they can resume later instead of being lost.
| Key | Type | Description | Example |
|---|---|---|---|
| type | String | Storage backend. Options: "mongo" (default) or "memory" (process-local, for development). | Default: mongo |
| ttl | Number | Time-to-live for persisted checkpoints, in seconds. | Default: 86400 (24 hours). |
| collectionName | String | Overrides the MongoDB collection name used to store checkpoints. | Optional. |
Example:
The memory checkpointer is process-local and does not survive restarts or work
across replicas. Use mongo for any production deployment.
Stream circuit breakers
These limits protect the server from runaway streamed generations by capping the volume a single model turn or tool call can emit.
| Key | Type | Description | Example |
|---|---|---|---|
| maxToolCallArgBytes | Number | Limits one streamed tool call's cumulative argument bytes. | Optional. |
| maxDeltaEventsPerTurn | Number | Limits the number of stream events from one model generation. | Optional. |
| maxToolCallArgBytesByTool | Object | Per-tool overrides for maxToolCallArgBytes, keyed by tool name. | Ships with a 128 KiB allowance for create_file. |
Example:
Notes
- It's not recommended to disable the builder interface unless you are using modelSpecs to define a list of agents to choose from.
- File citation configuration (
maxCitations,maxCitationsPerFile,minRelevanceScore) only applies when thefile_searchcapability is enabled. - The relevance score is calculated using vector similarity, where 1.0 represents a perfect match and 0.0 represents no similarity.
- Citation limits help balance comprehensive information retrieval with response quality and performance.
- The
contextcapability works without OCR configuration using text parsing methods. OCR enhances extraction quality when configured. - The
ocrcapability requires an OCR service to be configured (see OCR Configuration).
Last updated on