Skip to main content

DevCycle Management API (1.0.0)

Download OpenAPI specification:Download

An API for managing features and variables on the DevCycle platform.

An authorization token can be obtained from (https://auth.devcycle.com/oauth/token) using the client id and secret from the DevCycle dashboard

Example using curl:

curl --request POST \
  --url "https://auth.devcycle.com/oauth/token" \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data grant_type=client_credentials \
  --data audience=https://api.devcycle.com/ \
  --data client_id=<client id> \
  --data client_secret=<client secret>
    

Projects

Create Project

Create a new Project

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

Project name

key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

A unique key to identify the Project

description
string <= 1000 characters

A description of the Project

color
string <= 9 characters ^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{...

Project display color, used to highlight different projects on the dashboard. Must use Hex color code.

required
object (ProjectSettingsDTO)

Responses

Request samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "description": "A web app to manage outbound deliveries",
  • "color": "#4073FF",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "61450f3daec96f5cf4a49946",
  • "_organization": "string",
  • "_createdBy": "string",
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "description": "A web app to manage outbound deliveries",
  • "color": "#4073FF",
  • "settings": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "hasJiraIntegration": true,
  • "hasReceivedCodeUsages": true,
  • "hasUserConfigFetch": true,
  • "jiraBaseUrl": "string",
  • "readonly": true
}

List Projects

List Projects

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
createdBy
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Project

Get a Project by ID or key

path Parameters
key
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "_id": "61450f3daec96f5cf4a49946",
  • "_organization": "string",
  • "_createdBy": "string",
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "description": "A web app to manage outbound deliveries",
  • "color": "#4073FF",
  • "settings": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "hasJiraIntegration": true,
  • "hasReceivedCodeUsages": true,
  • "hasUserConfigFetch": true,
  • "jiraBaseUrl": "string",
  • "readonly": true
}

Update a Project

Update a Project by ID or key

path Parameters
key
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Project name

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

A unique key to identify the Project

description
string <= 1000 characters

A description of the Project

color
string <= 9 characters ^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{...

Project display color, used to highlight different projects on the dashboard. Must use Hex color code.

object (ProjectSettingsDTO)

Responses

Request samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "description": "A web app to manage outbound deliveries",
  • "color": "#4073FF",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "61450f3daec96f5cf4a49946",
  • "_organization": "string",
  • "_createdBy": "string",
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "description": "A web app to manage outbound deliveries",
  • "color": "#4073FF",
  • "settings": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "hasJiraIntegration": true,
  • "hasReceivedCodeUsages": true,
  • "hasUserConfigFetch": true,
  • "jiraBaseUrl": "string",
  • "readonly": true
}

Delete a Project

Delete a Project by ID or key

path Parameters
key
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Integrations: Jira

Remove Jira Integration Configuration

path Parameters
token
required
string

Responses

Environments

Create Environment

Create a new Environment

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

A unique display name

key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique Environment identifier, can be used in the SDK / API to reference by key rather than ID. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Environment description.

color
string <= 9 characters ^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{...

Environment display color, used to highlight different environments on the dashboard. Must use Hex color code.

type
required
string
Enum: "development" "staging" "production" "disaster_recovery"

The environment type

object

Environment based settings

Responses

Request samples

Content type
application/json
{
  • "name": "Staging Upcoming",
  • "key": "staging-upcoming",
  • "description": "Pre-production changes",
  • "color": "#4073FF",
  • "type": "staging",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "name": "Staging Upcoming",
  • "key": "staging-upcoming",
  • "description": "Pre-production changes",
  • "color": "#4073FF",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "type": "staging",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "sdkKeys": {
    },
  • "settings": {
    },
  • "readonly": true
}

List Environments

List Environments

path Parameters
project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
createdBy
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get an Environment

Get an Environment by ID or key

path Parameters
key
required
string

A Environment key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "name": "Staging Upcoming",
  • "key": "staging-upcoming",
  • "description": "Pre-production changes",
  • "color": "#4073FF",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "type": "staging",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "sdkKeys": {
    },
  • "settings": {
    },
  • "readonly": true
}

Update an Environment

Update an Environment by ID or key

path Parameters
key
required
string

A Environment key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

