Algolia · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for A/B Testing Abtesting V3 API
13 actions
13 updates
phrasing
extends
openapi/algolia-abtesting-v3-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 13
$.info
$.paths['/{path}'].get
$.paths['/{path}'].put
$.paths['/{path}'].post
$.paths['/{path}'].delete
$.paths['/3/abtests'].get
$.paths['/3/abtests'].post
$.paths['/3/abtests/{id}'].get
$.paths['/3/abtests/{id}'].delete
$.paths['/3/abtests/{id}/stop'].post
$.paths['/3/abtests/estimate'].post
$.paths['/3/abtests/{id}/timeseries'].get
$.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 A/B Testing Abtesting V3 API
version: 1.0.0
extends: openapi/algolia-abtesting-v3-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: 12
- target: $.paths['/{path}'].get
update:
x-apievangelist-phrasing:
intent: Send a custom GET request to the A/B Testing API
effect: read
questions:
- Can I call an A/B Testing endpoint the client library doesn't wrap yet with a raw GET?
- Is there a generic way to read from an arbitrary A/B Testing API path?
instructions:
- text: Send a raw GET request to the A/B Testing API path {path}.
slots:
path: path.path
- text: Call GET on A/B Testing 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 A/B Testing API
effect: write
questions:
- How can I send a PUT to an A/B Testing API path that has no dedicated method?
- Can I replace something at a custom A/B Testing endpoint using a raw PUT call?
instructions:
- text: Send a raw PUT request to the A/B Testing API path {path}.
slots:
path: path.path
- text: Issue a PUT to A/B Testing 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 A/B Testing API
effect: write
questions:
- What's the way to POST to a new A/B Testing endpoint before the SDK supports it?
- Can I make a raw POST call to any A/B Testing path?
instructions:
- text: Send a raw POST request to the A/B Testing API path {path}.
slots:
path: path.path
- text: POST to A/B Testing 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 A/B Testing API
effect: destructive
questions:
- How do I send a raw DELETE to an A/B Testing API path the client doesn't cover?
- Can I call DELETE on an arbitrary A/B Testing endpoint?
instructions:
- text: Send a raw DELETE request to the A/B Testing API path {path}.
slots:
path: path.path
- text: Issue a DELETE against A/B Testing endpoint {path} with query parameters {parameters}.
slots:
path: path.path
parameters: query.parameters
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests'].get
update:
x-apievangelist-phrasing:
intent: List A/B tests
effect: read
questions:
- Which A/B tests are configured on my search application?
- Can I filter my A/B tests to indices starting with a certain prefix?
instructions:
- text: List all my search A/B tests.
- text: Show the A/B tests on indices whose names start with {indexPrefix}.
slots:
indexPrefix: query.indexPrefix
- text: List up to {limit} A/B tests on indices ending in {indexSuffix}.
slots:
limit: query.limit
indexSuffix: query.indexSuffix
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests'].post
update:
x-apievangelist-phrasing:
intent: Create an A/B test
effect: write
questions:
- How do I set up an A/B test comparing two index configurations?
- What do I need to specify to launch a new search experiment, like variants, metrics and an end date?
instructions:
- text: Create an A/B test named {name} with variants {variants} tracking {metrics}, ending {endAt}.
slots:
name: requestBody.name
variants: requestBody.variants
metrics: requestBody.metrics
endAt: requestBody.endAt
- text: Start a new experiment {name} splitting traffic across {variants} until {endAt}, measuring {metrics}.
slots:
name: requestBody.name
variants: requestBody.variants
endAt: requestBody.endAt
metrics: requestBody.metrics
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve an A/B test's details and results
effect: read
questions:
- How is my A/B test performing so far?
- Where can I see the variants and status of a specific experiment?
instructions:
- text: Get the details of A/B test {id}.
slots:
id: path.id
- text: Show me the variants and current results for experiment {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an A/B test
effect: destructive
questions:
- How do I permanently remove an A/B test from my application?
- Can I delete an experiment I no longer need?
instructions:
- text: Delete A/B test {id}.
slots:
id: path.id
- text: Permanently remove experiment {id} and its record.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests/{id}/stop'].post
update:
x-apievangelist-phrasing:
intent: Stop a running A/B test
effect: destructive
questions:
- How do I end an A/B test early?
- Once I stop an A/B test, can I restart it?
instructions:
- text: Stop A/B test {id} now.
slots:
id: path.id
- text: End experiment {id} early without deleting it.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests/estimate'].post
update:
x-apievangelist-phrasing:
intent: Estimate an A/B test's sample size and duration
effect: read
questions:
- How long would an A/B test need to run to reach significance on my traffic?
- What sample size do I need for a given traffic split and expected effect?
instructions:
- text: Estimate the sample size and duration for an A/B test with variants {variants} and configuration {configuration}.
slots:
variants: requestBody.variants
configuration: requestBody.configuration
- text: Forecast how many days the experiment would take given traffic split {variants} and effect settings {configuration}.
slots:
variants: requestBody.variants
configuration: requestBody.configuration
method: generated
generated: '2026-09-26'
- target: $.paths['/3/abtests/{id}/timeseries'].get
update:
x-apievangelist-phrasing:
intent: Retrieve daily metrics for an A/B test
effect: read
questions:
- Can I see an A/B test's metrics day by day over time?
- What does the click-through trend look like for each variant of my experiment?
instructions:
- text: Get the time series for A/B test {id}.
slots:
id: path.id
- text: Show daily {metric} for experiment {id} from {startDate} to {endDate}.
slots:
metric: query.metric
id: path.id
startDate: query.startDate
endDate: query.endDate
method: generated
generated: '2026-09-26'
- target: $.paths['/setClientApiKey'].get
update:
x-apievangelist-phrasing:
intent: Switch the API key the A/B Testing client uses
effect: write
questions:
- Can I change which API key my A/B Testing client authenticates with?
- Is it possible to rotate the key used for experiment calls at runtime?
instructions:
- text: Switch the A/B Testing client to authenticate with API key {apiKey}.
slots:
apiKey: query.apiKey
- text: Use {apiKey} as the key for subsequent A/B Testing requests.
slots:
apiKey: query.apiKey
method: generated
generated: '2026-09-26'