openapi: 3.0.2 externalDocs: url: https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing description: A/B testing. info: title: A/B Testing API summary: The Algolia A/B Testing API lets you manage your Algolia A/B tests to optimize your search experience description: | ## Base URLs Base URLs for the A/B testing API: - `https://analytics.us.algolia.com` - `https://analytics.de.algolia.com` - `https://analytics.algolia.com` (alias of `analytics.us.algolia.com`) Use the URL that matches your [analytics region](https://dashboard.algolia.com/account/infrastructure/analytics). **All requests must use HTTPS.** ## Availability and authentication Access to the A/B testing API is available as part of the [Premium or Elevate plans](https://www.algolia.com/pricing). Add these headers to authenticate requests: - `x-algolia-application-id`. Your Algolia application ID. - `x-algolia-api-key`. An API key with the necessary permissions to make the request. The required access control list (ACL) to make a request is listed in each endpoint's reference. You can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account/api-keys). ## Rate limits You can make up to **100 requests per minute per app** to the A/B testing API. The response includes headers with information about the limits. ## Parameters Query parameters must be [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). Non-ASCII characters must be UTF-8 encoded. Plus characters (`+`) are interpreted as spaces. ## Response status and errors The A/B testing API returns JSON responses. Since JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response. Successful responses return `2xx` statuses. Client errors return `4xx` statuses. Server errors return `5xx` statuses. Error responses have a `message` property with more information. ## Version The current version of the A/B Testing API is version 2, indicated by the `/2/` in each endpoint's URL. version: 2.0.0 components: securitySchemes: appId: $ref: '../common/securitySchemes.yml#/appId' apiKey: $ref: '../common/securitySchemes.yml#/apiKey' servers: - url: https://analytics.{region}.algolia.com variables: region: description: The region where your Algolia application is hosted. enum: - us - de default: us - url: https://analytics.algolia.com security: - appId: [] apiKey: [] tags: - name: abtest x-displayName: A/B testing description: | Manage A/B tests. A/B tests are configurations one or more indices, usually your production index and an index with different settings that you want to test. x-tagGroups: - name: General tags: - abtest paths: # ###################### # ### Custom request ### # ###################### /{path}: $ref: '../common/paths/customRequest.yml' /2/abtests: $ref: 'paths/abtests.yml' /2/abtests/{id}: $ref: 'paths/abtest.yml' /2/abtests/{id}/stop: $ref: 'paths/stopABTest.yml' /2/abtests/estimate: $ref: 'paths/estimate.yml' # ############### # ### Helpers ### # ############### /setClientApiKey: $ref: '../common/helpers/setClientApiKey.yml#/method'