A unique display name

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique Environment identifier, can be used in the SDK / API to reference by key rather than ID. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Environment description.

color
string <= 9 characters ^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{...

Environment display color, used to highlight different environments on the dashboard. Must use Hex color code.

type
string
Enum: "development" "staging" "production" "disaster_recovery"

The environment type

object

Environment based settings

Responses

Request samples

Content type
application/json
{
  • "name": "Staging Upcoming",
  • "key": "staging-upcoming",
  • "description": "Pre-production changes",
  • "color": "#4073FF",
  • "type": "staging",
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "name": "Staging Upcoming",
  • "key": "staging-upcoming",
  • "description": "Pre-production changes",
  • "color": "#4073FF",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "type": "staging",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "sdkKeys": {
    },
  • "settings": {
    },
  • "readonly": true
}

Delete an Environment

Delete an Environment by ID or key

path Parameters
key
required
string

A Environment key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Generate SDK Keys

Generate new SDK keys for an environment

path Parameters
environment
required
string

An environment key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
client
boolean
server
boolean
mobile
boolean

Responses

Request samples

Content type
application/json
{
  • "client": true,
  • "server": true,
  • "mobile": true
}

Response samples

Content type
application/json
{
  • "name": "Staging Upcoming",
  • "key": "staging-upcoming",
  • "description": "Pre-production changes",
  • "color": "#4073FF",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "type": "staging",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "sdkKeys": {
    },
  • "settings": {
    },
  • "readonly": true
}

Invalidate an SDK key

Invalidate an SDK key

path Parameters
key
required
string

An SDK key

environment
required
string

An environment key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Audiences

Create Audience

Create a new Audience

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Audience display name, must be set for project-level audiences.

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Audience unique project-level key, must be set for project-level audiences. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Audience description.

required
object

Audience filters, describing logic for segmenting users

tags
Array of strings

Tags to organize project-level audiences on the dashboard

Responses

Request samples

Content type
application/json
{
  • "name": "Android Users",
  • "key": "android-users",
  • "description": "Users with android devices",
  • "filters": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "Android Users",
  • "key": "android-users",
  • "description": "Users with android devices",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "61450f3daec96f5cf4a49955",
  • "filters": {
    },
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "tags": [
    ],
  • "readonly": true
}

List Audiences

List Audiences

path Parameters
project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
createdBy
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get an Audience

Get an Audience by ID or key

path Parameters
key
required
string

A Audience key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "name": "Android Users",
  • "key": "android-users",
  • "description": "Users with android devices",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "61450f3daec96f5cf4a49955",
  • "filters": {
    },
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "tags": [
    ],
  • "readonly": true
}

Update an Audience

Update an Audience by ID or key

path Parameters
key
required
string

A Audience key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Audience display name, must be set for project-level audiences.

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Audience unique project-level key, must be set for project-level audiences. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Audience description.

object

Audience filters, describing logic for segmenting users

tags
Array of strings

Tags to organize project-level audiences on the dashboard

Responses

Request samples

Content type
application/json
{
  • "name": "Android Users",
  • "key": "android-users",
  • "description": "Users with android devices",
  • "filters": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "Android Users",
  • "key": "android-users",
  • "description": "Users with android devices",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "61450f3daec96f5cf4a49955",
  • "filters": {
    },
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "tags": [
    ],
  • "readonly": true
}

Delete an Audience

Delete an Audience by ID or key

path Parameters
key
required
string

A Audience key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Get all direct usages of an Audience

Get the direct usages of an Audiences Usage by Features OR other Audiences by ID or key

path Parameters
key
required
string

A Audience key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "features": [
    ]
}

Variables

Create a Variable

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Variable name

description
string <= 1000 characters

A description of the Variable

key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID. Must only contain lower-case characters and _, - or ..

_feature
string

The key or ID of the Feature this Variable is associated with

type
required
string
Enum: "String" "Boolean" "Number" "JSON"

The type of Variable. Must be one of [String | Boolean | Number | JSON]

object

Validation schema for variable values

Responses

Request samples

Content type
application/json
{
  • "name": "Show New Dashboard",
  • "description": "A boolean variable that will toggle the new dashboard feature",
  • "key": "show-new-dashboard",
  • "_feature": "new-dashboard",
  • "type": "Boolean",
  • "validationSchema": {
    }
}

