Algolia · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Search API

79 actions 79 updates phrasing extends openapi/algolia-search-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 79 · first 16 shown; the file carries all of them

$.info
$.paths['/{path}'].get
$.paths['/{path}'].put
$.paths['/{path}'].post
$.paths['/{path}'].delete
$.paths['/1/indexes/{indexName}/query'].post
$.paths['/1/indexes/*/queries'].post
$.paths['/1/indexes/{indexName}/facets/{facetName}/query'].post
$.paths['/1/indexes/{indexName}/browse'].post
$.paths['/1/indexes/{indexName}'].post
$.paths['/1/indexes/{indexName}'].delete
$.paths['/1/indexes/{indexName}/{objectID}'].get
$.paths['/1/indexes/{indexName}/{objectID}'].put
$.paths['/1/indexes/{indexName}/{objectID}'].delete
$.paths['/1/indexes/{indexName}/deleteByQuery'].post
$.paths['/1/indexes/{indexName}/clear'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Search API
  version: 1.0.0
extends: openapi/algolia-search-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: 78
- target: $.paths['/{path}'].get
  update:
    x-apievangelist-phrasing:
      intent: Send a custom GET request to the Search API
      effect: read
      questions:
      - Can I call a Search API endpoint the client library doesn't wrap yet with a raw GET?
      - Is there a generic way to read from an arbitrary Search API path?
      instructions:
      - text: Send a raw GET request to the Search API path {path}.
        slots:
          path: path.path
      - text: Call GET on Search 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 Search API
      effect: write
      questions:
      - How can I send a PUT to a Search API path that has no dedicated method?
      - Can I replace something at a custom Search endpoint using a raw PUT call?
      instructions:
      - text: Send a raw PUT request to the Search API path {path}.
        slots:
          path: path.path
      - text: Issue a PUT to Search 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 Search API
      effect: write
      questions:
      - What's the way to POST to a new Search API endpoint before the SDK supports it?
      - Can I make a raw POST call to any Search path?
      instructions:
      - text: Send a raw POST request to the Search API path {path}.
        slots:
          path: path.path
      - text: POST to Search 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 Search API
      effect: destructive
      questions:
      - How do I send a raw DELETE to a Search API path the client doesn't cover?
      - Can I call DELETE on an arbitrary Search endpoint?
      instructions:
      - text: Send a raw DELETE request to the Search API path {path}.
        slots:
          path: path.path
      - text: Issue a DELETE against Search endpoint {path} with query parameters {parameters}.
        slots:
          path: path.path
          parameters: query.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/query'].post
  update:
    x-apievangelist-phrasing:
      intent: Search one index
      effect: read
      questions:
      - How do I run a search query against my products index?
      - What's the maximum number of hits a single search can return?
      instructions:
      - text: Search the index {indexName}.
        slots:
          indexName: path.indexName
      - text: Run a query against just the {indexName} index and return the matching hits.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/*/queries'].post
  update:
    x-apievangelist-phrasing:
      intent: Run several search queries in one request
      effect: read
      questions:
      - Can I search my products and my articles indices in a single API call?
      - Is it possible to stop running the remaining queries once one returns enough hits?
      instructions:
      - text: 'Run these search queries together in one request: {requests}.'
        slots:
          requests: requestBody.requests
      - text: Execute multi-index queries {requests} using strategy {strategy}.
        slots:
          requests: requestBody.requests
          strategy: requestBody.strategy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/facets/{facetName}/query'].post
  update:
    x-apievangelist-phrasing:
      intent: Search the values of a facet
      effect: read
      questions:
      - How can I let users search within a long list of brand filter values?
      - Why doesn't facet value search work when I have many searchable facets?
      instructions:
      - text: Search the values of facet {facetName} in index {indexName} for {facetQuery}.
        slots:
          facetName: path.facetName
          indexName: path.indexName
          facetQuery: requestBody.facetQuery
      - text: Return up to {maxFacetHits} {facetName} values from {indexName}.
        slots:
          maxFacetHits: requestBody.maxFacetHits
          facetName: path.facetName
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/browse'].post
  update:
    x-apievangelist-phrasing:
      intent: Browse records in an index page by page
      effect: read
      questions:
      - What's the difference between browsing and searching when I want raw matching records?
      - How can I page through more than 1,000 records in one index using a cursor?
      instructions:
      - text: Browse the records in index {indexName}.
        slots:
          indexName: path.indexName
      - text: Fetch the next page of up to 1,000 records from {indexName} with the browse endpoint.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a record with an auto-generated ID
      effect: write
      questions:
      - How do I add a new record to an index and let Algolia generate its ID?
      - Does adding a record create the index if it doesn't exist?
      instructions:
      - text: Add a new record to index {indexName} with an auto-generated object ID.
        slots:
          indexName: path.indexName
      - text: Insert this record into {indexName} and return its new objectID.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an index
      effect: destructive
      questions:
      - How do I delete an entire index along with its settings?
      - What happens to replica indices and analytics when I delete an index?
      instructions:
      - text: Delete the index {indexName}.
        slots:
          indexName: path.indexName
      - text: Permanently remove index {indexName} and all its settings.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{objectID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve one record by its ID
      effect: read
      questions:
      - How can I fetch a single record if I know its object ID?
      - Can I only return certain attributes when retrieving a record?
      instructions:
      - text: Get record {objectID} from index {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Retrieve only {attributesToRetrieve} of record {objectID} in {indexName}.
        slots:
          attributesToRetrieve: query.attributesToRetrieve
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{objectID}'].put
  update:
    x-apievangelist-phrasing:
      intent: Add or replace a record by its ID
      effect: write
      questions:
      - How do I overwrite a record completely when I know its object ID?
      - Will saving a record with an existing ID replace the whole thing?
      instructions:
      - text: Replace record {objectID} in index {indexName} with this content.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Create or fully overwrite the record with ID {objectID} in {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{objectID}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one record
      effect: destructive
      questions:
      - How do I remove a single record from my index by ID?
      - Can I delete one product from search without touching the rest?
      instructions:
      - text: Delete record {objectID} from index {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Remove the single object {objectID} from {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/deleteByQuery'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete records matching a filter
      effect: destructive
      questions:
      - Can I delete all records that match a filter, like everything out of stock?
      - Why is deleting by query discouraged, and does it accept an empty filter?
      instructions:
      - text: Delete every record in {indexName} matching filter {filters}.
        slots:
          indexName: path.indexName
          filters: requestBody.filters
      - text: Remove records from {indexName} whose facets match {facetFilters}.
        slots:
          indexName: path.indexName
          facetFilters: requestBody.facetFilters
      - text: Delete records in {indexName} located within {aroundRadius} meters of {aroundLatLng}.
        slots:
          indexName: path.indexName
          aroundRadius: requestBody.aroundRadius
          aroundLatLng: requestBody.aroundLatLng
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/clear'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete all records but keep index settings
      effect: destructive
      questions:
      - How do I empty an index but keep its settings, synonyms and rules?
      - Can I wipe every record from an index without deleting the index itself?
      instructions:
      - text: Clear all records from index {indexName}.
        slots:
          indexName: path.indexName
      - text: Empty {indexName} of records while keeping its settings, synonyms and rules.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/{objectID}/partial'].post
  update:
    x-apievangelist-phrasing:
      intent: Update some attributes of one record
      effect: write
      questions:
      - How can I change just the price of one record without resending the whole thing?
      - Can a partial update create the record if it doesn't exist yet?
      instructions:
      - text: Update only the given attributes of record {objectID} in {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: 'Partially update record {objectID} in {indexName}, creating it if missing: {createIfNotExists}.'
        slots:
          objectID: path.objectID
          indexName: path.indexName
          createIfNotExists: query.createIfNotExists
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Batch add, update or delete records in one index
      effect: write
      questions:
      - How can I send many record additions and deletions to a single index in one request?
      - Are batch actions applied in the order I list them?
      instructions:
      - text: 'Apply these batch actions to index {indexName}: {requests}.'
        slots:
          indexName: path.indexName
          requests: requestBody.requests
      - text: Send one batch of adds, updates and deletes {requests} to {indexName}.
        slots:
          requests: requestBody.requests
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/*/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Batch record changes across multiple indices
      effect: write
      questions:
      - Can one request update records in several different indices at once?
      - Is there a single call to write to my products and categories indices together?
      instructions:
      - text: 'Run these cross-index batch actions: {requests}.'
        slots:
          requests: requestBody.requests
      - text: Apply record changes {requests} spanning several indices in a single request.
        slots:
          requests: requestBody.requests
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/*/objects'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve several records, across indices
      effect: read
      questions:
      - How do I fetch several records by ID, possibly from different indices, in one call?
      - Are records returned in the same order I requested them?
      instructions:
      - text: 'Retrieve these records by object ID: {requests}.'
        slots:
          requests: requestBody.requests
      - text: Fetch multiple records from different indices in one call using {requests}.
        slots:
          requests: requestBody.requests
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/settings'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve an index's settings
      effect: read
      questions:
      - What searchable attributes and ranking does my index currently use?
      - How can I read the current configuration of an index?
      instructions:
      - text: Get the settings of index {indexName}.
        slots:
          indexName: path.indexName
      - text: Show me the current ranking and relevance configuration of {indexName}.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/settings'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an index's settings
      effect: write
      questions:
      - How do I change which attributes are searchable and in what order?
      - Can I push settings changes to replica indices too?
      - How do I reset a setting back to its default value?
      instructions:
      - text: Set the searchable attributes of {indexName} to {searchableAttributes}.
        slots:
          indexName: path.indexName
          searchableAttributes: requestBody.searchableAttributes
      - text: Make {attributesForFaceting} filterable facets on index {indexName}.
        slots:
          attributesForFaceting: requestBody.attributesForFaceting
          indexName: path.indexName
      - text: Update custom ranking on {indexName} to {customRanking} and forward it to replicas.
        slots:
          indexName: path.indexName
          customRanking: requestBody.customRanking
      - text: Set {hitsPerPage} hits per page and typo tolerance {typoTolerance} on {indexName}.
        slots:
          hitsPerPage: requestBody.hitsPerPage
          typoTolerance: requestBody.typoTolerance
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/synonyms/{objectID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a synonym
      effect: read
      questions:
      - How do I look up one synonym definition by its ID?
      - What words does a particular synonym entry map together?
      instructions:
      - text: Get synonym {objectID} from index {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Show the definition of synonym {objectID} in {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/synonyms/{objectID}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a synonym
      effect: write
      questions:
      - How do I make 'tee' and 't-shirt' match each other in search?
      - Can I add a one-way synonym or an alternative correction?
      instructions:
      - text: Save synonym {objectID} in {indexName} as type {type} linking {synonyms}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
          type: requestBody.type
          synonyms: requestBody.synonyms
      - text: Create a one-way synonym {objectID} on {indexName} from {input} to {synonyms}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
          input: requestBody.input
          synonyms: requestBody.synonyms
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/synonyms/{objectID}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a synonym
      effect: destructive
      questions:
      - How do I remove a single synonym from an index?
      - Can I delete a synonym and have replicas drop it too?
      instructions:
      - text: Delete synonym {objectID} from index {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Remove synonym {objectID} from {indexName} and its replicas.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/synonyms/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or replace many synonyms at once
      effect: write
      questions:
      - Can I upload a whole list of synonyms in one request?
      - Is it possible to replace all existing synonyms with a new set?
      instructions:
      - text: Upload a batch of synonyms to index {indexName}.
        slots:
          indexName: path.indexName
      - text: Replace every existing synonym in {indexName} with this new batch.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/synonyms/clear'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete all synonyms from an index
      effect: destructive
      questions:
      - How do I wipe out all synonyms on an index?
      - Can I clear synonyms on the primary and its replicas together?
      instructions:
      - text: Delete all synonyms from index {indexName}.
        slots:
          indexName: path.indexName
      - text: Clear every synonym in {indexName}.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/synonyms/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search an index's synonyms
      effect: read
      questions:
      - Which synonyms are defined on my index?
      - Can I find synonyms of a certain type that mention a word?
      instructions:
      - text: List the synonyms on index {indexName}.
        slots:
          indexName: path.indexName
      - text: Search {indexName}'s synonyms for {query} of type {type}.
        slots:
          indexName: path.indexName
          query: requestBody.query
          type: requestBody.type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/keys'].get
  update:
    x-apievangelist-phrasing:
      intent: List API keys
      effect: read
      questions:
      - Which API keys exist for my Algolia application?
      - What permissions do each of my API keys have?
      instructions:
      - text: List all API keys for this application.
      - text: Show every API key with its permissions and restrictions.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/keys'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an API key
      effect: write
      questions:
      - How do I create a search-only key restricted to certain indices?
      - Can I limit a new key's queries per IP per hour or give it an expiry?
      instructions:
      - text: Create an API key with permissions {acl}.
        slots:
          acl: requestBody.acl
      - text: Create a key with ACL {acl} limited to indices {indexes}, described as {description}.
        slots:
          acl: requestBody.acl
          indexes: requestBody.indexes
          description: requestBody.description
      - text: Make a key with {acl} valid for {validity} seconds and at most {maxQueriesPerIPPerHour} queries per IP hourly.
        slots:
          acl: requestBody.acl
          validity: requestBody.validity
          maxQueriesPerIPPerHour: requestBody.maxQueriesPerIPPerHour
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/keys/{key}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve an API key's permissions
      effect: read
      questions:
      - What can a particular API key do, and which indices can it access?
      - Can a non-admin key look up its own restrictions?
      instructions:
      - text: Get the permissions of API key {key}.
        slots:
          key: path.key
      - text: Show the restrictions and ACL on key {key}.
        slots:
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/keys/{key}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an API key's permissions
      effect: write
      questions:
      - How do I change the permissions on an existing API key?
      - Do attributes I leave out when updating a key get reset?
      instructions:
      - text: Update API key {key} to have permissions {acl}.
        slots:
          key: path.key
          acl: requestBody.acl
      - text: Change key {key} to ACL {acl} restricted to indices {indexes}.
        slots:
          key: path.key
          acl: requestBody.acl
          indexes: requestBody.indexes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/keys/{key}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an API key
      effect: destructive
      questions:
      - How do I revoke an API key that leaked?
      - Can I delete a key I no longer use?
      instructions:
      - text: Delete API key {key}.
        slots:
          key: path.key
      - text: Revoke the key {key} so it stops working.
        slots:
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/keys/{key}/restore'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a deleted API key
      effect: write
      questions:
      - Can I bring back an API key I deleted by mistake?
      - What happens to a restored key's validity, and are old deleted keys always recoverable?
      instructions:
      - text: Restore the deleted API key {key}.
        slots:
          key: path.key
      - text: Undo the deletion of key {key}.
        slots:
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/rules/{objectID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a search rule
      effect: read
      questions:
      - How do I look up one merchandising rule by its ID?
      - What conditions and consequences does a given rule have?
      instructions:
      - text: Get rule {objectID} from index {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Show the conditions and consequence of search rule {objectID} in {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/rules/{objectID}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a search rule
      effect: write
      questions:
      - How do I pin a product to the top when someone searches a specific term?
      - Can I create a rule that's only active during a date range?
      instructions:
      - text: Save rule {objectID} on {indexName} with consequence {consequence}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
          consequence: requestBody.consequence
      - text: Create rule {objectID} on {indexName} that applies {consequence} when {conditions}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
          consequence: requestBody.consequence
          conditions: requestBody.conditions
      - text: Add rule {objectID} to {indexName} active only during {validity}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
          validity: requestBody.validity
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/rules/{objectID}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a search rule
      effect: destructive
      questions:
      - How can I remove one merchandising rule?
      - Can I delete a rule from an index and its replicas together?
      instructions:
      - text: Delete rule {objectID} from index {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      - text: Remove the search rule {objectID} from {indexName}.
        slots:
          objectID: path.objectID
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/rules/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update many rules at once
      effect: write
      questions:
      - Can I upload a batch of search rules in a single request?
      - Is there a way to replace all existing rules with a new set?
      instructions:
      - text: Upload a batch of rules to index {indexName}.
        slots:
          indexName: path.indexName
      - text: Replace all existing rules on {indexName} with this new batch.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/rules/clear'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete all rules from an index
      effect: destructive
      questions:
      - How do I remove every rule on an index at once?
      - Can I wipe all merchandising rules and start over?
      instructions:
      - text: Delete all rules from index {indexName}.
        slots:
          indexName: path.indexName
      - text: Clear every search rule in {indexName}.
        slots:
          indexName: path.indexName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/indexes/{indexName}/rules/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search an index's rules
      effect: read
      questions:
      - Which rules are set up on my index?
      - Can I find only the enabled rules that match a query?
      instructions:
      - text: List the rules on index {indexName}.
        slots:
          indexName: path.indexName
      - text: Search {indexName}'s rules for {query}.
        slots:
          indexName: path.indexName
          query: requestBody.query
      - text: Find rules in {indexName} with context {context}.
        slots:
          indexName: path.indexName
          context: requestBody.context
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/dictionaries/{dictionaryName}/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Add or delete dictionary entries
      effect: write
      questions:
      - How do I add custom stop words or plurals to Algolia's dictionaries?
      - Can I clear existing custom dictionary entries while adding new ones?
      instructions:
      - text: 'Apply these entry changes to the {dictionaryName} dictionary: {requests}.'
        slots:
          dictionaryName: path.dictionaryName
          requests: requestBody.requests
      - text: Replace all custom entries in {dictionaryName} with {requests}.
        slots:
          dictionaryName: path.dictionaryName
          requests: requestBody.requests
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/dictionaries/{dictionaryName}/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search dictionary entries
      effect: read
      questions:
      - Is a given word already in the stop word dictionary?
      - Can I look up custom and standard plural entries for a language?
      instructions:
      - text: Search the {dictionaryName} dictionary for {query}.
        slots:
          dictionaryName: path.dictionaryName
          query: requestBody.query
      - text: Find {language} entries matching {query} in {dictionaryName}.
        slots:
          language: requestBody.language
          query: requestBody.query
          dictionaryName: path.dictionaryName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/dictionaries/*/settings'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve dictionary settings
      effect: read
      questions:
      - For which languages have I turned off the standard stop words?
      - What are my current dictionary settings?
      instructions:
      - text: Get my dictionary settings.
      - text: Show which languages have standard dictionary entries disabled.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/dictionaries/*/settings'].put
  update:
    x-apievangelist-phrasing:
      intent: Turn standard stop words on or off by language
      effect: write
      questions:
      - How do I disable Algolia's built-in stop words for French?
      - Can I re-enable standard dictionary entries for a language?
      instructions:
      - text: Set standard dictionary entries to {disableStandardEntries}.
        slots:
          disableStandardEntries: requestBody.disableStandardEntries
      - text: Turn off standard stop words for the languages in {disableStandardEntries}.
        slots:
          disableStandardEntries: requestBody.disableStandardEntries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/dictionaries/*/languages'].get
  update:
    x-apievangelist-phrasing:
      intent: List languages supported by dictionaries
      effect: read
      questions:
      - Which languages support plurals, segmentation or stop word dictionaries?
      - How many custom dictionary entries do I have per language?
      instructions:
      - text: List the supported dictionary languages.
      - text: Show each language with its dictionary types and custom entry count.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1/clusters/mapping'].get
  update:
    x-apievangelist-phrasing:
      intent: List user IDs in a multi-cluster app
      effect: read
      questions:
      - Which user IDs are assigned to my clusters?
      - Can I page through the user-to-cluster mapping?
      instructions:
      - text: List the user IDs mapped to clusters.
      - text: Show page {page} of user ID assignments with {hitsPerPage} per page.
        slots:
          page: query.page
          hitsPerPage: query.hitsPerPage
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/overlays/algolia-search-api-phrasing-overlay.yaml