# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Agent Studio API version: 1.0.0 extends: openapi/algolia-agent-studio-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 42 - target: $.paths['/1/agents'].get update: x-apievangelist-phrasing: intent: List Agent Studio agents effect: read questions: - Which AI agents have I built in Algolia Agent Studio? - Can I list only the agents that use a particular LLM provider? instructions: - text: List all my Agent Studio agents. - text: Show agents that use LLM provider {providerId}, page {page}. slots: providerId: query.providerId page: query.page method: generated generated: '2026-09-26' - target: $.paths['/1/agents'].post update: x-apievangelist-phrasing: intent: Create a new AI agent effect: write questions: - 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? instructions: - text: Create an agent named {name} with instructions {instructions}. slots: name: requestBody.name instructions: requestBody.instructions - text: Create agent {name} on provider {providerId} using model {model}, with instructions {instructions} and tools {tools}. slots: name: requestBody.name providerId: requestBody.providerId model: requestBody.model instructions: requestBody.instructions tools: requestBody.tools method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}'].get update: x-apievangelist-phrasing: intent: Get an agent's details effect: read questions: - How do I see the instructions, model and tools one agent is configured with? - What settings does a specific agent have right now? instructions: - text: Show agent {agentId}. slots: agentId: path.agentId - text: Retrieve the full configuration of agent {agentId}. slots: agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}'].delete update: x-apievangelist-phrasing: intent: Delete an agent effect: destructive questions: - How do I permanently remove an agent I no longer need? - Can I delete an agent by its ID? instructions: - text: Delete agent {agentId}. slots: agentId: path.agentId - text: Remove agent {agentId} from Agent Studio. slots: agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}'].patch update: x-apievangelist-phrasing: intent: Update an existing agent effect: write questions: - 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? instructions: - text: Update agent {agentId} to use model {model}. slots: agentId: path.agentId model: requestBody.model - text: Change the instructions of existing agent {agentId} to {instructions}. slots: agentId: path.agentId instructions: requestBody.instructions - text: Replace the system prompt of agent {agentId} with {systemPrompt}. slots: agentId: path.agentId systemPrompt: requestBody.systemPrompt method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/allowed-domains'].get update: x-apievangelist-phrasing: intent: List an agent's allowed domains effect: read questions: - Which websites are allowed to call my agent? - How do I see every domain pattern whitelisted for one agent? instructions: - text: List the allowed domains for agent {agentId}. slots: agentId: path.agentId - text: Show every domain pattern agent {agentId} accepts requests from. slots: agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/allowed-domains'].post update: x-apievangelist-phrasing: intent: Allow one domain to use an agent effect: write questions: - How do I let my app's domain call my agent? - Can I allow a wildcard subdomain pattern like *.example.com for an agent? instructions: - text: Allow domain {domain} for agent {agentId}. slots: domain: requestBody.domain agentId: path.agentId - text: Add the single domain pattern {domain} to agent {agentId}'s allowlist. slots: domain: requestBody.domain agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/allowed-domains/bulk'].post update: x-apievangelist-phrasing: intent: Allow many domains for an agent at once effect: write questions: - 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? instructions: - text: Bulk add domains {domains} to agent {agentId}'s allowlist. slots: domains: requestBody.domains agentId: path.agentId - text: 'Allow all of these domains for agent {agentId}, skipping duplicates: {domains}.' slots: agentId: path.agentId domains: requestBody.domains method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/allowed-domains/bulk'].delete update: x-apievangelist-phrasing: intent: Remove many allowed domains from an agent effect: destructive questions: - How do I remove several domains from an agent's allowlist at once? - Can I bulk-revoke allowed domains by their IDs? instructions: - text: Remove allowed domains {domainIds} from agent {agentId}. slots: domainIds: requestBody.domainIds agentId: path.agentId - text: 'Bulk delete these domain IDs from agent {agentId}''s allowlist: {domainIds}.' slots: agentId: path.agentId domainIds: requestBody.domainIds method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/allowed-domains/{domainId}'].get update: x-apievangelist-phrasing: intent: Get one allowed domain for an agent effect: read questions: - 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? instructions: - text: Show allowed domain {domainId} on agent {agentId}. slots: domainId: path.domainId agentId: path.agentId - text: Retrieve the domain pattern for entry {domainId} of agent {agentId}. slots: domainId: path.domainId agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/allowed-domains/{domainId}'].delete update: x-apievangelist-phrasing: intent: Remove one allowed domain from an agent effect: destructive questions: - How do I stop one domain from calling my agent? - Can I remove a single allowed domain by its ID? instructions: - text: Remove allowed domain {domainId} from agent {agentId}. slots: domainId: path.domainId agentId: path.agentId - text: Revoke the single domain entry {domainId} on agent {agentId}. slots: domainId: path.domainId agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/cache'].delete update: x-apievangelist-phrasing: intent: Clear an agent's cached completions effect: destructive questions: - How do I clear cached answers after I change my agent's data? - Can I invalidate only the completions cached before a certain date? instructions: - text: Invalidate the completion cache for agent {agentId}. slots: agentId: path.agentId - text: Clear agent {agentId}'s cached completions created before {before}. slots: agentId: path.agentId before: query.before method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/completions'].post update: x-apievangelist-phrasing: intent: Send a message to an agent and get a reply effect: write questions: - How do I chat with my agent and get its response? - Can I stream an agent's answer back token by token? - How do I approve a tool call the agent asked permission to run? instructions: - text: Send messages {messages} to agent {agentId} in compatibility mode {compatibilityMode}. slots: messages: requestBody.messages agentId: path.agentId compatibilityMode: query.compatibilityMode - text: Stream a reply from agent {agentId} to {messages} with compatibility mode {compatibilityMode} and stream={stream}. slots: agentId: path.agentId messages: requestBody.messages compatibilityMode: query.compatibilityMode stream: query.stream - text: Answer agent {agentId}'s pending tool approvals with {toolApprovals} using compatibility mode {compatibilityMode}. slots: agentId: path.agentId toolApprovals: requestBody.toolApprovals compatibilityMode: query.compatibilityMode method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/conversations'].get update: x-apievangelist-phrasing: intent: List an agent's conversations effect: read questions: - What conversations have users had with my agent this week? - Can I see only the conversations that got a thumbs-down vote? instructions: - text: List conversations for agent {agentId} between {startDate} and {endDate}. slots: agentId: path.agentId startDate: query.startDate endDate: query.endDate - text: Show agent {agentId}'s conversations with feedback vote {feedbackVote}. slots: agentId: path.agentId feedbackVote: query.feedbackVote method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/conversations'].delete update: x-apievangelist-phrasing: intent: Delete an agent's conversations in a date range effect: destructive questions: - 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? instructions: - text: Delete all conversations for agent {agentId}. slots: agentId: path.agentId - text: Delete agent {agentId}'s conversations from {startDate} to {endDate}. slots: agentId: path.agentId startDate: query.startDate endDate: query.endDate method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/conversations/export'].get update: x-apievangelist-phrasing: intent: Export an agent's conversations effect: read questions: - How do I download every conversation my agent has had for offline analysis? - Can I export an agent's conversations for just last month? instructions: - text: Export all conversations for agent {agentId}. slots: agentId: path.agentId - text: Export agent {agentId}'s conversations between {startDate} and {endDate}. slots: agentId: path.agentId startDate: query.startDate endDate: query.endDate method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/conversations/{conversationId}'].get update: x-apievangelist-phrasing: intent: Get one conversation and its messages effect: read questions: - How do I read the full transcript of one agent conversation? - Can I include user feedback when I pull up a single conversation? instructions: - text: Show conversation {conversationId} of agent {agentId}. slots: conversationId: path.conversationId agentId: path.agentId - text: Retrieve the messages and feedback of conversation {conversationId} for agent {agentId}. slots: conversationId: path.conversationId agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/conversations/{conversationId}'].delete update: x-apievangelist-phrasing: intent: Delete one conversation effect: destructive questions: - How do I delete a single conversation from an agent's history? - Can I remove one specific chat by its conversation ID? instructions: - text: Delete conversation {conversationId} of agent {agentId}. slots: conversationId: path.conversationId agentId: path.agentId - text: Remove the single chat {conversationId} from agent {agentId}. slots: conversationId: path.conversationId agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/publish'].post update: x-apievangelist-phrasing: intent: Publish an agent effect: write questions: - How do I make my agent live after I finish configuring it? - What's the step to take a draft agent into production? instructions: - text: Publish agent {agentId}. slots: agentId: path.agentId - text: Take agent {agentId} live. slots: agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/agents/{agentId}/unpublish'].post update: x-apievangelist-phrasing: intent: Unpublish an agent effect: write questions: - How do I take a published agent offline without deleting it? - Can I pull an agent out of production temporarily? instructions: - text: Unpublish agent {agentId}. slots: agentId: path.agentId - text: Take agent {agentId} offline but keep its configuration. slots: agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/1/configuration'].get update: x-apievangelist-phrasing: intent: Get the Agent Studio configuration effect: read questions: - How long does Agent Studio keep my conversation data? - What application-level Agent Studio settings are in effect? instructions: - text: Show my Agent Studio configuration. - text: Tell me the current data retention setting for Agent Studio. method: generated generated: '2026-09-26' - target: $.paths['/1/configuration'].patch update: x-apievangelist-phrasing: intent: Change Agent Studio data retention effect: write questions: - How do I shorten how many days Agent Studio retains data? - Can I change the maximum retention period for conversations? instructions: - text: Set Agent Studio's maximum retention to {maxRetentionDays} days. slots: maxRetentionDays: requestBody.maxRetentionDays - text: Keep Agent Studio data for no more than {maxRetentionDays} days. slots: maxRetentionDays: requestBody.maxRetentionDays method: generated generated: '2026-09-26' - target: $.paths['/1/feedback'].post update: x-apievangelist-phrasing: intent: Record feedback on an agent message effect: write questions: - 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? instructions: - text: Record a {vote} vote on message {messageId} from agent {agentId}. slots: vote: requestBody.vote messageId: requestBody.messageId agentId: requestBody.agentId - text: Leave feedback {vote} with notes {notes} on agent {agentId}'s message {messageId}. slots: vote: requestBody.vote notes: requestBody.notes agentId: requestBody.agentId messageId: requestBody.messageId method: generated generated: '2026-09-26' - target: $.paths['/1/providers'].get update: x-apievangelist-phrasing: intent: List configured LLM providers effect: read questions: - Which LLM providers have I connected to Agent Studio? - Can I page through my configured model providers? instructions: - text: List my configured LLM providers. - text: Show page {page} of my LLM providers, {limit} per page. slots: page: query.page limit: query.limit method: generated generated: '2026-09-26' - target: $.paths['/1/providers'].post update: x-apievangelist-phrasing: intent: Connect a new LLM provider effect: write questions: - 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? instructions: - text: Add LLM provider {providerName} as {name} with settings {input}. slots: providerName: requestBody.providerName name: requestBody.name input: requestBody.input - text: Register a new {providerName} connection named {name} using credentials {input}. slots: providerName: requestBody.providerName name: requestBody.name input: requestBody.input method: generated generated: '2026-09-26' - target: $.paths['/1/providers/models'].get update: x-apievangelist-phrasing: intent: List models available across providers effect: read questions: - Which LLM models can my agents choose from? - What models does Agent Studio support overall? instructions: - text: List all models available to Agent Studio. - text: Show every model my agents could be configured with. method: generated generated: '2026-09-26' - target: $.paths['/1/providers/{providerId}'].get update: x-apievangelist-phrasing: intent: Get one LLM provider's details effect: read questions: - How do I view the settings of one connected LLM provider? - What's stored for a specific provider connection? instructions: - text: Show LLM provider {providerId}. slots: providerId: path.providerId - text: Retrieve the configuration of provider connection {providerId}. slots: providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/1/providers/{providerId}'].delete update: x-apievangelist-phrasing: intent: Remove an LLM provider connection effect: destructive questions: - How do I disconnect an LLM provider from Agent Studio? - Can I delete a provider connection I no longer pay for? instructions: - text: Delete LLM provider {providerId}. slots: providerId: path.providerId - text: Disconnect provider connection {providerId} from Agent Studio. slots: providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/1/providers/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update an LLM provider connection effect: write questions: - How do I rotate the credentials on an existing LLM provider connection? - Can I rename a provider connection? instructions: - text: Update provider {providerId} with new settings {input}. slots: providerId: path.providerId input: requestBody.input - text: Rename provider connection {providerId} to {name}. slots: providerId: path.providerId name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/1/providers/{providerId}/models'].get update: x-apievangelist-phrasing: intent: List models offered by one provider effect: read questions: - Which models can I use through a specific provider connection? - What models does one of my connected LLM providers expose? instructions: - text: List the models available from provider {providerId}. slots: providerId: path.providerId - text: Show which models provider connection {providerId} offers. slots: providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/1/secret-keys'].get update: x-apievangelist-phrasing: intent: List Agent Studio secret keys effect: read questions: - Which secret keys have been created for my agents? - Can I page through my Agent Studio secret keys? instructions: - text: List my Agent Studio secret keys. - text: Show page {page} of secret keys, {limit} at a time. slots: page: query.page limit: query.limit method: generated generated: '2026-09-26' - target: $.paths['/1/secret-keys'].post update: x-apievangelist-phrasing: intent: Create a secret key for agents effect: write questions: - 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? instructions: - text: Create a secret key named {name}. slots: name: requestBody.name - text: Create secret key {name} limited to agents {agentIds}. slots: name: requestBody.name agentIds: requestBody.agentIds method: generated generated: '2026-09-26' - target: $.paths['/1/secret-keys/{secretKeyId}'].get update: x-apievangelist-phrasing: intent: Get one secret key's details effect: read questions: - How do I see which agents one secret key is scoped to? - What details are stored for a specific Agent Studio secret key? instructions: - text: Show secret key {secretKeyId}. slots: secretKeyId: path.secretKeyId - text: Retrieve the name and agent scope of secret key {secretKeyId}. slots: secretKeyId: path.secretKeyId method: generated generated: '2026-09-26' - target: $.paths['/1/secret-keys/{secretKeyId}'].delete update: x-apievangelist-phrasing: intent: Delete a secret key effect: destructive questions: - How do I revoke a leaked Agent Studio secret key? - Can I delete a secret key by its ID? instructions: - text: Delete secret key {secretKeyId}. slots: secretKeyId: path.secretKeyId - text: Revoke Agent Studio secret key {secretKeyId} permanently. slots: secretKeyId: path.secretKeyId method: generated generated: '2026-09-26' - target: $.paths['/1/secret-keys/{secretKeyId}'].patch update: x-apievangelist-phrasing: intent: Update a secret key's name or agent scope effect: write questions: - How do I change which agents an existing secret key can access? - Can I rename a secret key after creating it? instructions: - text: Scope secret key {secretKeyId} to agents {agentIds}. slots: secretKeyId: path.secretKeyId agentIds: requestBody.agentIds - text: Rename secret key {secretKeyId} to {name}. slots: secretKeyId: path.secretKeyId name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/1/user-data/{userToken}'].get update: x-apievangelist-phrasing: intent: Get all stored data for a user token effect: read questions: - 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? instructions: - text: Get all memories, conversations and messages for user token {userToken}. slots: userToken: path.userToken - text: Export everything Agent Studio stores about user {userToken}. slots: userToken: path.userToken method: generated generated: '2026-09-26' - target: $.paths['/1/user-data/{userToken}'].delete update: x-apievangelist-phrasing: intent: Delete all messages for a user token effect: destructive questions: - How do I permanently erase an end user's agent messages? - Does deleting a user's data also remove their conversations? instructions: - text: Permanently delete all messages for user token {userToken}. slots: userToken: path.userToken - text: Erase user {userToken}'s agent messages, leaving the conversations in place. slots: userToken: path.userToken method: generated generated: '2026-09-26' - target: $.paths['/{path}'].get update: x-apievangelist-phrasing: intent: Send a raw GET request to the Agent Studio API effect: read questions: - 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? instructions: - text: Send a raw GET request to Agent Studio path {path}. slots: path: path.path - text: Fetch Agent Studio path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/{path}'].put update: x-apievangelist-phrasing: intent: Send a raw PUT request to the Agent Studio API effect: write questions: - 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? instructions: - text: Send a raw PUT request to Agent Studio path {path}. slots: path: path.path - text: PUT to Agent Studio path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/{path}'].post update: x-apievangelist-phrasing: intent: Send a raw POST request to the Agent Studio API effect: write questions: - 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? instructions: - text: Send a raw POST request to Agent Studio path {path}. slots: path: path.path - text: POST to Agent Studio path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/{path}'].delete update: x-apievangelist-phrasing: intent: Send a raw DELETE request to the Agent Studio API effect: destructive questions: - 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? instructions: - text: Send a raw DELETE request to Agent Studio path {path}. slots: path: path.path - text: DELETE Agent Studio path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/setClientApiKey'].get update: x-apievangelist-phrasing: intent: Switch the API key the Agent Studio client uses effect: write questions: - 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? instructions: - text: Switch the Agent Studio client to authenticate with API key {apiKey}. slots: apiKey: query.apiKey - text: Use {apiKey} for all further Agent Studio API requests. slots: apiKey: query.apiKey method: generated generated: '2026-09-26'