Response samples

Content type
application/json
{
  • "name": "Show New Dashboard",
  • "description": "A boolean variable that will toggle the new dashboard feature",
  • "key": "show-new-dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_feature": "61450f3daec96f5cf4a49947",
  • "type": "Boolean",
  • "status": "active",
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "validationSchema": {
    },
  • "persistent": true
}

List Variables

path Parameters
project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
feature
string
type
string
Enum: "String" "Boolean" "Number" "JSON"
status
string
Enum: "active" "archived"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Variable

path Parameters
key
required
string

A Variable key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "name": "Show New Dashboard",
  • "description": "A boolean variable that will toggle the new dashboard feature",
  • "key": "show-new-dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_feature": "61450f3daec96f5cf4a49947",
  • "type": "Boolean",
  • "status": "active",
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "validationSchema": {
    },
  • "persistent": true
}

Update a Variable

path Parameters
key
required
string

A Variable key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Variable name

description
string <= 1000 characters

A description of the Variable

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID. Must only contain lower-case characters and _, - or ..

type
string
Enum: "String" "Boolean" "Number" "JSON"

The type of Variable. Must be one of [String | Boolean | Number | JSON]

object

Validation schema for variable values

persistent
boolean

Boolean indicating if the variable is intended to be long-lived within a feature

Responses

Request samples

Content type
application/json
{
  • "name": "Show New Dashboard",
  • "description": "A boolean variable that will toggle the new dashboard feature",
  • "key": "show-new-dashboard",
  • "type": "Boolean",
  • "validationSchema": {
    },
  • "persistent": true
}

Response samples

Content type
application/json
{
  • "name": "Show New Dashboard",
  • "description": "A boolean variable that will toggle the new dashboard feature",
  • "key": "show-new-dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_feature": "61450f3daec96f5cf4a49947",
  • "type": "Boolean",
  • "status": "active",
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "validationSchema": {
    },
  • "persistent": true
}

Delete a Variable

path Parameters
key
required
string

A Variable key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Update a Variable status to archived or active

path Parameters
key
required
string

A Variable key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
status
required
string
Enum: "active" "archived"

Status field indicating whether a variable is actively being used, or is archived.

Responses

Request samples

Content type
application/json
{
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "name": "Show New Dashboard",
  • "description": "A boolean variable that will toggle the new dashboard feature",
  • "key": "show-new-dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_feature": "61450f3daec96f5cf4a49947",
  • "type": "Boolean",
  • "status": "active",
  • "source": "api",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "validationSchema": {
    },
  • "persistent": true
}

Features

Create Feature

Create a new Feature

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

Name of the Feature

key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Feature description.

Array of CreateVariableDto (object) or ReassociateVariableDto (object)

Variable definitions to be referenced in variations

Array of objects (FeatureVariationDto)

Variation configurations to be used by feature configurations.

controlVariation
string

The key of the variation that is used as the control variation for Metrics

object

Feature-level settings.

object

SDK Type Visibilty Settings

type
string
Enum: "release" "experiment" "permission" "ops"

The Feature type

tags
Array of strings

Tags to organize Features on the dashboard

Responses

Request samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "variables": [
    ],
  • "variations": [
    ],
  • "controlVariation": "string",
  • "settings": {
    },
  • "sdkVisibility": {
    },
  • "type": "release",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "status": "active",
  • "type": "release",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "variations": [
    ],
  • "controlVariation": "string",
  • "staticVariation": "string",
  • "variables": [
    ],
  • "tags": [
    ],
  • "ldLink": "string",
  • "readonly": true,
  • "settings": {
    },
  • "sdkVisibility": {
    }
}

List Features

List Features

path Parameters
project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
createdBy
string
type
string
Enum: "release" "experiment" "permission" "ops"
status
string
Enum: "active" "complete" "archived"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Multiple Features with a single request

Create multiple new Features

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Get a Feature

Get a Feature by ID or key

path Parameters
key
required
string

A Feature key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "status": "active",
  • "type": "release",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "variations": [
    ],
  • "controlVariation": "string",
  • "staticVariation": "string",
  • "variables": [
    ],
  • "tags": [
    ],
  • "ldLink": "string",
  • "readonly": true,
  • "settings": {
    },
  • "sdkVisibility": {
    }
}

