Experiment methods: conclude, start
The Experiment Verbs conclude, start as typed SDK methods, with inputs, result, refusals and an example.
Reference for Experiment, one group of Experiment methods.
Experiment.conclude
Conclude ends an Experiment with a decision to ship, kill, or iterate, recorded as a Decision. Verb page.
interface ExperimentVerbs {
conclude(input: ExperimentConcludeInput, options?: SB.CallOptions): SB.Call<ExperimentConcludeOutput>
}Emits Experiment.concluded.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
experiment | Experiment | required | The running Experiment. |
decision | string | required | One of ship, kill, iterate. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
decision | Decision | required | The recorded Decision. |
experiment | Experiment | required | The Experiment, now concluded. |
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. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
import { $ } from 'startup-builder'
const { decision, experiment } = await $.Experiment.conclude({ experiment: 'experiment_IyIJJPngKt', decision: 'ship' })Experiment.start
Start opens an Experiment, splits traffic across its variants, and begins measuring its primary and guardrail Metrics. Verb page.
interface ExperimentVerbs {
start(input: ExperimentStartInput, options?: SB.CallOptions): SB.Call<Experiment>
}Emits Experiment.started.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
experiment | Experiment | required | The Experiment to open. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
experiment | Experiment | required | The running Experiment. |
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. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
import { $ } from 'startup-builder'
const experiment = await $.Experiment.start({ experiment: 'experiment_IyIJJPngKt' })