Experiments
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
List all experiments
Required API key scopes
experiment:read
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Query parameters
- limitinteger
Number of results to return per page.
- offsetinteger
The initial index from which to return the results.
Response
Request
GET
/api /projects /:project_id /experiments
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/
Response
Status 200
{"count": 123,"next": "http://api.example.org/accounts/?offset=400&limit=100","previous": "http://api.example.org/accounts/?offset=200&limit=100","results": [{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}]}
Create experiments
Required API key scopes
experiment:write
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- namestring
- descriptionstring
- start_datestring
- end_datestring
- feature_flag_keystring
- parameters
- secondary_metrics
- filters
- archivedboolean
Response
Request
POST
/api /projects /:project_id /experiments
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl-H 'Content-Type: application/json'\-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/\-d name="string",\-d feature_flag_key="string"
Response
Status 201
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
Retrieve experiments
Required API key scopes
experiment:read
Path parameters
- idinteger
A unique integer value identifying this experiment.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Response
Request
GET
/api /projects /:project_id /experiments /:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/:id/
Response
Status 200
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
Update experiments
Required API key scopes
experiment:write
Path parameters
- idinteger
A unique integer value identifying this experiment.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- namestring
- descriptionstring
- start_datestring
- end_datestring
- feature_flag_keystring
- parameters
- secondary_metrics
- filters
- archivedboolean
Response
Request
PATCH
/api /projects /:project_id /experiments /:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl -X PATCH \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/:id/\-d name="string"
Response
Status 200
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
Delete experiments
Required API key scopes
experiment:write
Path parameters
- idinteger
A unique integer value identifying this experiment.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request
DELETE
/api /projects /:project_id /experiments /:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl -X DELETE \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/:id/
Response
Status 204 No response body
Create experiments create exposure cohort for experiment
Path parameters
- idinteger
A unique integer value identifying this experiment.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- namestring
- descriptionstring
- start_datestring
- end_datestring
- feature_flag_keystring
- parameters
- secondary_metrics
- filters
- archivedboolean
Response
Request
POST
/api /projects /:project_id /experiments /:id /create_exposure_cohort_for_experiment
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl-H 'Content-Type: application/json'\-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/:id/create_exposure_cohort_for_experiment/\-d name="string",\-d feature_flag_key="string"
Response
Status 200
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
Retrieve experiments results
Path parameters
- idinteger
A unique integer value identifying this experiment.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Response
Request
GET
/api /projects /:project_id /experiments /:id /results
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/:id/results/
Response
Status 200
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
Retrieve experiments secondary results
Path parameters
- idinteger
A unique integer value identifying this experiment.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Response
Request
GET
/api /projects /:project_id /experiments /:id /secondary_results
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/:id/secondary_results/
Response
Status 200
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
Retrieve experiments requires flag implementation
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Response
Request
GET
/api /projects /:project_id /experiments /requires_flag_implementation
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/experiments/requires_flag_implementation/
Response
Status 200
{"id": 0,"name": "string","description": "string","start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","feature_flag_key": "string","feature_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"exposure_cohort": 0,"parameters": null,"secondary_metrics": null,"filters": null,"archived": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}