Delete a Feature

Delete a Feature by ID or key

path Parameters
key
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
deleteVariables
boolean

Controls whether the feature's associated variables should also be deleted

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Update a Feature

Update a Feature by ID or key

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Name of the Feature

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Feature description.

Array of CreateVariableDto (object) or ReassociateVariableDto (object)

Variable definitions to be referenced in variations

Array of objects (FeatureVariationDto)

Variation configurations to be used by feature configurations.

object

Feature-level settings.

object

SDK Type Visibilty Settings

type
string
Enum: "release" "experiment" "permission" "ops"

The Feature type

tags
Array of strings

Tags to organize Features on the dashboard

controlVariation
string

The key of the variation that is used as the control variation for Metrics

Responses

Request samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "variables": [
    ],
  • "variations": [
    ],
  • "settings": {
    },
  • "sdkVisibility": {
    },
  • "type": "release",
  • "tags": [
    ],
  • "controlVariation": "string"
}

Response samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "status": "active",
  • "type": "release",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "variations": [
    ],
  • "controlVariation": "string",
  • "staticVariation": "string",
  • "variables": [
    ],
  • "tags": [
    ],
  • "ldLink": "string",
  • "readonly": true,
  • "settings": {
    },
  • "sdkVisibility": {
    }
}

Update a Feature's status

Update a Feature's status by key

path Parameters
key
required
string

A Feature key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
status
required
string
Enum: "active" "complete" "archived"

The status to set the Feature's status to

staticVariation
string

The variation key or ID to serve if the status is set to complete

Responses

Request samples

Content type
application/json
{
  • "status": "active",
  • "staticVariation": "string"
}

Response samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "status": "active",
  • "type": "release",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "variations": [
    ],
  • "controlVariation": "string",
  • "staticVariation": "string",
  • "variables": [
    ],
  • "tags": [
    ],
  • "ldLink": "string",
  • "readonly": true,
  • "settings": {
    },
  • "sdkVisibility": {
    }
}

Get a Feature's Static Configuration

Get a completed Feature's static configuration

path Parameters
key
required
string

A Feature key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "variables": { },
  • "environments": { },
  • "readonly": true,
  • "sdkVisibility": {
    }
}

Update a Feature's Static Configuration

Update a completed Feature's static configuration

path Parameters
key
required
string

A Feature key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
object

SDK Type Visibilty Settings

variables
object

The static value of each variable in the feature

environments
object

The status of the configuration in each environment

Responses

Request samples

Content type
application/json
{
  • "sdkVisibility": {
    },
  • "variables": { },
  • "environments": { }
}

Response samples

Content type
application/json
{
  • "variables": { },
  • "environments": { },
  • "readonly": true,
  • "sdkVisibility": {
    }
}

Link feature to Jira issue

path Parameters
key
required
string
project
required
string

A Project key or ID

Request Body schema: application/json
required
issueId
required
string

Responses

Request samples

Content type
application/json
{
  • "issueId": "string"
}

Response samples

Content type
application/json
{
  • "issueId": "string"
}

List linked Jira Issues

path Parameters
key
required
string
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unlink feature from Jira issue

path Parameters
key
required
string

A Feature key or ID

issue_id
required
string
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Variations

Create a Feature Variation

Create a new variation within a Feature

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id. Must only contain lower-case characters and _, - or ..

name
required
string [ 1 .. 100 ] characters

Variation display name.

object

A key-value map of variables to their value for this variation

Responses

Request samples

Content type
application/json
{
  • "key": "variation-1",
  • "name": "User's with dashboard access",
  • "variables": {
    }
}

Response samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "status": "active",
  • "type": "release",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "variations": [
    ],
  • "controlVariation": "string",
  • "staticVariation": "string",
  • "variables": [
    ],
  • "tags": [
    ],
  • "ldLink": "string",
  • "readonly": true,
  • "settings": {
    },
  • "sdkVisibility": {
    }
}

List Feature Variations

Get a list of variations for a feature

path Parameters
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Feature Variation

Get a variation by ID or key

path Parameters
key
required
string

