Automattic Experiments API
The experiments API from Automattic — 29 operation(s) for experiments.
The experiments API from Automattic — 29 operation(s) for experiments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/automattic-experiments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: WordPress.com REST API — wpcom/v2 namespace Experiments API
version: v2
description: Derived by API Evangelist from the WordPress.com REST API route index published at https://public-api.wordpress.com/wpcom/v2/. Paths, HTTP methods, and parameter names/types/descriptions/defaults are taken verbatim from that index. Response schemas are not published in the route index, so successful responses are described but not schematised; the error envelope was observed live on public-api.wordpress.com.
contact:
name: Automattic
url: https://developer.wordpress.com/docs/api/
x-derived-from: https://public-api.wordpress.com/wpcom/v2/
x-derived-by: API Evangelist enrichment pipeline
servers:
- url: https://public-api.wordpress.com
security:
- bearerAuth: []
tags:
- name: experiments
paths:
/wpcom/v2/experiments/0.1.0/analyses/{experiment_id}:
get:
operationId: getWpcomV2Experiments010AnalysesbyExperimentId
summary: GET /wpcom/v2/experiments/0.1.0/analyses/{experiment_id}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
- name: metric_assignment_id
in: query
required: false
schema:
type: integer
/wpcom/v2/experiments/0.1.0/analyses/{experiment_id}/latest:
get:
operationId: getWpcomV2Experiments010AnalysesbyExperimentIdLatest
summary: GET /wpcom/v2/experiments/0.1.0/analyses/{experiment_id}/latest
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
- name: metric_assignment_id
in: query
required: false
schema:
type: integer
/wpcom/v2/experiments/0.1.0/assignments:
patch:
operationId: patchWpcomV2Experiments010Assignments
summary: PATCH /wpcom/v2/experiments/0.1.0/assignments
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
anon_id:
type: string
username_override:
type: string
variations:
type: object
required:
- variations
/wpcom/v2/experiments/0.1.0/assignments/log:
post:
operationId: postWpcomV2Experiments010AssignmentsLog
summary: POST /wpcom/v2/experiments/0.1.0/assignments/log
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
flag_key:
type: string
experiment_id:
type: integer
experiment_variation_id:
type: integer
hash_attribute:
type: string
enum:
- anon_id
- wpcom_user_id
- dayone_user_id
- pocketcasts_user_id
hash_value:
type: string
required:
- flag_key
- experiment_id
- experiment_variation_id
- hash_attribute
- hash_value
/wpcom/v2/experiments/0.1.0/assignments/{platform}:
get:
operationId: getWpcomV2Experiments010AssignmentsbyPlatform
summary: GET /wpcom/v2/experiments/0.1.0/assignments/{platform}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: platform
in: path
required: true
schema:
type: string
- name: anon_id
in: query
required: false
schema:
type: string
- name: experiment_names
in: query
required: false
schema:
type: string
/wpcom/v2/experiments/0.1.0/autocomplete/events:
get:
operationId: getWpcomV2Experiments010AutocompleteEvents
summary: GET /wpcom/v2/experiments/0.1.0/autocomplete/events
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/experiments/0.1.0/autocomplete/events/{name}:
get:
operationId: getWpcomV2Experiments010AutocompleteEventsbyName
summary: GET /wpcom/v2/experiments/0.1.0/autocomplete/events/{name}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: name
in: path
required: true
schema:
type: string
/wpcom/v2/experiments/0.1.0/autocomplete/products:
get:
operationId: getWpcomV2Experiments010AutocompleteProducts
summary: GET /wpcom/v2/experiments/0.1.0/autocomplete/products
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/experiments/0.1.0/autocomplete/transaction-types:
get:
operationId: getWpcomV2Experiments010AutocompleteTransactionTypes
summary: GET /wpcom/v2/experiments/0.1.0/autocomplete/transaction-types
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/experiments/0.1.0/autocomplete/users:
get:
operationId: getWpcomV2Experiments010AutocompleteUsers
summary: GET /wpcom/v2/experiments/0.1.0/autocomplete/users
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/experiments/0.1.0/experiments:
get:
operationId: getWpcomV2Experiments010Experiments
summary: GET /wpcom/v2/experiments/0.1.0/experiments
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: include_analyses
in: query
required: false
schema:
type: string
post:
operationId: postWpcomV2Experiments010Experiments
summary: POST /wpcom/v2/experiments/0.1.0/experiments
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
start_datetime:
type: string
format: date-time
end_datetime:
type: string
format: date-time
platform:
type: string
enum:
- akismet
- calypso
- dayone
- dsp
- email
- jetpack
- lohp
- mlsales
- pipe
- pocketcasts
- tumblr
- wccom
- woocommerce
- woocommerceandroid
- woocommerceios
- wpandroid
- wpcom
- wpios
owner_login:
type: string
description:
type: string
existing_users_allowed:
type: boolean
p2_url:
type: string
format: uri
eligibility:
type: object
exposure_events:
type: array
items:
type: object
variations:
type: array
items:
type: object
metric_assignments:
type: array
items:
type: object
segment_assignments:
type: array
items:
type: object
exclusion_group_tag_ids:
type: array
items:
type: integer
apply_guardrails:
type: boolean
default: false
required:
- name
- platform
- owner_login
- description
- existing_users_allowed
- variations
- metric_assignments
- segment_assignments
- exclusion_group_tag_ids
/wpcom/v2/experiments/0.1.0/experiments/guardrails/{platform}:
get:
operationId: getWpcomV2Experiments010ExperimentsGuardrailsbyPlatform
summary: GET /wpcom/v2/experiments/0.1.0/experiments/guardrails/{platform}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: platform
in: path
required: true
schema:
type: string
/wpcom/v2/experiments/0.1.0/experiments/preset:
post:
operationId: postWpcomV2Experiments010ExperimentsPreset
summary: POST /wpcom/v2/experiments/0.1.0/experiments/preset
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
platform:
type: string
enum:
- akismet
- calypso
- dayone
- dsp
- email
- jetpack
- lohp
- mlsales
- pipe
- pocketcasts
- tumblr
- wccom
- woocommerce
- woocommerceandroid
- woocommerceios
- wpandroid
- wpcom
- wpios
required:
- name
- platform
/wpcom/v2/experiments/0.1.0/experiments/{experiment_id}:
get:
operationId: getWpcomV2Experiments010ExperimentsbyExperimentId
summary: GET /wpcom/v2/experiments/0.1.0/experiments/{experiment_id}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
- name: include_participants
in: query
required: false
schema:
type: string
put:
operationId: putWpcomV2Experiments010ExperimentsbyExperimentId
summary: PUT /wpcom/v2/experiments/0.1.0/experiments/{experiment_id}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
start_datetime:
type: string
format: date-time
end_datetime:
type: string
format: date-time
platform:
type: string
enum:
- akismet
- calypso
- dayone
- dsp
- email
- jetpack
- lohp
- mlsales
- pipe
- pocketcasts
- tumblr
- wccom
- woocommerce
- woocommerceandroid
- woocommerceios
- wpandroid
- wpcom
- wpios
owner_login:
type: string
description:
type: string
existing_users_allowed:
type: boolean
p2_url:
type: string
format: uri
eligibility:
type: object
exposure_events:
type: array
items:
type: object
variations:
type: array
items:
type: object
metric_assignments:
type: array
items:
type: object
segment_assignments:
type: array
items:
type: object
exclusion_group_tag_ids:
type: array
items:
type: integer
apply_guardrails:
type: boolean
default: false
required:
- name
- platform
- owner_login
- description
- existing_users_allowed
- variations
- metric_assignments
- segment_assignments
- exclusion_group_tag_ids
patch:
operationId: patchWpcomV2Experiments010ExperimentsbyExperimentId
summary: PATCH /wpcom/v2/experiments/0.1.0/experiments/{experiment_id}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
variations:
type: array
items:
type: object
end_datetime:
type: string
format: date-time
owner_login:
type: string
description:
type: string
p2_url:
type: string
format: uri
metric_assignments:
type: array
items:
type: object
end_reason:
type: string
conclusion_url:
type: string
format: uri
deployed_variation_id:
type: integer
/wpcom/v2/experiments/0.1.0/experiments/{experiment_id}/apply-guardrails:
post:
operationId: postWpcomV2Experiments010ExperimentsbyExperimentIdApplyGuardrails
summary: POST /wpcom/v2/experiments/0.1.0/experiments/{experiment_id}/apply-guardrails
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
/wpcom/v2/experiments/0.1.0/experiments/{experiment_id}/early-participants:
get:
operationId: getWpcomV2Experiments010ExperimentsbyExperimentIdEarlyParticipants
summary: GET /wpcom/v2/experiments/0.1.0/experiments/{experiment_id}/early-participants
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
- name: hours
in: query
required: false
schema:
type: integer
default: 168
/wpcom/v2/experiments/0.1.0/experiments/{experiment_id}/status:
put:
operationId: putWpcomV2Experiments010ExperimentsbyExperimentIdStatus
summary: PUT /wpcom/v2/experiments/0.1.0/experiments/{experiment_id}/status
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- staging
- running
- completed
- disabled
required:
- status
/wpcom/v2/experiments/0.1.0/flags:
post:
operationId: postWpcomV2Experiments010Flags
summary: POST /wpcom/v2/experiments/0.1.0/flags
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
experiment_flag_key:
type: string
description:
type: string
value_type:
type: string
enum:
- string
- boolean
- number
- json
default_value:
type: string
rules:
type: array
default: []
items: {}
client_safe:
type: boolean
default: false
required:
- experiment_flag_key
- value_type
- default_value
get:
operationId: getWpcomV2Experiments010Flags
summary: GET /wpcom/v2/experiments/0.1.0/flags
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: status
in: query
required: false
schema:
type: string
enum:
- active
- archived
default: active
- name: q
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: integer
default: 1
- name: per_page
in: query
required: false
schema:
type: integer
default: 50
/wpcom/v2/experiments/0.1.0/flags/preset:
post:
operationId: postWpcomV2Experiments010FlagsPreset
summary: POST /wpcom/v2/experiments/0.1.0/flags/preset
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
experiment_flag_key:
type: string
description:
type: string
required:
- experiment_flag_key
/wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}:
patch:
operationId: patchWpcomV2Experiments010FlagsbyExperimentFlagKey
summary: PATCH /wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_flag_key
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
value_type:
type: string
enum:
- string
- boolean
- number
- json
default_value:
type: string
rules:
type: array
items: {}
client_safe:
type: boolean
status:
type: string
enum:
- active
- archived
delete:
operationId: deleteWpcomV2Experiments010FlagsbyExperimentFlagKey
summary: DELETE /wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_flag_key
in: path
required: true
schema:
type: string
/wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}/details:
get:
operationId: getWpcomV2Experiments010FlagsbyExperimentFlagKeyDetails
summary: GET /wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}/details
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_flag_key
in: path
required: true
schema:
type: string
/wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}/experiments:
post:
operationId: postWpcomV2Experiments010FlagsbyExperimentFlagKeyExperiments
summary: POST /wpcom/v2/experiments/0.1.0/flags/{experiment_flag_key}/experiments
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: experiment_flag_key
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
experiment_id:
type: integer
hash_attribute:
type: string
enum:
- anon_id
- wpcom_user_id
- dayone_user_id
- pocketcasts_user_id
variation_values:
type: object
required:
- experiment_id
/wpcom/v2/experiments/0.1.0/flags/{platform}:
get:
operationId: getWpcomV2Experiments010FlagsbyPlatform
summary: GET /wpcom/v2/experiments/0.1.0/flags/{platform}
tags:
- experiments
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: platform
in: path
required
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/automattic/refs/heads/main/openapi/automattic-experiments-api-openapi.yml