Algolia · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Agent Studio API
43 actions
43 updates
phrasing
extends
openapi/algolia-agent-studio-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Algolia's API. It is a proposal applied on top of the contract, not a document Algolia publishes.
What the actions change
x-apievangelist-phrasing
Targets 43 · first 16 shown; the file carries all of them
$.info
$.paths['/1/agents'].get
$.paths['/1/agents'].post
$.paths['/1/agents/{agentId}'].get
$.paths['/1/agents/{agentId}'].delete
$.paths['/1/agents/{agentId}'].patch
$.paths['/1/agents/{agentId}/allowed-domains'].get
$.paths['/1/agents/{agentId}/allowed-domains'].post
$.paths['/1/agents/{agentId}/allowed-domains/bulk'].post
$.paths['/1/agents/{agentId}/allowed-domains/bulk'].delete
$.paths['/1/agents/{agentId}/allowed-domains/{domainId}'].get
$.paths['/1/agents/{agentId}/allowed-domains/{domainId}'].delete
$.paths['/1/agents/{agentId}/cache'].delete
$.paths['/1/agents/{agentId}/completions'].post
$.paths['/1/agents/{agentId}/conversations'].get
$.paths['/1/agents/{agentId}/conversations'].delete
OpenAPI Overlay
# 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'