Algolia Agent Studio API
Algolia's agent-building runtime: agents, conversations, tools, memory, guardrails and per-turn context, exposed as 42 REST operations. Notably, Agent Studio can itself consume third-party MCP tools, so Algolia is both an MCP server and an MCP client.
Operations 42
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“Which AI agents have I built in Algolia Agent Studio?”
“Can I list only the agents that use a particular LLM provider?”
Tell an agent
List all my Agent Studio agents.
Show agents that use LLM provider {providerId}, page {page}.
Ask an LLM
“How do I create a new conversational agent with its own instructions?”
“Can I pick the model and attach tools when I first create an agent?”
Tell an agent
Create an agent named {name} with instructions {instructions}.
Create agent {name} on provider {providerId} using model {model}, with instructions {instructions} and tools {tools}.
Ask an LLM
“How do I see the instructions, model and tools one agent is configured with?”
“What settings does a specific agent have right now?”
Tell an agent
Show agent {agentId}.
Retrieve the full configuration of agent {agentId}.
Ask an LLM
“How do I change the system prompt of an agent I already built?”
“Can I switch an existing agent to a different model without recreating it?”
Tell an agent
Update agent {agentId} to use model {model}.
Change the instructions of existing agent {agentId} to {instructions}.
Ask an LLM
“How do I permanently remove an agent I no longer need?”
“Can I delete an agent by its ID?”
Tell an agent destructive · confirm first
Delete agent {agentId}.
Remove agent {agentId} from Agent Studio.
Ask an LLM
“Which websites are allowed to call my agent?”
“How do I see every domain pattern whitelisted for one agent?”
Tell an agent
List the allowed domains for agent {agentId}.
Show every domain pattern agent {agentId} accepts requests from.
Ask an LLM
“How do I let my app's domain call my agent?”
“Can I allow a wildcard subdomain pattern like *.example.com for an agent?”
Tell an agent
Allow domain {domain} for agent {agentId}.
Add the single domain pattern {domain} to agent {agentId}'s allowlist.
POST
/1/agents/{agentId}/allowed-domains/bulk
Allow many domains for an agent at once · Bulk Insert Allowed Domains
#
Ask an LLM
“How do I add a whole list of domains to an agent's allowlist in one go?”
“What happens to duplicates when I bulk-add allowed domains?”
Tell an agent
Bulk add domains {domains} to agent {agentId}'s allowlist.
Allow all of these domains for agent {agentId}, skipping duplicates: {domains}.
DELETE
/1/agents/{agentId}/allowed-domains/bulk
Remove many allowed domains from an agent · Bulk Delete Allowed Domains
#
Ask an LLM
“How do I remove several domains from an agent's allowlist at once?”
“Can I bulk-revoke allowed domains by their IDs?”
Tell an agent destructive · confirm first
Remove allowed domains {domainIds} from agent {agentId}.
Bulk delete these domain IDs from agent {agentId}'s allowlist: {domainIds}.
GET
/1/agents/{agentId}/allowed-domains/{domainId}
Get one allowed domain for an agent · Get Allowed Domain
#
Ask an LLM
“How do I look up a single allowed-domain entry by its ID?”
“What pattern is stored for one specific allowed domain on my agent?”
Tell an agent
Show allowed domain {domainId} on agent {agentId}.
Retrieve the domain pattern for entry {domainId} of agent {agentId}.
DELETE
/1/agents/{agentId}/allowed-domains/{domainId}
Remove one allowed domain from an agent · Delete Allowed Domain
#
Ask an LLM
“How do I stop one domain from calling my agent?”
“Can I remove a single allowed domain by its ID?”
Tell an agent destructive · confirm first
Remove allowed domain {domainId} from agent {agentId}.
Revoke the single domain entry {domainId} on agent {agentId}.
Ask an LLM
“How do I clear cached answers after I change my agent's data?”
“Can I invalidate only the completions cached before a certain date?”
Tell an agent destructive · confirm first
Invalidate the completion cache for agent {agentId}.
Clear agent {agentId}'s cached completions created before {before}.
POST
/1/agents/{agentId}/completions
Send a message to an agent and get a reply · Create Completion
#
Ask an LLM
“How do I chat with my agent and get its response?”
“Can I stream an agent's answer back token by token?”
Tell an agent
Send messages {messages} to agent {agentId} in compatibility mode {compatibilityMode}.
Stream a reply from agent {agentId} to {messages} with compatibility mode {compatibilityMode} and stream={stream}.
Ask an LLM
“What conversations have users had with my agent this week?”
“Can I see only the conversations that got a thumbs-down vote?”
Tell an agent
List conversations for agent {agentId} between {startDate} and {endDate}.
Show agent {agentId}'s conversations with feedback vote {feedbackVote}.
DELETE
/1/agents/{agentId}/conversations
Delete an agent's conversations in a date range · Delete Conversations
#
Ask an LLM
“How do I purge all of an agent's conversation history for a period?”
“Can I bulk-delete an agent's conversations older than a certain date?”
Tell an agent destructive · confirm first
Delete all conversations for agent {agentId}.
Delete agent {agentId}'s conversations from {startDate} to {endDate}.
GET
/1/agents/{agentId}/conversations/export
Export an agent's conversations · Export Conversations
#
Ask an LLM
“How do I download every conversation my agent has had for offline analysis?”
“Can I export an agent's conversations for just last month?”
Tell an agent
Export all conversations for agent {agentId}.
Export agent {agentId}'s conversations between {startDate} and {endDate}.
GET
/1/agents/{agentId}/conversations/{conversationId}
Get one conversation and its messages · Get Conversation
#
Ask an LLM
“How do I read the full transcript of one agent conversation?”
“Can I include user feedback when I pull up a single conversation?”
Tell an agent
Show conversation {conversationId} of agent {agentId}.
Retrieve the messages and feedback of conversation {conversationId} for agent {agentId}.
DELETE
/1/agents/{agentId}/conversations/{conversationId}
Delete one conversation · Delete Conversation
#
Ask an LLM
“How do I delete a single conversation from an agent's history?”
“Can I remove one specific chat by its conversation ID?”
Tell an agent destructive · confirm first
Delete conversation {conversationId} of agent {agentId}.
Remove the single chat {conversationId} from agent {agentId}.
Ask an LLM
“How do I make my agent live after I finish configuring it?”
“What's the step to take a draft agent into production?”
Tell an agent
Publish agent {agentId}.
Take agent {agentId} live.
Ask an LLM
“How do I take a published agent offline without deleting it?”
“Can I pull an agent out of production temporarily?”
Tell an agent
Unpublish agent {agentId}.
Take agent {agentId} offline but keep its configuration.
Ask an LLM
“How long does Agent Studio keep my conversation data?”
“What application-level Agent Studio settings are in effect?”
Tell an agent
Show my Agent Studio configuration.
Tell me the current data retention setting for Agent Studio.
Ask an LLM
“How do I shorten how many days Agent Studio retains data?”
“Can I change the maximum retention period for conversations?”
Tell an agent
Set Agent Studio's maximum retention to {maxRetentionDays} days.
Keep Agent Studio data for no more than {maxRetentionDays} days.
Ask an LLM
“How do I capture a thumbs-up or thumbs-down on an agent's answer?”
“Can I attach tags and notes to feedback on a specific message?”
Tell an agent
Record a {vote} vote on message {messageId} from agent {agentId}.
Leave feedback {vote} with notes {notes} on agent {agentId}'s message {messageId}.
Ask an LLM
“Which LLM providers have I connected to Agent Studio?”
“Can I page through my configured model providers?”
Tell an agent
List my configured LLM providers.
Show page {page} of my LLM providers, {limit} per page.
Ask an LLM
“How do I connect my own LLM provider account so agents can use it?”
“What do I need to supply to register a model provider in Agent Studio?”
Tell an agent
Add LLM provider {providerName} as {name} with settings {input}.
Register a new {providerName} connection named {name} using credentials {input}.
Ask an LLM
“Which LLM models can my agents choose from?”
“What models does Agent Studio support overall?”
Tell an agent
List all models available to Agent Studio.
Show every model my agents could be configured with.
Ask an LLM
“How do I view the settings of one connected LLM provider?”
“What's stored for a specific provider connection?”
Tell an agent
Show LLM provider {providerId}.
Retrieve the configuration of provider connection {providerId}.
Ask an LLM
“How do I rotate the credentials on an existing LLM provider connection?”
“Can I rename a provider connection?”
Tell an agent
Update provider {providerId} with new settings {input}.
Rename provider connection {providerId} to {name}.
Ask an LLM
“How do I disconnect an LLM provider from Agent Studio?”
“Can I delete a provider connection I no longer pay for?”
Tell an agent destructive · confirm first
Delete LLM provider {providerId}.
Disconnect provider connection {providerId} from Agent Studio.
GET
/1/providers/{providerId}/models
List models offered by one provider · Get Provider Models By Id
#
Ask an LLM
“Which models can I use through a specific provider connection?”
“What models does one of my connected LLM providers expose?”
Tell an agent
List the models available from provider {providerId}.
Show which models provider connection {providerId} offers.
Ask an LLM
“Which secret keys have been created for my agents?”
“Can I page through my Agent Studio secret keys?”
Tell an agent
List my Agent Studio secret keys.
Show page {page} of secret keys, {limit} at a time.
Ask an LLM
“How do I generate a secret key to call my agents from a backend?”
“Can I scope a new secret key to specific agents only?”
Tell an agent
Create a secret key named {name}.
Create secret key {name} limited to agents {agentIds}.
Ask an LLM
“How do I see which agents one secret key is scoped to?”
“What details are stored for a specific Agent Studio secret key?”
Tell an agent
Show secret key {secretKeyId}.
Retrieve the name and agent scope of secret key {secretKeyId}.
Ask an LLM
“How do I change which agents an existing secret key can access?”
“Can I rename a secret key after creating it?”
Tell an agent
Scope secret key {secretKeyId} to agents {agentIds}.
Rename secret key {secretKeyId} to {name}.
Ask an LLM
“How do I revoke a leaked Agent Studio secret key?”
“Can I delete a secret key by its ID?”
Tell an agent destructive · confirm first
Delete secret key {secretKeyId}.
Revoke Agent Studio secret key {secretKeyId} permanently.
Ask an LLM
“How do I retrieve every memory and conversation Agent Studio holds for one end user?”
“Can I pull a user's full data for a data access request?”
Tell an agent
Get all memories, conversations and messages for user token {userToken}.
Export everything Agent Studio stores about user {userToken}.
Ask an LLM
“How do I permanently erase an end user's agent messages?”
“Does deleting a user's data also remove their conversations?”
Tell an agent destructive · confirm first
Permanently delete all messages for user token {userToken}.
Erase user {userToken}'s agent messages, leaving the conversations in place.
GET
/{path}
Send a raw GET request to the Agent Studio API · Send requests to the Algolia REST API
#
Ask an LLM
“Can I read an Agent Studio endpoint that the client library doesn't wrap?”
“Is there a generic way to GET any Agent Studio path with custom query parameters?”
Tell an agent
Send a raw GET request to Agent Studio path {path}.
Fetch Agent Studio path {path} with query parameters {parameters}.
POST
/{path}
Send a raw POST request to the Agent Studio API · Send requests to the Algolia REST API
#
Ask an LLM
“Can I POST to an Agent Studio endpoint the SDK doesn't expose as a method?”
“What's the generic escape hatch for posting to any Agent Studio path?”
Tell an agent
Send a raw POST request to Agent Studio path {path}.
POST to Agent Studio path {path} with query parameters {parameters}.
PUT
/{path}
Send a raw PUT request to the Agent Studio API · Send requests to the Algolia REST API
#
Ask an LLM
“Can I send a custom PUT to an Agent Studio path that has no dedicated method?”
“Is there a passthrough for PUT calls on an arbitrary Agent Studio endpoint?”
Tell an agent
Send a raw PUT request to Agent Studio path {path}.
PUT to Agent Studio path {path} with query parameters {parameters}.
DELETE
/{path}
Send a raw DELETE request to the Agent Studio API · Send requests to the Algolia REST API
#
Ask an LLM
“Can I issue a DELETE against an arbitrary Agent Studio path?”
“Is there a generic delete call for Agent Studio endpoints without a dedicated method?”
Tell an agent destructive · confirm first
Send a raw DELETE request to Agent Studio path {path}.
DELETE Agent Studio path {path} with query parameters {parameters}.
GET
/setClientApiKey
Switch the API key the Agent Studio client uses · Switch the API key used to authenticate requests
#
Ask an LLM
“Can I change which API key my Agent Studio client authenticates with?”
“How do I rotate the Algolia API key an existing Agent Studio client sends?”
Tell an agent
Switch the Agent Studio client to authenticate with API key {apiKey}.
Use {apiKey} for all further Agent Studio API requests.
Documentation
Specifications
Schemas & Data
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-agent-config-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-agent-config-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-conversation-full-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-agent-with-version-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-feedback-response-schema.json