experiments

Embed
Preview of the card
<a href="https://lucida.15-204-158-166.sslip.io/docs/ref-experiments"><img src="https://lucida.15-204-158-166.sslip.io/docs/_api/public/orgs/af34862a-c837-4478-8335-0505efe40459/spaces/da916cd3-c0fc-4b63-b971-b3c13623daf3/pages/6af814d4-70c1-4363-8381-689a51668c4d/social-card.svg?v=3e7ae33eec8b" alt="experiments" width="600" height="315"></a>
GEThttps://lucida.15-204-158-166.sslip.io/v1/experiment-assets/{project_id}/{name}

Parameters

project_idstringpathrequired
namestringpathrequired
{uuid}.{png|jpg|gif|webp} from the upload

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/experiment-assets/{project_id}/{name}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 the image (public, immutable)
404
GEThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-defaults

Parameters

project_idstringpathrequired

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-defaults"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 partial stats config applied to new experiments
404
PUThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-defaults

Parameters

project_idstringpathrequired

Request body

application/json

partial stats config, for example {"cuped": true}

{}

Code samples

cURL
curl -X PUT "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-defaults" \
  -H "Content-Type: application/json" \
  -d '{}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 the stored defaults
400
404
GEThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas

Parameters

project_idstringpathrequired
stagestringquery
limitintegerquery
cursorstringquery

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Page of Idea, newest first
404
POSThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas

Parameters

project_idstringpathrequired

Request body

application/json
evidencearray
[{kind: replay|heatmap|funnel_step|insight|friction, ref, label?, step?}]
hypothesisstring
"If we <change>, then <metric> improves because <reason>".
scoreobject
{model: ice|pie, impact|potential, confidence|importance, ease}, each 1 to 10.
sourcestring
manual (default) or ai for a kept suggestion.
tagsarray
titlestringrequired
{
  "evidence": [
    {}
  ],
  "hypothesis": "string",
  "score": {},
  "source": "string",
  "tags": [
    "string"
  ],
  "title": "string"
}

Code samples

cURL
curl -X POST "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas" \
  -H "Content-Type: application/json" \
  -d '{"evidence":[{}],"hypothesis":"string","score":{},"source":"string","tags":["string"],"title":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201
Example
{
  "created_at": "2024-01-01T00:00:00Z",
  "created_by": "string",
  "evidence": [
    {}
  ],
  "experiment_id": "string",
  "experiment_status": "string",
  "hypothesis": "string",
  "id": "string",
  "score": {},
  "source": "string",
  "stage": "string",
  "tags": [
    "string"
  ],
  "title": "string",
  "updated_at": "2024-01-01T00:00:00Z"
}
Schema
created_atstringrequired
created_bystring
evidenceobject[]required
[{kind, ref, label?, step?}]
experiment_idstring
experiment_statusstring
Status of the promoted experiment, when there is one.
hypothesisstringrequired
idstringrequired
scoreobject
{model: ice|pie, <factors>, total}
sourcestringrequired
manual | ai
stagestringrequired
Stored stage: idea | scored | ready | running | done | dropped.
tagsstring[]required
titlestringrequired
updated_atstringrequired
400
403
404
GEThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}

Parameters

project_idstringpathrequired
idstringpathrequired

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

404
DELETEhttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}

Parameters

project_idstringpathrequired
idstringpathrequired

Code samples

cURL
curl -X DELETE "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

204
403
404
PATCHhttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}

Parameters

project_idstringpathrequired
idstringpathrequired

Request body

application/json
evidencearray
hypothesisstring
scoreobject
stagestring
idea | scored | ready | dropped
tagsarray
titlestring
{
  "evidence": [
    {}
  ],
  "hypothesis": "string",
  "score": {},
  "stage": "string",
  "tags": [
    "string"
  ],
  "title": "string"
}

Code samples

cURL
curl -X PATCH "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}" \
  -H "Content-Type: application/json" \
  -d '{"evidence":[{}],"hypothesis":"string","score":{},"stage":"string","tags":["string"],"title":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

400
403
404
POSThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}/promote

Create an experiment draft (control / test, 50/50, the idea's hypothesis) through the normal create path, then link it. The board then follows that experiment (running, done).

Parameters

project_idstringpathrequired
idstringpathrequired

Request body

application/json
flag_keystring
Flag key (default: from the name).
namestring
Experiment name (default: the idea title).
{
  "flag_key": "string",
  "name": "string"
}

Code samples

cURL
curl -X POST "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/experiment-ideas/{id}/promote" \
  -H "Content-Type: application/json" \
  -d '{"flag_key":"string","name":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201
Example
{
  "experiment": {
    "audience": {},
    "conclusion": "string",
    "created_at": "2024-01-01T00:00:00Z",
    "created_by": "string",
    "ended_at": "2024-01-01T00:00:00Z",
    "exposure": {},
    "flag_id": "string",
    "guardrail_state": {},
    "holdout_id": "string",
    "hypothesis": "string",
    "id": "string",
    "kind": "string",
    "metrics": {},
    "name": "string",
    "namespace_id": "string",
    "project_id": "string",
    "requires_approval": true,
    "schedule": {},
    "shipped_at": "2024-01-01T00:00:00Z",
    "snapshot": {},
    "started_at": "2024-01-01T00:00:00Z",
    "stats_config": {},
    "status": "string",
    "traffic_pct": 0,
    "updated_at": "2024-01-01T00:00:00Z",
    "variants": {},
    "winner": "string"
  },
  "idea": {
    "created_at": "2024-01-01T00:00:00Z",
    "created_by": "string",
    "evidence": [
      {}
    ],
    "experiment_id": "string",
    "experiment_status": "string",
    "hypothesis": "string",
    "id": "string",
    "score": {},
    "source": "string",
    "stage": "string",
    "tags": [
      "string"
    ],
    "title": "string",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}
Schema
experimentobjectrequired
Show child parameters
audienceobjectrequired
conclusionstring
created_atstringrequired
created_bystring
ended_atstring
exposureobjectrequired
flag_idstringrequired
guardrail_stateobjectrequired
holdout_idstring
hypothesisstringrequired
idstringrequired
kindstringrequired
metricsobjectrequired
{primary: [metric id], secondary: [...], guardrail: [{metric, direction?}]}.
namestringrequired
namespace_idstring
project_idstringrequired
requires_approvalbooleanrequired
scheduleobjectrequired
shipped_atstring
snapshotobject
started_atstring
stats_configobjectrequired
statusstringrequired
traffic_pctnumberrequired
updated_atstringrequired
variantsobjectrequired
winnerstring
ideaobjectrequired
Show child parameters
created_atstringrequired
created_bystring
evidenceobject[]required
[{kind, ref, label?, step?}]
experiment_idstring
experiment_statusstring
Status of the promoted experiment, when there is one.
hypothesisstringrequired
idstringrequired
scoreobject
{model: ice|pie, <factors>, total}
sourcestringrequired
manual | ai
stagestringrequired
Stored stage: idea | scored | ready | running | done | dropped.
tagsstring[]required
titlestringrequired
updated_atstringrequired
400
403
404
409

Updated