Algolia · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Recommend API
12 actions
12 updates
phrasing
extends
openapi/algolia-recommend-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 12
$.info
$.paths['/{path}'].get
$.paths['/{path}'].put
$.paths['/{path}'].post
$.paths['/{path}'].delete
$.paths['/1/indexes/*/recommendations'].post
$.paths['/1/indexes/{indexName}/{model}/recommend/rules/{objectID}'].get
$.paths['/1/indexes/{indexName}/{model}/recommend/rules/{objectID}'].delete
$.paths['/1/indexes/{indexName}/{model}/task/{taskID}'].get
$.paths['/1/indexes/{indexName}/{model}/recommend/rules/search'].post
$.paths['/1/indexes/{indexName}/{model}/recommend/rules/batch'].post
$.paths['/setClientApiKey'].get
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 Recommend API
version: 1.0.0
extends: openapi/algolia-recommend-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: 11
- target: $.paths['/{path}'].get
update:
x-apievangelist-phrasing:
intent: Send a custom GET request to the Recommend API
effect: read
questions:
- Can I call a Recommend API endpoint the client library doesn't wrap yet with a raw GET?
- Is there a generic way to read from an arbitrary Recommend API path?
instructions:
- text: Send a raw GET request to the Recommend API path {path}.
slots:
path: path.path
- text: Call GET on Recommend endpoint {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 custom PUT request to the Recommend API
effect: write
questions:
- How can I send a PUT to a Recommend API path that has no dedicated method?
- Can I replace something at a custom Recommend endpoint using a raw PUT call?
instructions:
- text: Send a raw PUT request to the Recommend API path {path}.
slots:
path: path.path
- text: Issue a PUT to Recommend endpoint {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 custom POST request to the Recommend API
effect: write
questions:
- What's the way to POST to a new Recommend API endpoint before the SDK supports it?
- Can I make a raw POST call to any Recommend path?
instructions:
- text: Send a raw POST request to the Recommend API path {path}.
slots:
path: path.path
- text: POST to Recommend endpoint {path} passing 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 custom DELETE request to the Recommend API
effect: destructive
questions:
- How do I send a raw DELETE to a Recommend API path the client doesn't cover?
- Can I call DELETE on an arbitrary Recommend endpoint?
instructions:
- text: Send a raw DELETE request to the Recommend API path {path}.
slots:
path: path.path
- text: Issue a DELETE against Recommend endpoint {path} with query parameters {parameters}.
slots:
path: path.path
parameters: query.parameters
method: generated
generated: '2026-09-26'
- target: $.paths['/1/indexes/*/recommendations'].post
update:
x-apievangelist-phrasing:
intent: Get product recommendations from AI models
effect: read
questions:
- How do I get 'frequently bought together' or related-product recommendations for an item?
- Can I request recommendations from several models in a single call?
- What recommendations does Algolia's AI suggest for this product?
instructions:
- text: 'Fetch recommendations for these model requests: {requests}.'
slots:
requests: requestBody.requests
- text: Get related products and trending items using the recommendation requests {requests}.
slots:
requests: requestBody.requests
method: generated
generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{model}/recommend/rules/{objectID}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a Recommend rule
effect: read
questions:
- How can I look up one Recommend rule I set up in the dashboard?
- What does a specific rule on my recommendation scenario contain?
instructions:
- text: Get Recommend rule {objectID} for model {model} on index {indexName}.
slots:
objectID: path.objectID
model: path.model
indexName: path.indexName
- text: Show me the details of recommendation rule {objectID} in {indexName}'s {model} scenario.
slots:
objectID: path.objectID
indexName: path.indexName
model: path.model
method: generated
generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{model}/recommend/rules/{objectID}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Recommend rule
effect: destructive
questions:
- How do I remove a rule from a recommendation scenario?
- Is deleting a Recommend rule immediate or does it run as a task?
instructions:
- text: Delete Recommend rule {objectID} from model {model} on index {indexName}.
slots:
objectID: path.objectID
model: path.model
indexName: path.indexName
- text: Remove recommendation rule {objectID} from the {model} scenario of {indexName}.
slots:
objectID: path.objectID
model: path.model
indexName: path.indexName
method: generated
generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{model}/task/{taskID}'].get
update:
x-apievangelist-phrasing:
intent: Check the status of a Recommend task
effect: read
questions:
- How can I tell whether my Recommend rule deletion has finished?
- Is a Recommend task still pending or already published?
instructions:
- text: Check the status of Recommend task {taskID} for model {model} on {indexName}.
slots:
taskID: path.taskID
model: path.model
indexName: path.indexName
- text: Tell me if recommendation task {taskID} on index {indexName} ({model}) is done.
slots:
taskID: path.taskID
indexName: path.indexName
model: path.model
method: generated
generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{model}/recommend/rules/search'].post
update:
x-apievangelist-phrasing:
intent: Search Recommend rules for a scenario
effect: read
questions:
- How do I list all the rules on a recommendation scenario?
- Can I search Recommend rules by text and only show enabled ones?
instructions:
- text: List every Recommend rule for model {model} on index {indexName}.
slots:
model: path.model
indexName: path.indexName
- text: Search {indexName}'s {model} recommendation rules for {query}.
slots:
indexName: path.indexName
model: path.model
query: requestBody.query
- text: Find only enabled Recommend rules in {indexName} for {model}.
slots:
indexName: path.indexName
model: path.model
method: generated
generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{model}/recommend/rules/batch'].post
update:
x-apievangelist-phrasing:
intent: Create or update Recommend rules in bulk
effect: write
questions:
- How can I create or update many Recommend rules in one request?
- Can I atomically replace all existing rules on a recommendation scenario?
instructions:
- text: Upload a batch of Recommend rules to model {model} on index {indexName}.
slots:
model: path.model
indexName: path.indexName
- text: Create or update several recommendation rules at once for {indexName}'s {model} scenario.
slots:
indexName: path.indexName
model: path.model
method: generated
generated: '2026-09-26'
- target: $.paths['/setClientApiKey'].get
update:
x-apievangelist-phrasing:
intent: Switch the API key the Recommend client uses
effect: write
questions:
- Can I change which API key my Recommend client authenticates with without recreating it?
- Is it possible to rotate the key used for recommendation calls at runtime?
instructions:
- text: Switch the Recommend client to authenticate with API key {apiKey}.
slots:
apiKey: query.apiKey
- text: Use {apiKey} as the key for subsequent Recommend requests.
slots:
apiKey: query.apiKey
method: generated
generated: '2026-09-26'