config object, applied through the same REST API.
Nothing is dashboard-only, so you can manage agent configuration as code: keep the JSON in version control, review changes, and apply diffs from CI.
App settings
Configure app-wide behavior using the/configuration endpoint.
Data retention
Control how long Agent Studio retains your data:Command line
logs ACL.
Data affected by retention settings
Privacy mode (maxRetentionDays: 0)
When set to 0, Agent Studio operates in privacy mode:
- Completion caching is turned off (every request calls the LLM)
- Agent Studio saves conversation metadata but the message content isn’t stored.
- Ideal for strict data privacy requirements
Conversation history
Conversations are automatically stored per retention settings. Each conversation gets an auto-generated title based on content. What’s stored:- Conversation metadata (ID, timestamps, user token)
- Message content (user queries, assistant responses, tool calls)
- Auto-generated titles for browsing
GET /user-data/{userToken} and DELETE /user-data/{userToken} endpoints.
For more information, see the API reference.
Agent settings
Configure individual agents using the/agents/{agentId} endpoint.
Agent properties
Update agent settings
Update any property without affecting others:Command line
editSettings ACL.
Configuration options
Theconfig object controls agent behavior:
Prompt suggestions
Generate contextual follow-up questions after each agent response. Suggestions help users discover capabilities and continue conversations naturally.suggestions-chunk after the main response:
Configuration options
Generation settings (
suggestions.generation):
Context settings (
suggestions.context):
Client-side handling
With AI SDK:React
Cost control
Cost control settings limit these sources of token usage: output per call, the number of reasoning or tool loops, and conversation history size. Response size and per-request token cost are also controlled per index through the Algolia Search tool settings, such ashitsPerPage, attributesToRetrieve, and facets.
JSON
For example, to update an agent’s cost control settings:
Command line
Default values and no-limit behavior
Each cost control setting has either a default value or no limit:max_tokens: 0(or omitted) uses the model or provider default.max_iterations: 0(or omitted) uses the default of 50.thread_depth.max_messages: null,0, or omitted: the conversation doesn’t have a message limit.
Rate limiting
Limit how often clients can call an agent’s/completions endpoint.
You can configure two independent rate limits:
- Per-agent: maximum requests an agent can receive within a time interval
- Per-IP: maximum requests a client IP can make to an agent within a time interval
429 response.
JSON
rate_limit.agent
rate_limit.ip
For example, to update an agent’s rate limit settings:
Command line
Default behavior and when limits don’t apply
You can configure the agent and IP rate limits independently:- If you omit
rate_limit, the API doesn’t enforce agent or IP request limits. - To turn off either the agent or IP rate limit, set
enabled: falsefor that limit
429 response
When a limit is exceeded, the API returns:JSON
On successful responses,
X-RateLimit-Limit and X-RateLimit-Remaining reflect the configured per-agent limit.
Publish workflow
Agents have two states:- Draft: test changes in preview.
- Published: live for API consumers.
Command line
PATCH /agents/{agentId} endpoint,
you’re modifying the draft version of the agent.
These changes aren’t visible to API consumers until you publish the agent using the POST /agents/{agentId}/publish endpoint.