A Variation key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "key": "variation-1",
  • "name": "User's with dashboard access",
  • "variables": {
    },
  • "_id": "61450f3daec96f5cf4a49946"
}

Update a Feature Variation

Update a variation by ID or key

path Parameters
key
required
string

A Feature key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id. Must only contain lower-case characters and _, - or ..

name
string [ 1 .. 100 ] characters

Variation display name.

object

A key-value map of variables to their value for this variation

_id
string

Responses

Request samples

Content type
application/json
{
  • "key": "variation-1",
  • "name": "User's with dashboard access",
  • "variables": {
    },
  • "_id": "string"
}

Response samples

Content type
application/json
{
  • "name": "New Dashboard",
  • "key": "new-dash",
  • "description": "New client-facing dashboard.",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "status": "active",
  • "type": "release",
  • "_createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "variations": [
    ],
  • "controlVariation": "string",
  • "staticVariation": "string",
  • "variables": [
    ],
  • "tags": [
    ],
  • "ldLink": "string",
  • "readonly": true,
  • "settings": {
    },
  • "sdkVisibility": {
    }
}

Feature Configurations

List Feature configurations

List Feature configurations for all environments or by environment key or ID

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
environment
string

A Environment key or ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update a Feature configuration

Update a Feature configuration by environment key or ID

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
environment
required
string

A Environment key or ID

Request Body schema: application/json
required
Array of objects (UpdateTargetDto)

The targets to evaluate what variation a user should be delivered

status
string
Enum: "active" "inactive"

Status of the Feature Configuration

Responses

Request samples

Content type
application/json
{
  • "targets": [
    ],
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "_feature": "61450f3daec96f5cf4a49946",
  • "_environment": "61450f3daec96f5cf4a49946",
  • "_createdBy": "string",
  • "status": "active",
  • "startedAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "targets": [
    ],
  • "readonly": true,
  • "hasStaticConfig": true
}

Results

Feature Variable Evaluations (total)

Fetch total variable evaluations per hour for a feature

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
startDate
number
endDate
number
platform
string
variable
string
environment
string

A Environment key or ID

period
string
Enum: "day" "hour" "month"
sdkType
string
Enum: "client" "server" "mobile" "api"

SDK type to filter evaluation results by

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "cached": true,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Project Variable Evaluations (unique user)

Fetch unique user variable evaluations per hour for a project

path Parameters
project
required
string

A Project key or ID

query Parameters
startDate
number
endDate
number
environment
string

A Environment key or ID

period
string
Enum: "day" "hour" "month"
sdkType
string
Enum: "client" "server" "mobile" "api"

SDK type to filter evaluation results by

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "cached": true,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Project Variable Evaluations (total)

Fetch total variable evaluations per hour for a project

path Parameters
project
required
string

A Project key or ID

query Parameters
startDate
number
endDate
number
environment
string

A Environment key or ID

period
string
Enum: "day" "hour" "month"
sdkType
string
Enum: "client" "server" "mobile" "api"

SDK type to filter evaluation results by

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "cached": true,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

User Profiles

Get User Profile for the Current User in the specified Project

Get User Profile for the authenticated User in the specified Project

path Parameters
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "a0_user": "string",
  • "dvcUserId": "dvc_sdk_user_id",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Create or Update User Profile for the Current User in the specified Project

Create or Update a User Profile for Overrides

Request Body schema: application/json
required
dvcUserId
string or null

DVC User Id for User Profile.

Responses

Request samples

Content type
application/json
{
  • "dvcUserId": "dvc_sdk_user_id"
}

Response samples

Content type
application/json
{
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "a0_user": "string",
  • "dvcUserId": "dvc_sdk_user_id",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

AuditLog

Get Audit Log For Feature

Get Audit Log For Feature

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
environment
string
a0_user
string
startDate
string <date-time>
endDate
string <date-time>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Custom Properties

Create Custom Property

Create a new Custom Property

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

Display name for Custom Property.

key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Auto generated key to be used by the API to reference by 'key' rather then _id for CRUD operations. Must only contain lower-case characters and _, - or ..

type
required
string
Enum: "String" "Boolean" "Number"

Type of the Custom Propety. Must be one of: "Boolean", "Number" or "String"

propertyKey
required
string

Custom Property key, must be unique by Project. Only to be used by the SDKs to reference the Custom Property..

Responses

Request samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "type": "String",
  • "propertyKey": "Delivery App Secret Agent Code"
}

