Algolia · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Analytics API

31 actions 31 updates phrasing extends openapi/algolia-analytics-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 31 · first 16 shown; the file carries all of them

$.info
$.paths['/{path}'].get
$.paths['/{path}'].put
$.paths['/{path}'].post
$.paths['/{path}'].delete
$.paths['/2/searches'].get
$.paths['/2/searches/count'].get
$.paths['/2/searches/noResults'].get
$.paths['/2/searches/noClicks'].get
$.paths['/2/searches/noResultRate'].get
$.paths['/2/searches/noClickRate'].get
$.paths['/2/hits'].get
$.paths['/2/users/count'].get
$.paths['/2/filters'].get
$.paths['/2/filters/{attribute}'].get
$.paths['/2/filters/noResults'].get

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 Analytics API
  version: 1.0.0
extends: openapi/algolia-analytics-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: 30
- target: $.paths['/{path}'].get
  update:
    x-apievangelist-phrasing:
      intent: Send a custom GET request to the Analytics API
      effect: read
      questions:
      - Can I call an Analytics API endpoint the client library doesn't wrap yet with a raw GET?
      - Is there a generic way to read from an arbitrary Analytics API path?
      instructions:
      - text: Send a raw GET request to the Analytics API path {path}.
        slots:
          path: path.path
      - text: Call GET on Analytics 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 Analytics API
      effect: write
      questions:
      - How can I send a PUT to an Analytics API path that has no dedicated method?
      - Can I replace something at a custom Analytics endpoint using a raw PUT call?
      instructions:
      - text: Send a raw PUT request to the Analytics API path {path}.
        slots:
          path: path.path
      - text: Issue a PUT to Analytics 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 Analytics API
      effect: write
      questions:
      - What's the way to POST to a new Analytics API endpoint before the SDK supports it?
      - Can I make a raw POST call to any Analytics path?
      instructions:
      - text: Send a raw POST request to the Analytics API path {path}.
        slots:
          path: path.path
      - text: POST to Analytics 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 Analytics API
      effect: destructive
      questions:
      - How do I send a raw DELETE to an Analytics API path the client doesn't cover?
      - Can I call DELETE on an arbitrary Analytics endpoint?
      instructions:
      - text: Send a raw DELETE request to the Analytics API path {path}.
        slots:
          path: path.path
      - text: Issue a DELETE against Analytics endpoint {path} with query parameters {parameters}.
        slots:
          path: path.path
          parameters: query.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/searches'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the most popular search queries
      effect: read
      questions:
      - What are people searching for most on my site?
      - Can I rank my top searches by click-through or revenue?
      - Which queries were most popular last month on my index?
      instructions:
      - text: Show the top searches on index {index}.
        slots:
          index: query.index
      - text: List the {limit} most popular queries on {index} from {startDate} to {endDate}.
        slots:
          limit: query.limit
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      - text: Rank top searches on {index} by {orderBy} including click analytics.
        slots:
          index: query.index
          orderBy: query.orderBy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/searches/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count searches over a period
      effect: read
      questions:
      - How many searches did my index get each day this week?
      - What's the total search volume for a date range?
      instructions:
      - text: Count the searches on index {index}.
        slots:
          index: query.index
      - text: Give me the daily search count for {index} between {startDate} and {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/searches/noResults'].get
  update:
    x-apievangelist-phrasing:
      intent: List frequent searches that returned no results
      effect: read
      questions:
      - Which queries are coming back empty for my users?
      - What are shoppers searching for that I don't carry?
      instructions:
      - text: List the most frequent zero-result searches on {index}.
        slots:
          index: query.index
      - text: Show the top {limit} searches with no results on {index} since {startDate}.
        slots:
          limit: query.limit
          index: query.index
          startDate: query.startDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/searches/noClicks'].get
  update:
    x-apievangelist-phrasing:
      intent: List popular searches that got no clicks
      effect: read
      questions:
      - Which searches return results that nobody clicks?
      - Where are my search results failing to engage users?
      instructions:
      - text: List top searches without clicks on index {index}.
        slots:
          index: query.index
      - text: Show {limit} popular queries on {index} that led to no clicks between {startDate} and {endDate}.
        slots:
          limit: query.limit
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/searches/noResultRate'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the share of searches with no results
      effect: read
      questions:
      - What percentage of my searches return zero results?
      - Is my no-results rate getting better day over day?
      instructions:
      - text: Get the no-results rate for index {index}.
        slots:
          index: query.index
      - text: Show the daily zero-result rate on {index} from {startDate} to {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/searches/noClickRate'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the share of searches with no clicks
      effect: read
      questions:
      - What fraction of tracked searches end without a click?
      - How has my no-click rate trended this month?
      instructions:
      - text: Get the no-click rate for index {index}.
        slots:
          index: query.index
      - text: Show the daily no-click rate on {index} between {startDate} and {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/hits'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the most frequently returned search results
      effect: read
      questions:
      - Which records show up most often in my search results?
      - What items appear most for a particular query?
      instructions:
      - text: List the top search results (hits) on index {index}.
        slots:
          index: query.index
      - text: Show the most frequent hits on {index} for the query {search}.
        slots:
          index: query.index
          search: query.search
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/users/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count unique search users
      effect: read
      questions:
      - How many unique users searched my site this week?
      - What's the daily breakdown of distinct searchers?
      instructions:
      - text: Count unique users searching index {index}.
        slots:
          index: query.index
      - text: Show daily unique searchers on {index} from {startDate} to {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/filters'].get
  update:
    x-apievangelist-phrasing:
      intent: List the most used filter attributes
      effect: read
      questions:
      - Which facets do my users filter by most?
      - What filter attributes are most common for a specific query?
      instructions:
      - text: List the top filter attributes used on index {index}.
        slots:
          index: query.index
      - text: Show which facets people filter by most on {index} when searching {search}.
        slots:
          index: query.index
          search: query.search
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/filters/{attribute}'].get
  update:
    x-apievangelist-phrasing:
      intent: List the most used values for one filter
      effect: read
      questions:
      - Which brands or colors do users pick most when filtering?
      - What are the most popular values for a given facet?
      instructions:
      - text: Show the top filter values for attribute {attribute} on index {index}.
        slots:
          attribute: path.attribute
          index: query.index
      - text: List the {limit} most selected {attribute} values on {index}.
        slots:
          limit: query.limit
          attribute: path.attribute
          index: query.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/filters/noResults'].get
  update:
    x-apievangelist-phrasing:
      intent: List filters used in searches with no results
      effect: read
      questions:
      - Which filter combinations lead users to empty result pages?
      - Are certain facet filters causing zero-result searches?
      instructions:
      - text: List the top filters used in no-result searches on index {index}.
        slots:
          index: query.index
      - text: Show filters applied to zero-result searches for {search} on {index}.
        slots:
          search: query.search
          index: query.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/countries'].get
  update:
    x-apievangelist-phrasing:
      intent: List the countries with the most searches
      effect: read
      questions:
      - Where in the world are my searches coming from?
      - Which countries search my index the most?
      instructions:
      - text: List the top countries by searches on index {index}.
        slots:
          index: query.index
      - text: Show the {limit} countries with the most searches on {index} since {startDate}.
        slots:
          limit: query.limit
          index: query.index
          startDate: query.startDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/clicks/averageClickPosition'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the average position of clicked results
      effect: read
      questions:
      - On average, how far down the results do users click?
      - Is my average click position improving after relevance changes?
      instructions:
      - text: Get the average click position for index {index}.
        slots:
          index: query.index
      - text: Show the daily average click position on {index} from {startDate} to {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/clicks/positions'].get
  update:
    x-apievangelist-phrasing:
      intent: Get click counts by result position
      effect: read
      questions:
      - How many clicks does the first result get compared to the tenth?
      - What's the click distribution across result positions?
      instructions:
      - text: Show clicks per result position on index {index}.
        slots:
          index: query.index
      - text: Break down clicks by position for {index} between {startDate} and {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/clicks/clickThroughRate'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the search click-through rate
      effect: read
      questions:
      - What's the click-through rate on my search results?
      - Why is my CTR null instead of zero on some days?
      instructions:
      - text: Get the click-through rate for index {index}.
        slots:
          index: query.index
      - text: Show the daily CTR on {index} from {startDate} to {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/conversions/conversionRate'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the search conversion rate
      effect: read
      questions:
      - What share of tracked searches lead to a conversion?
      - How is my search conversion rate trending day by day?
      instructions:
      - text: Get the conversion rate for index {index}.
        slots:
          index: query.index
      - text: Show the daily conversion rate on {index} between {startDate} and {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/conversions/addToCartRate'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the add-to-cart rate from search
      effect: read
      questions:
      - How often do searches result in an item being added to the cart?
      - Which days had the best add-to-cart rate from search?
      instructions:
      - text: Get the add-to-cart rate for index {index}.
        slots:
          index: query.index
      - text: Show daily add-to-cart rates on {index} from {startDate} to {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/conversions/purchaseRate'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the purchase rate from search
      effect: read
      questions:
      - What percentage of searches end in a purchase?
      - Can I see the purchase rate per day for my store's search?
      instructions:
      - text: Get the purchase rate for index {index}.
        slots:
          index: query.index
      - text: Show daily purchase rates on {index} between {startDate} and {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/conversions/revenue'].get
  update:
    x-apievangelist-phrasing:
      intent: Get revenue attributed to search
      effect: read
      questions:
      - How much revenue does my search drive?
      - What's the average order value coming from search, and what do I need to send to see it?
      instructions:
      - text: Get search revenue metrics for index {index}.
        slots:
          index: query.index
      - text: Show total revenue and average order value from {index} for {startDate} to {endDate}.
        slots:
          index: query.index
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check when analytics were last updated
      effect: read
      questions:
      - How fresh is my analytics data?
      - Why is the analytics updated time null for a new index?
      instructions:
      - text: Check when analytics for index {index} were last updated.
        slots:
          index: query.index
      - text: Get the analytics update status of {index}.
        slots:
          index: query.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/3/patterns/fields'].get
  update:
    x-apievangelist-phrasing:
      intent: List the available analytics fields catalog
      effect: read
      questions:
      - Which metrics, filters and group-by fields can I use in analytics pattern queries?
      - What domain and field kind combinations are valid for the patterns endpoints?
      instructions:
      - text: Get the analytics field catalog.
      - text: List every metric, filter, group and distribution field available for pattern queries.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/3/patterns/timeseries'].post
  update:
    x-apievangelist-phrasing:
      intent: Query analytics metrics as a daily time series
      effect: read
      questions:
      - Can I chart a custom analytics metric per day, split by a grouping?
      - How do I get a per-day metric breakdown for each segment of my search traffic?
      instructions:
      - text: Get a daily time series of {metrics} with parameters {parameters}.
        slots:
          metrics: requestBody.metrics
          parameters: requestBody.parameters
      - text: Plot {metrics} over time on index {index}, one series per {groupBy}, using {parameters}.
        slots:
          metrics: requestBody.metrics
          index: query.index
          groupBy: requestBody.groupBy
          parameters: requestBody.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/3/patterns/scalar'].post
  update:
    x-apievangelist-phrasing:
      intent: Get single aggregate analytics totals
      effect: read
      questions:
      - How do I get one total number for a metric over a whole period?
      - Can I aggregate several analytics metrics into a single summary figure?
      instructions:
      - text: Compute period totals for {metrics} with parameters {parameters}.
        slots:
          metrics: requestBody.metrics
          parameters: requestBody.parameters
      - text: Give me a single aggregate of {metrics} on {index}, filtered by {filters}, using {parameters}.
        slots:
          metrics: requestBody.metrics
          index: query.index
          filters: requestBody.filters
          parameters: requestBody.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/3/patterns/table'].post
  update:
    x-apievangelist-phrasing:
      intent: Query analytics as a grouped, sorted table
      effect: read
      questions:
      - Can I build a table of analytics metrics grouped by a dimension and sorted?
      - Do I need an orderBy when grouping analytics rows?
      instructions:
      - text: Build a table of {metrics} grouped by {groupBy}, ordered by {orderBy}, with {parameters}.
        slots:
          metrics: requestBody.metrics
          groupBy: requestBody.groupBy
          orderBy: requestBody.orderBy
          parameters: requestBody.parameters
      - text: Return up to {limit} rows of {metrics} for index {index} using {parameters}.
        slots:
          limit: requestBody.limit
          metrics: requestBody.metrics
          index: query.index
          parameters: requestBody.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/3/patterns/distribution'].post
  update:
    x-apievangelist-phrasing:
      intent: Get histograms of numeric analytics fields
      effect: read
      questions:
      - How are values like hit counts distributed across my searches?
      - Can I bucket a numeric analytics field into a histogram?
      instructions:
      - text: Build histograms for {distributions} with parameters {parameters}.
        slots:
          distributions: requestBody.distributions
          parameters: requestBody.parameters
      - text: Bucket {distributions} into bins on index {index}, filtered by {filters}, using {parameters}.
        slots:
          distributions: requestBody.distributions
          index: query.index
          filters: requestBody.filters
          parameters: requestBody.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/setClientApiKey'].get
  update:
    x-apievangelist-phrasing:
      intent: Switch the API key the Analytics client uses
      effect: write
      questions:
      - Can I change which API key my Analytics client authenticates with?
      - Is it possible to rotate the key used for analytics reporting calls at runtime?
      instructions:
      - text: Switch the Analytics client to authenticate with API key {apiKey}.
        slots:
          apiKey: query.apiKey
      - text: Use {apiKey} as the key for subsequent Analytics requests.
        slots:
          apiKey: query.apiKey
      method: generated
      generated: '2026-09-26'