Play routes: apply
The Play Verbs apply as api.sb routes, with inputs, result, refusals and an example.
Reference for Play, one group of Play routes.
Play.apply
Apply runs a Play across a Portfolio cohort, one wave at a time, measured as an Experiment. Verb page.
POST /{namespace}/ plays/ {play}/ applyPath: play. Body, as JSON: the other inputs. Emits Play.applied.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
play | Play | required | The Play to run. |
cohort | string | required | The Portfolio query that selects the Startups. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
experiment | Experiment | required | The Experiment that measures the rollout. |
play | Play | required | The Play applied. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The input does not match the schema of the operation. | invalid-input | Read the schema of the operation, then send every required field with the right type. | None. |
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ plays/ play_hr4WTcrAyZ/ apply \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"cohort": "Example cohort"}'{
"api": "https: //api.sb/ leaseline.app",
"experiment": {
"$id": "https: //api.sb/ leaseline.app/ experiments/ experiment_IyIJJPngKt",
"$type": "Experiment",
"variants": {}
},
"play": {
"$id": "https: //api.sb/ leaseline.app/ plays/ play_hr4WTcrAyZ",
"$type": "Play",
"family": "demand"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Play.apply",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}