Response samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_createdBy": "string",
  • "propertyKey": "Delivery App Secret Agent Code",
  • "type": "String",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

List Custom Properties

List Custom Properties

path Parameters
project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
type
string
Enum: "String" "Boolean" "Number"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Custom Property

Get a Custom Property by ID or key

path Parameters
key
required
string

A Custom Property key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_createdBy": "string",
  • "propertyKey": "Delivery App Secret Agent Code",
  • "type": "String",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a Custom Property

Update an Custom Property by ID or key

path Parameters
key
required
string

A Custom Property key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Display name for Custom Property.

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Auto generated key to be used by the API to reference by 'key' rather then _id for CRUD operations. Must only contain lower-case characters and _, - or ..

propertyKey
string

Custom Property key, must be unique by Project. Only to be used by the SDKs to reference the Custom Property..

type
string
Enum: "String" "Boolean" "Number"

Type of the Custom Propety. Must be one of: "Boolean", "Number" or "String"

Responses

Request samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "propertyKey": "Delivery App Secret Agent Code",
  • "type": "String"
}

Response samples

Content type
application/json
{
  • "name": "Delivery App",
  • "key": "delivery-app",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "_createdBy": "string",
  • "propertyKey": "Delivery App Secret Agent Code",
  • "type": "String",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a Custom Property

Delete an Custom Property by ID or key

path Parameters
key
required
string

A Custom Property key or ID

project
required
string

A Project key or ID

Responses

Metrics

Create Metric

Create a new Metric

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

Name of the Metric

key
required
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Metric description.

event
required
string

Event associated with metric

dimension
required
string
Enum: "COUNT_PER_UNIQUE_USER" "COUNT_PER_VARIABLE_EVALUATION" "SUM_PER_UNIQUE_USER" "AVERAGE_PER_UNIQUE_USER" "TOTAL_AVERAGE" "TOTAL_SUM"

Metric dimension

optimize
required
string
Enum: "increase" "decrease"

Indicates whether the metric is optimized for increase or decreasae

Responses

Request samples

Content type
application/json
{
  • "name": "New Signups",
  • "key": "new-signups",
  • "description": "New signups on the dashboard",
  • "event": "Sign Ups",
  • "dimension": "COUNT_PER_UNIQUE_USER",
  • "optimize": "increase"
}

Response samples

Content type
application/json
{
  • "name": "New Signups",
  • "key": "new-signups",
  • "description": "New signups on the dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "event": "Sign Ups",
  • "dimension": "COUNT_PER_UNIQUE_USER",
  • "optimize": "increase",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get All Metrics

path Parameters
project
required
string

A Project key or ID

query Parameters
page
number <int32> >= 1
Default: 1
perPage
number <int32> [ 1 .. 1000 ]
Default: 100
sortBy
string
Default: "createdAt"
sortOrder
string
Default: "desc"
Enum: "asc" "desc"
search
string
dimension
string
Enum: "COUNT_PER_UNIQUE_USER" "COUNT_PER_VARIABLE_EVALUATION" "SUM_PER_UNIQUE_USER" "AVERAGE_PER_UNIQUE_USER" "TOTAL_AVERAGE" "TOTAL_SUM"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Metric

path Parameters
key
required
string
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "name": "New Signups",
  • "key": "new-signups",
  • "description": "New signups on the dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "event": "Sign Ups",
  • "dimension": "COUNT_PER_UNIQUE_USER",
  • "optimize": "increase",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a Metric

path Parameters
key
required
string
project
required
string

A Project key or ID

Request Body schema: application/json
required
name
string [ 1 .. 100 ] characters

Name of the Metric

key
string [ 1 .. 100 ] characters ^[a-z0-9-_.]+$

Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id. Must only contain lower-case characters and _, - or ..

description
string <= 1000 characters

Metric description.

event
string

Event associated with metric

dimension
string
Enum: "COUNT_PER_UNIQUE_USER" "COUNT_PER_VARIABLE_EVALUATION" "SUM_PER_UNIQUE_USER" "AVERAGE_PER_UNIQUE_USER" "TOTAL_AVERAGE" "TOTAL_SUM"

Metric dimension

optimize
string
Enum: "increase" "decrease"

Indicates whether the metric is optimized for increase or decreasae

Responses

Request samples

Content type
application/json
{
  • "name": "New Signups",
  • "key": "new-signups",
  • "description": "New signups on the dashboard",
  • "event": "Sign Ups",
  • "dimension": "COUNT_PER_UNIQUE_USER",
  • "optimize": "increase"
}

Response samples

Content type
application/json
{
  • "name": "New Signups",
  • "key": "new-signups",
  • "description": "New signups on the dashboard",
  • "_id": "61450f3daec96f5cf4a49946",
  • "_project": "string",
  • "source": "api",
  • "event": "Sign Ups",
  • "dimension": "COUNT_PER_UNIQUE_USER",
  • "optimize": "increase",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a Metric

path Parameters
key
required
string
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 404,
  • "message": "Item with key 'key-123' not found",
  • "error": "Not Found"
}

Fetch results for a Metric

path Parameters
metric
required
string
key
required
string

A Metric key or ID

project
required
string

A Project key or ID

query Parameters
feature
required
string
environment
string
startDate
required
string <date-time>
endDate
required
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "cached": true,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Test Metric Results

Fetch metric results with the given parameters

path Parameters
project
required
string

A Project key or ID

query Parameters
feature
required
string
control
required
string
optimize
required
string
Enum: "increase" "decrease"
environment
string
event
required
string
dimension
required
string
Enum: "COUNT_PER_UNIQUE_USER" "COUNT_PER_VARIABLE_EVALUATION" "SUM_PER_UNIQUE_USER" "AVERAGE_PER_UNIQUE_USER" "TOTAL_AVERAGE" "TOTAL_SUM"
startDate
required
string <date-time>
endDate
required
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "cached": true,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Metric Associations

Get Metric Associations

path Parameters
project
required
string

A Project key or ID

query Parameters
metric
string
feature
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Associate a Metric with a Feature

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
metric
required
string
feature
required
string

Responses

Request samples

Content type
application/json
{
  • "metric": "string",
  • "feature": "string"
}

Response samples

Content type
application/json
{
  • "_project": "string",
  • "feature": {
    },
  • "metric": {
    },
  • "createdAt": "2019-08-24T14:15:22Z"
}

Delete an Association of a Metric and a Feature

path Parameters
project
required
string

A Project key or ID

Request Body schema: application/json
required
metric
required
string
feature
required
string

Responses

Request samples

Content type
application/json
{
  • "metric": "string",
  • "feature": "string"
}

Overrides

Update Overrides for the Current User

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
environment
required
string
variation
required
string

Responses

Request samples

Content type
application/json
{
  • "environment": "string",
  • "variation": "string"
}

Response samples

Content type
application/json
{
  • "_project": "string",
  • "_environment": "string",
  • "_feature": "string",
  • "_variation": "string",
  • "dvcUserId": "string",
  • "createdAt": 0,
  • "updatedAt": 0,
  • "a0_user": "string"
}

Get feature overrides for current user

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
{
  • "overrides": [
    ]
}

Delete override for specific feature and environment for the current user

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
environment
required
string

A Environment key or ID

Responses

Get overrides for feature

path Parameters
feature
required
string

A Feature key or ID

project
required
string

A Project key or ID

query Parameters
addMetadata
boolean
environment
string

A Environment key or ID

Responses

Response samples

Content type
application/json
{
  • "overrides": {
    },
  • "uniqueTeamMembers": 0
}

Get all overrides for project for current user

path Parameters
project
required
string

A Project key or ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete all overrides for project for current user

path Parameters
project
required
string

A Project key or ID

Responses

[Beta] Semantic Patch

[Beta] Semantic Patch Update an Audience

Semantic Patch Update an Audience by ID or key

path Parameters
key
required
string

A Audience key or ID

project
required
string

A Project key or ID

Request Body schema: application/json
required
required
Array of objects (AudiencePatchInstructionsDto)
Array
op
required
string
Enum: "addFilterValues" "removeFilterValues"
required
object (AudiencePatchAction)

Responses

Request samples

Content type
application/json
{
  • "instructions": [