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>
For Enterprise customers with strict roles and permissions enabled using the API requires a different request to get the access token.
Example using curl:
curl --request POST \
--url 'https://auth.devcycle.com/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=refresh_token \
--data 'client_id=<client id>' \
--data 'refresh_token={yourRefreshToken}'
Create project in the current organization
Creates a new project within the authed organization. The project key must be unique within the organization. If this is called in an Organization that has permissions controlled via an external IdP (https://docs.devcycle.com/platform/security-and-guardrails/permissions#full-role-based-access-control-project-level-roles--enterprise-only) - then no users will have permission to access this project.
Request Body schema: application/jsonrequired
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. |
object (ProjectSettingsDTO) |
Responses
Request samples
- Payload
{- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "title": "string",
- "description": "string",
- "enabled": true,
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": "center"
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "disablePassthroughRollouts": true
}
}
Response samples
- 201
- 400
- 409
{- "_id": "61450f3daec96f5cf4a49946",
- "_organization": "string",
- "_createdBy": "string",
- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hasJiraIntegration": true,
- "hasReceivedCodeUsages": true,
- "hasUserConfigFetch": true,
- "jiraBaseUrl": "string",
- "readonly": true,
- "vercelEdgeConfigConnections": [
- {
- "edgeConfigName": "string",
- "configurationId": "string"
}
]
}
List Projects that the current API Token has permission to view
Lists all projects that the current API Token has permission to view.
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
createdBy | string |
Responses
Response samples
- 200
- 400
[- {
- "_id": "61450f3daec96f5cf4a49946",
- "_organization": "string",
- "_createdBy": "string",
- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hasJiraIntegration": true,
- "hasReceivedCodeUsages": true,
- "hasUserConfigFetch": true,
- "jiraBaseUrl": "string",
- "readonly": true,
- "vercelEdgeConfigConnections": [
- {
- "edgeConfigName": "string",
- "configurationId": "string"
}
]
}
]
Get a Project
Get a Project by ID or key.
path Parameters
key required | string A Project key or ID |
Responses
Response samples
- 200
- 404
{- "_id": "61450f3daec96f5cf4a49946",
- "_organization": "string",
- "_createdBy": "string",
- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hasJiraIntegration": true,
- "hasReceivedCodeUsages": true,
- "hasUserConfigFetch": true,
- "jiraBaseUrl": "string",
- "readonly": true,
- "vercelEdgeConfigConnections": [
- {
- "edgeConfigName": "string",
- "configurationId": "string"
}
]
}
Update a Project
Update a Project by ID or key. Certain facets of the project settings require additional permissions to update.
path Parameters
key required | string A Project key or ID |
Request Body schema: application/jsonrequired
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
- Payload
{- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "title": "string",
- "description": "string",
- "enabled": true,
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": "center"
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "disablePassthroughRollouts": true
}
}
Response samples
- 200
- 400
- 404
- 409
{- "_id": "61450f3daec96f5cf4a49946",
- "_organization": "string",
- "_createdBy": "string",
- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hasJiraIntegration": true,
- "hasReceivedCodeUsages": true,
- "hasUserConfigFetch": true,
- "jiraBaseUrl": "string",
- "readonly": true,
- "vercelEdgeConfigConnections": [
- {
- "edgeConfigName": "string",
- "configurationId": "string"
}
]
}
Update Publisher Restricted Settings for a Project
Update a subset of settings for a Project that only requires publisher permissions
path Parameters
key required | string A Project key or ID |
Request Body schema: application/jsonrequired
required | object (ProjectSettings) | ||||||||||||||||
|
Responses
Request samples
- Payload
{- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}
}
Response samples
- 200
- 400
- 404
- 409
{- "_id": "61450f3daec96f5cf4a49946",
- "_organization": "string",
- "_createdBy": "string",
- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hasJiraIntegration": true,
- "hasReceivedCodeUsages": true,
- "hasUserConfigFetch": true,
- "jiraBaseUrl": "string",
- "readonly": true,
- "vercelEdgeConfigConnections": [
- {
- "edgeConfigName": "string",
- "configurationId": "string"
}
]
}
Update Protected Settings for a Project
Update the Protect Settings for a Project by ID or key
path Parameters
key required | string A Project key or ID |
Request Body schema: application/jsonrequired
required | object (ProtectedProjectSettingsDto) | ||||
|
Responses
Request samples
- Payload
{- "settings": {
- "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "users": [
- "string"
], - "frequency": "weekly"
}
}
}
}
Response samples
- 200
- 400
- 404
- 409
{- "_id": "61450f3daec96f5cf4a49946",
- "_organization": "string",
- "_createdBy": "string",
- "name": "Delivery App",
- "key": "delivery-app",
- "description": "A web app to manage outbound deliveries",
- "color": "#4073FF",
- "settings": {
- "edgeDB": {
- "enabled": true
}, - "optIn": {
- "enabled": true,
- "title": "string",
- "description": "string",
- "imageURL": "string",
- "colors": {
- "primary": "string",
- "secondary": "string"
}, - "poweredByAlignment": { }
}, - "sdkTypeVisibility": {
- "enabledInFeatureSettings": true
}, - "lifeCycle": {
- "disableCodeRefChecks": true
}, - "obfuscation": {
- "enabled": true,
- "required": true
}, - "featureApprovalWorkflow": {
- "enabled": true,
- "allowPublisherBypass": true,
- "defaultReviewers": [
- "string"
]
}, - "disablePassthroughRollouts": true,
- "staleness": {
- "enabled": true,
- "released": {
- "enabled": true
}, - "unmodifiedLong": {
- "enabled": true
}, - "unmodifiedShort": {
- "enabled": true
}, - "unused": {
- "enabled": true
}, - "email": {
- "enabled": true,
- "frequency": "weekly",
- "users": [
- "string"
], - "lastNotification": "2019-08-24T14:15:22Z"
}
}
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "hasJiraIntegration": true,
- "hasReceivedCodeUsages": true,
- "hasUserConfigFetch": true,
- "jiraBaseUrl": "string",
- "readonly": true,
- "vercelEdgeConfigConnections": [
- {
- "edgeConfigName": "string",
- "configurationId": "string"
}
]
}
Get all stale Features for a Project
Get all stale Features for a Project
path Parameters
key required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
createdBy | string |
includeSilenced | boolean Default: false |
Responses
Response samples
- 200
- 404
[- {
- "key": "string",
- "name": "string",
- "_feature": "string",
- "stale": true,
- "updatedAt": "2019-08-24T14:15:22Z",
- "disabled": true,
- "snoozedUntil": "2019-08-24T14:15:22Z",
- "reason": "released",
- "metaData": { }
}
]
Create Environment
Create a new environment for a project. The environment key must be unique within the project. Multiple environments can share a type. Creating an environment will auto-generate a set of SDK Keys for the various types of SDKs. When permissions are enabled for the organization, the token must have Publisher permissions for the environment to be created.
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "name": "Staging Upcoming",
- "key": "staging-upcoming",
- "description": "Pre-production changes",
- "color": "#4073FF",
- "type": "staging",
- "settings": {
- "appIconURI": "string"
}
}
Response samples
- 201
- 400
- 409
{- "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": {
- "mobile": [
- { }
], - "client": [
- { }
], - "server": [
- { }
]
}, - "settings": {
- "appIconURI": "string"
}, - "readonly": true
}
List Environments
List all environments for a project. If a token does not have permission to view protected environments the environments will be filtered to only show non-protected environments SDK Keys for security.
path Parameters
project required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
createdBy | string |
Responses
Response samples
- 200
- 400
[- {
- "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": {
- "mobile": [
- { }
], - "client": [
- { }
], - "server": [
- { }
]
}, - "settings": {
- "appIconURI": "string"
}, - "readonly": true
}
]
Get an Environment
Returns the environment; if the token does not have permission to view protected environments, the environment will be filtered to only show non-protected SDK Keys for security.
path Parameters
key required | string A Environment key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 200
- 404
{- "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": {
- "mobile": [
- { }
], - "client": [
- { }
], - "server": [
- { }
]
}, - "settings": {
- "appIconURI": "string"
}, - "readonly": true
}
Update an Environment
Update an environment by ID or key. The environment key (if edited) must be unique within the project. If permissions are enabled, changing a protected environment type requires Publisher permissions
path Parameters
key required | string A Environment key or ID |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "name": "Staging Upcoming",
- "key": "staging-upcoming",
- "description": "Pre-production changes",
- "color": "#4073FF",
- "type": "staging",
- "settings": {
- "appIconURI": "string"
}
}
Response samples
- 200
- 400
- 404
- 409
{- "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": {
- "mobile": [
- { }
], - "client": [
- { }
], - "server": [
- { }
]
}, - "settings": {
- "appIconURI": "string"
}, - "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
- 404
- 405
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Generate SDK Keys
Generate new SDK keys for an environment, for any or all of the SDK types. This is the expected and recommended way to rotate SDK keys. Adding a new SDK key will not invalidate existing SDK keys. Generating new keys is restricted for protected environments to those with Publisher permissions
path Parameters
environment required | string An Environment key or ID |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
client | boolean |
server | boolean |
mobile | boolean |
Responses
Request samples
- Payload
{- "client": true,
- "server": true,
- "mobile": true
}
Response samples
- 200
- 201
- 400
- 404
{- "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": {
- "mobile": [
- { }
], - "client": [
- { }
], - "server": [
- { }
]
}, - "settings": {
- "appIconURI": "string"
}, - "readonly": true
}
Invalidate an SDK key
This will invalidate all configs associated with a given key. This is an instantaneous change and all SDKs using this key will stop working immediately. This is the expected and recommended way to rotate SDK keys.
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
- 404
- 405
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Create Audience
Create a new Audience
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "tags": [
- "string"
]
}
Response samples
- 201
- 400
- 409
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "source": "api",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
], - "readonly": true
}
List Audiences
List Audiences
path Parameters
project required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
createdBy | string |
Responses
Response samples
- 200
[- {
- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "source": "api",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
], - "readonly": true
}
]
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
- 200
- 404
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "source": "api",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
], - "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/jsonrequired
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 |
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
- Payload
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "tags": [
- "string"
]
}
Response samples
- 200
- 400
- 404
- 409
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "source": "api",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
], - "readonly": true
}
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
- 200
- 404
{- "features": [
- {
- "key": "string",
- "name": "string",
- "id": "string",
- "environments": { }
}
]
}
Create a Variable
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
_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 | |
tags | Array of strings Tags to organize Variables on the dashboard |
Responses
Request samples
- Payload
{- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "Dashboard",
- "QA"
]
}
Response samples
- 201
- 400
- 409
{- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
List Variables
path Parameters
project required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
feature | string |
type | string Enum: "String" "Boolean" "Number" "JSON" |
status | string Enum: "active" "archived" |
Responses
Response samples
- 200
- 400
[- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
]
Get a Variable
path Parameters
key required | string A Variable key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 200
- 404
{- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
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/jsonrequired
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 |
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 |
tags | Array of strings Tags to organize Variables on the dashboard |
Responses
Request samples
- Payload
{- "name": "Show New Dashboard",
- "description": "A boolean variable that will toggle the new dashboard feature",
- "key": "show-new-dashboard",
- "type": "Boolean",
- "validationSchema": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
Response samples
- 200
- 400
- 404
- 409
{- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
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/jsonrequired
status required | string Enum: "active" "archived" Status field indicating whether a variable is actively being used, or is archived. |
Responses
Request samples
- Payload
{- "status": "active"
}
Response samples
- 200
- 400
- 404
- 412
{- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
Create Feature
Create a new Feature
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "Dashboard",
- "QA"
]
}
], - "variations": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}
}
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "type": "release",
- "tags": [
- "Dashboard",
- "QA"
]
}
Response samples
- 201
- 400
- 409
- 412
{- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
List Features
List Features
path Parameters
project required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
createdBy | string |
type | string Enum: "release" "experiment" "permission" "ops" |
status | string Enum: "active" "complete" "archived" |
Responses
Response samples
- 200
- 400
[- {
- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
]
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/jsonrequired
Responses
Request samples
- Payload
[- "string"
]
Response samples
- 201
- 400
- 409
- 412
[- {
- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
]
Get a Feature
Get a Feature by ID or key
path Parameters
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 200
- 404
{- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
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/jsonrequired
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 |
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
- Payload
{- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "Dashboard",
- "QA"
]
}
], - "variations": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}
}
], - "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "type": "release",
- "tags": [
- "Dashboard",
- "QA"
], - "controlVariation": "string"
}
Response samples
- 200
- 400
- 404
- 409
- 412
{- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
Delete a Feature
Delete a Feature by ID or key
path Parameters
feature required | string |
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
- 404
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Update a Feature's status
Update a Feature's status by key
path Parameters
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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
- Payload
{- "status": "active",
- "staticVariation": "string"
}
Response samples
- 200
- 400
- 404
- 409
- 412
{- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
Get a Feature's Static Configuration
Get a completed Feature's static configuration
path Parameters
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 200
- 412
{- "variables": { },
- "environments": { },
- "readonly": true,
- "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
Update a Feature's Static Configuration
Update a completed Feature's static configuration
path Parameters
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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
- Payload
{- "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "variables": { },
- "environments": { }
}
Response samples
- 200
- 412
{- "variables": { },
- "environments": { },
- "readonly": true,
- "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
Link feature to Jira issue
path Parameters
feature required | string |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
issueId required | string |
Responses
Request samples
- Payload
{- "issueId": "string"
}
Response samples
- 201
- 400
- 404
- 409
- 412
{- "issueId": "string"
}
Unlink feature from Jira issue
path Parameters
feature required | string |
issue_id required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 404
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Create a Feature Variation
Create a new variation within a Feature
path Parameters
project required | string A Project key or ID |
feature required | string A Feature key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}
}
Response samples
- 201
- 400
- 409
- 412
{- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
List Feature Variations
Get a list of variations for a feature
path Parameters
feature required | string A Feature key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 200
[- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
]
Get a Feature Variation
Get a variation by ID or key
path Parameters
key required | string A Variation key or ID |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
Responses
Response samples
- 200
- 404
{- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
Update a Feature Variation
Update a variation by ID or key
path Parameters
key required | string A Feature key or ID |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "string"
}
Response samples
- 200
- 400
- 404
- 409
{- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
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
- 200
[- {
- "_feature": "61450f3daec96f5cf4a49946",
- "_environment": "61450f3daec96f5cf4a49946",
- "_createdBy": "string",
- "status": "active",
- "startedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "targets": [
- {
- "_id": "61450f3daec96f5cf4a49946",
- "name": "Feature Enabled",
- "audience": {
- "name": "Android Users",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}
}, - "rollout": {
- "startPercentage": 1,
- "type": "schedule",
- "startDate": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "percentage": 1,
- "type": "linear",
- "date": "2019-08-24T14:15:22Z"
}
]
}, - "distribution": [
- {
- "percentage": 0.5,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
]
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/jsonrequired
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
- Payload
{- "targets": [
- {
- "_id": "61450f3daec96f5cf4a49946",
- "name": "Feature Enabled",
- "rollout": {
- "startPercentage": 1,
- "type": "schedule",
- "startDate": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "percentage": 1,
- "type": "linear",
- "date": "2019-08-24T14:15:22Z"
}
]
}, - "distribution": [
- {
- "percentage": 0.5,
- "_variation": "variation-1"
}
], - "audience": {
- "name": "Android Users",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}
}
}
], - "status": "active"
}
Response samples
- 200
- 400
- 404
{- "_feature": "61450f3daec96f5cf4a49946",
- "_environment": "61450f3daec96f5cf4a49946",
- "_createdBy": "string",
- "status": "active",
- "startedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "targets": [
- {
- "_id": "61450f3daec96f5cf4a49946",
- "name": "Feature Enabled",
- "audience": {
- "name": "Android Users",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}
}, - "rollout": {
- "startPercentage": 1,
- "type": "schedule",
- "startDate": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "percentage": 1,
- "type": "linear",
- "date": "2019-08-24T14:15:22Z"
}
]
}, - "distribution": [
- {
- "percentage": 0.5,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
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
- 200
{- "result": {
- "evaluations": [
- {
- "values": { },
- "date": "2019-08-24T14:15:22Z"
}
]
}, - "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
- 200
{- "result": {
- "evaluations": [
- {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}
]
}, - "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
- 200
{- "result": {
- "evaluations": [
- {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}
]
}, - "cached": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
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
- 200
{- "_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
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
dvcUserId | string or null DVC User Id for User Profile. |
Responses
Request samples
- Payload
{- "dvcUserId": "dvc_sdk_user_id"
}
Response samples
- 200
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "a0_user": "string",
- "dvcUserId": "dvc_sdk_user_id",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
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 >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
environment | string |
a0_user | string |
startDate | string <date-time> |
endDate | string <date-time> |
Responses
Response samples
- 200
[- {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}
]
Create Custom Property
Create a new Custom Property
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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.. |
object Schema definition for the custom property. |
Responses
Request samples
- Payload
{- "name": "Delivery App",
- "key": "delivery-app",
- "type": "String",
- "propertyKey": "Delivery App Secret Agent Code",
- "schema": {
- "schemaType": "enum",
- "required": true,
- "enumSchema": {
- "allowedValues": [
- {
- "label": "string",
- "value": { }
}
], - "allowAdditionalValues": true
}
}
}
Response samples
- 201
- 400
- 409
{- "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",
- "schema": {
- "schemaType": "enum",
- "required": true,
- "enumSchema": {
- "allowedValues": [
- {
- "label": "string",
- "value": { }
}
], - "allowAdditionalValues": true
}
}
}
List Custom Properties
List Custom Properties
path Parameters
project required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
type | string Enum: "String" "Boolean" "Number" |
Responses
Response samples
- 200
- 400
[- {
- "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",
- "schema": {
- "schemaType": "enum",
- "required": true,
- "enumSchema": {
- "allowedValues": [
- {
- "label": "string",
- "value": { }
}
], - "allowAdditionalValues": true
}
}
}
]
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
- 200
{- "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",
- "schema": {
- "schemaType": "enum",
- "required": true,
- "enumSchema": {
- "allowedValues": [
- {
- "label": "string",
- "value": { }
}
], - "allowAdditionalValues": true
}
}
}
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/jsonrequired
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 |
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" |
object Schema definition for the custom property. |
Responses
Request samples
- Payload
{- "name": "Delivery App",
- "key": "delivery-app",
- "propertyKey": "Delivery App Secret Agent Code",
- "type": "String",
- "schema": {
- "schemaType": "enum",
- "required": true,
- "enumSchema": {
- "allowedValues": [
- {
- "label": "string",
- "value": { }
}
], - "allowAdditionalValues": true
}
}
}
Response samples
- 200
- 400
- 409
{- "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",
- "schema": {
- "schemaType": "enum",
- "required": true,
- "enumSchema": {
- "allowedValues": [
- {
- "label": "string",
- "value": { }
}
], - "allowAdditionalValues": true
}
}
}
Create Metric
Create a new Metric
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "name": "New Signups",
- "key": "new-signups",
- "description": "New signups on the dashboard",
- "event": "Sign Ups",
- "dimension": "COUNT_PER_UNIQUE_USER",
- "optimize": "increase"
}
Response samples
- 201
- 400
- 409
{- "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 >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
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
- 200
- 400
[- {
- "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"
}
]
Response samples
- 200
- 404
{- "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/jsonrequired
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 |
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
- Payload
{- "name": "New Signups",
- "key": "new-signups",
- "description": "New signups on the dashboard",
- "event": "Sign Ups",
- "dimension": "COUNT_PER_UNIQUE_USER",
- "optimize": "increase"
}
Response samples
- 200
- 400
- 404
{- "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"
}
Fetch results for a Metric
path Parameters
key required | string |
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
- 200
- 400
- 404
{- "result": {
- "dataSeries": [
- {
- "date": "2019-08-24T14:15:22Z",
- "values": { }
}
], - "variations": [
- {
- "key": "string",
- "name": "string",
- "numerator": 0,
- "denominator": 0,
- "rate": 0,
- "avgValue": 0,
- "totalValue": 0,
- "stdev": 0,
- "percentDifference": 0,
- "chanceToBeatControl": 0
}
]
}, - "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
- 200
- 400
{- "result": {
- "dataSeries": [
- {
- "date": "2019-08-24T14:15:22Z",
- "values": { }
}
], - "variations": [
- {
- "key": "string",
- "name": "string",
- "numerator": 0,
- "denominator": 0,
- "rate": 0,
- "avgValue": 0,
- "totalValue": 0,
- "stdev": 0,
- "percentDifference": 0,
- "chanceToBeatControl": 0
}
]
}, - "cached": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
Get Metric Associations
path Parameters
project required | string A Project key or ID |
query Parameters
metric | string |
feature | string |
Responses
Response samples
- 200
- 400
[- {
- "_project": "string",
- "feature": {
- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}, - "metric": {
- "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"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
]
Associate a Metric with a Feature
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
metric required | string |
feature required | string |
Responses
Request samples
- Payload
{- "metric": "string",
- "feature": "string"
}
Response samples
- 201
{- "_project": "string",
- "feature": {
- "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": [
- {
- "key": "variation-1",
- "name": "User's with dashboard access",
- "variables": {
- "show-new-dashboard": true,
- "string-var": "hello world",
- "bool-var": true,
- "num-var": 99,
- "json-var": {
- "foo": "bar"
}
}, - "_id": "61450f3daec96f5cf4a49946"
}
], - "controlVariation": "string",
- "staticVariation": "string",
- "variables": [
- {
- "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": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "persistent": true,
- "tags": [
- "Dashboard",
- "QA"
]
}
], - "tags": [
- "Dashboard",
- "QA"
], - "ldLink": "string",
- "readonly": true,
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}, - "metric": {
- "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"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
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/jsonrequired
environment required | string |
variation required | string |
Responses
Request samples
- Payload
{- "environment": "string",
- "variation": "string"
}
Response samples
- 200
- 400
{- "_project": "string",
- "_environment": "string",
- "_feature": "string",
- "_variation": "string",
- "dvcUserId": "string",
- "createdAt": 0,
- "updatedAt": 0,
- "a0_user": "string"
}
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
- 200
{- "overrides": {
- "property1": [
- {
- "_project": "string",
- "_environment": "string",
- "_feature": "string",
- "_variation": "string",
- "dvcUserId": "string",
- "createdAt": 0,
- "updatedAt": 0,
- "a0_user": "string"
}
], - "property2": [
- {
- "_project": "string",
- "_environment": "string",
- "_feature": "string",
- "_variation": "string",
- "dvcUserId": "string",
- "createdAt": 0,
- "updatedAt": 0,
- "a0_user": "string"
}
]
}, - "uniqueTeamMembers": 0
}
Get all overrides for project for current user
path Parameters
project required | string A Project key or ID |
Responses
Response samples
- 200
[- {
- "_feature": "string",
- "featureName": "string",
- "_environment": "string",
- "environmentName": "string",
- "_variation": "string",
- "variationName": "string"
}
]
[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/jsonrequired
required | Array of objects (AudiencePatchInstructionsDto) | ||||
Array
|
Responses
Request samples
- Payload
{- "instructions": [
- {
- "op": "addFilterValues",
- "action": {
- "values": { },
- "filterIndex": "string"
}
}
]
}
Response samples
- 400
{- "statusCode": 400,
- "message": [
- "key should not be empty"
], - "error": "Bad Request"
}
Create Webhook
Create a new Webhook
path Parameters
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 100 ] characters The name of the Webhook |
description | string <= 1000 characters The description of the Webhook |
outputFormat | object |
_feature | string |
_environments | Array of strings |
events required | Array of strings The events that trigger the webhook |
url required | string The URL to call once the type is triggered |
Responses
Request samples
- Payload
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "outputFormat": { },
- "_feature": "string",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
],
}
Response samples
- 201
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "_feature": "61450f3daec96f5cf4a49956",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "source": "dashboard",
- "createdBy": "auth0|61450f3daec96f5cf4a49955",
- "createdAt": "2021-09-17T16:47:01.000Z",
- "updatedAt": "2021-09-17T16:47:01.000Z",
- "outputFormat": { },
- "_slackIntegration": "string"
}
List Webhooks
List Webhooks
path Parameters
project required | string A Project key or ID |
query Parameters
page | number >= 1 Default: 1 |
perPage | number [ 1 .. 1000 ] Default: 100 |
sortBy | string Default: "createdAt" Enum: "createdAt" "updatedAt" "name" "key" "createdBy" "propertyKey" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
search | string >= 3 characters |
createdBy | string |
Responses
Response samples
- 200
[- {
- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "_feature": "61450f3daec96f5cf4a49956",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "source": "dashboard",
- "createdBy": "auth0|61450f3daec96f5cf4a49955",
- "createdAt": "2021-09-17T16:47:01.000Z",
- "updatedAt": "2021-09-17T16:47:01.000Z",
- "outputFormat": { },
- "_slackIntegration": "string"
}
]
Update Webhook
Update a Webhook
path Parameters
id required | string |
project required | string A Project key or ID |
Request Body schema: application/jsonrequired
name | string [ 1 .. 100 ] characters The name of the Webhook |
description | string <= 1000 characters The description of the Webhook |
_feature required | string |
_environments required | Array of strings |
events | Array of strings The events that trigger the webhook |
url | string The URL to call once the type is triggered |
outputFormat | object |
Responses
Request samples
- Payload
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_feature": "string",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "outputFormat": { }
}
Response samples
- 200
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "_feature": "61450f3daec96f5cf4a49956",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "source": "dashboard",
- "createdBy": "auth0|61450f3daec96f5cf4a49955",
- "createdAt": "2021-09-17T16:47:01.000Z",
- "updatedAt": "2021-09-17T16:47:01.000Z",
- "outputFormat": { },
- "_slackIntegration": "string"
}
Get a Webhook
Get a webhook by ID
path Parameters
id required | string |
project required | string A Project key or ID |
Responses
Response samples
- 200
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "_feature": "61450f3daec96f5cf4a49956",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "source": "dashboard",
- "createdBy": "auth0|61450f3daec96f5cf4a49955",
- "createdAt": "2021-09-17T16:47:01.000Z",
- "updatedAt": "2021-09-17T16:47:01.000Z",
- "outputFormat": { },
- "_slackIntegration": "string"
}
Delete a Webhook
Delete a webhook by ID
path Parameters
id required | string |
project required | string A Project key or ID |
Responses
Response samples
- 200
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "61450f3daec96f5cf4a49955",
- "_feature": "61450f3daec96f5cf4a49956",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "source": "dashboard",
- "createdBy": "auth0|61450f3daec96f5cf4a49955",
- "createdAt": "2021-09-17T16:47:01.000Z",
- "updatedAt": "2021-09-17T16:47:01.000Z",
- "outputFormat": { },
- "_slackIntegration": "string"
}