rollout 0.0.1-dev

Resources

group

Operations

Method and Path Description
GET /groups/:guid

Fetch a specific group by guid

GET /groups

Returns a paginated list of all of the groups

POST /groups

Create a new group

DELETE /groups/:key

Deletes a specific group.

healthcheck

Operations

Method and Path Description
GET /_internal_/healthcheck

membership

Operations

Method and Path Description
GET /memberships/:guid

Fetch a specific membership by guid

GET /memberships

Returns a paginated list of all of the memberships

POST /memberships

Create a new membership

DELETE /memberships/:guid

Deletes a specific membership.

test

Operations

Method and Path Description
GET /tests/:guid

Fetch a specific test by guid

GET /tests

Returns a paginated list of all of the tests

POST /tests

Create a new test

PATCH /tests/:guid

Update a test

DELETE /tests/:guid

Deletes a specific test.

variant

Operations

Method and Path Description
GET /variants

Returns a paginated list of all of the variants

Headers

No headers

Imports

No imports

Enums

No enums

Models

allocation

Example Json: Minimal | Full

Each variant represents a percentage of traffic that is allocated randomly for a given test. The sum of the variants will always equal 100 percent

Field Type Required? Default Description
guid uuid Yes -

test reference Yes -

The test to which this allocation belongs

start date-time-iso8601 Yes -

When this allocation of traffic went live

end date-time-iso8601 No -

When this allocation of traffic was ended. The most common use case for ending an allocation of traffic is, for example, during an incremetal rollout when traffic patterns are changed. We record each allocation (copy on edit) to enable reporting.

variants [test_variant] Yes -

error

Example Json: Minimal | Full
Field Type Required? Default Description
code string Yes -

Machine readable code for this specific error message

message string Yes -

Description of the error

group

Example Json: Minimal | Full

A simple collection of ids that can be used to release tests only to very specific requests. This is often useful for teams that would like to first release a feature to themselves prior to starting an AB test or enabling an incremental rollout for users

Field Type Required? Default Description
guid uuid Yes -

key string Yes -

A unique (case insensitive) key to identify this group

Example: engineering

group_form

Example Json: Minimal | Full
Field Type Required? Default Description
key string Yes -

healthcheck

Example Json: Minimal | Full
Field Type Required? Default Description
status string Yes -

Example: healthy

membership

Example Json: Minimal | Full

Represents a single ID that is part of a group

Field Type Required? Default Description
guid uuid Yes -

group group Yes -

id string Yes -

Example: c2a6a83b-1ff8-4e0e-a9d1-7e8e41790305 or 1238123

membership_form

Example Json: Minimal | Full
Field Type Required? Default Description
group_key string Yes -

Example: engineering

id string Yes -

Example: c2a6a83b-1ff8-4e0e-a9d1-7e8e41790305 or 1238123

reference

Example Json: Minimal | Full

Wrapper for guids, allowing API to reference another model without including ALL of the details of the referenced model

Field Type Required? Default Description
guid uuid Yes -

test

Example Json: Minimal | Full

This models represents a test of some sort for which we are managing traffic. Each test will have 1 or more variants to enable things like test/control.

Field Type Required? Default Description
guid uuid Yes -

key string Yes -

A unique, randomly generated string that can be used as a seed into the hashing functions

name string Yes -

A human readable name for this test

description string No -

variants [test_variant] Yes -

The current (at time of request) set of live variants. Look at the allocation model if you would like to find out exactly when each set of variants went live.

test_create_form

Example Json: Minimal | Full

Used to create tests

Field Type Required? Default Description
name string Yes -

description string No -

variants [test_variant] Yes -

test_update_form

Example Json: Minimal | Full

Used to create tests

Field Type Required? Default Description
name string No -

description string No -

variants [test_variant] No -

test_variant

Example Json: Minimal | Full

An individual test variant, mapping a name to a percentage of traffic

Field Type Required? Default Description
name string Yes -

A human readable name for this variant. The name must be unique within the context of a given test allocation. Uniqueness is case insensitive.

Example: control

percentage integer Yes -

Minimum: 1
Maximum: 100

groups [string] No -

optionally require that the id be part of this group in order to qualify for this test variant.

Example: [engineering]

variant

Example Json: Minimal | Full

Represents a fully hydrated specific test variant. This model will be used in almost all requests for live traffic and thus includes references to other objects to minimize size.

Field Type Required? Default Description
test reference Yes -

The test to which this specific variant belongs

name string Yes -

The name of the specific variant

Unions

No unions