Download OpenAPI specification:Download
An API for managing features and variables on the DevCycle platform.
An authorization token can be obtained by making a OAuth request to our token endpoint 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}'
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.
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) |
{- "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,
- "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}
}
{- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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"
}
]
}
Lists all projects that the current API Token has permission to view.
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 |
[- {
- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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 by ID or key.
key required | string A Project key or ID |
{- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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 by ID or key. Certain facets of the project settings require additional permissions to update.
key required | string A Project key or ID |
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) |
{- "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,
- "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}
}
{- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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 subset of settings for a Project that only requires publisher permissions
key required | string A Project key or ID |
required | object (ProjectSettings) | ||||||||||||||||||
|
{- "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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}
}
{- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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 the Protect Settings for a Project by ID or key
key required | string A Project key or ID |
required | object (ProtectedProjectSettingsDto) | ||||
|
{- "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"
}
}
}
}
{- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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
key required | string A Project key or ID |
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 |
[- {
- "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 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.
project required | string A Project key or ID |
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 |
{- "name": "Staging Upcoming",
- "key": "staging-upcoming",
- "description": "Pre-production changes",
- "color": "#4073FF",
- "type": "staging",
- "settings": {
- "appIconURI": "string"
}
}
{- "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 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.
project required | string A Project key or ID |
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 |
[- {
- "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
}
]
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.
key required | string A Environment key or ID |
project required | string A Project key or ID |
{- "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 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
key required | string A Environment key or ID |
project required | string A Project key or ID |
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 |
{- "name": "Staging Upcoming",
- "key": "staging-upcoming",
- "description": "Pre-production changes",
- "color": "#4073FF",
- "type": "staging",
- "settings": {
- "appIconURI": "string"
}
}
{- "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 by ID or key
key required | string A Environment key or ID |
project required | string A Project key or ID |
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
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
environment required | string An Environment key or ID |
project required | string A Project key or ID |
client | boolean |
server | boolean |
mobile | boolean |
{- "client": true,
- "server": true,
- "mobile": true
}
{- "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
}
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.
key required | string An SDK key |
environment required | string An Environment key or ID |
project required | string A Project key or ID |
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Update a Feature by ID or key
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
name | string [ 1 .. 100 ] characters Name of the Feature |
description | string <= 1000 characters Feature description. |
object | |
Array of objects (UpdateVariationDto) Variation configurations to be used by feature configurations. | |
staleness | object |
object (UpdateFeatureSummaryDto) | |
Array of objects (CreateVariableDto) Variable definitions to be referenced in variations | |
type | string Enum: "release" "experiment" "permission" "ops" Feature type. |
tags | Array of strings Feature tags. |
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 |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "configurations": {
- "development": {
- "status": "active",
- "targets": [ ]
}, - "production": {
- "status": "inactive",
- "targets": [ ]
}
}, - "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": "string"
}
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}, - "variables": [
- {
- "name": "Show New Dashboard",
- "description": "A boolean variable that will toggle the new dashboard feature",
- "key": "show-new-dashboard",
- "_feature": "61450f3daec96f5cf4a49947",
- "type": "Boolean",
- "validationSchema": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "new",
- "dashboard"
]
}
], - "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Get a Feature by ID or key
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Create a new Feature
project required | string A Project key or ID |
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 |
name required | string [ 1 .. 100 ] characters Name of the Feature |
description | string <= 1000 characters Feature description. |
required | object |
type | string Enum: "release" "experiment" "permission" "ops" Feature type. |
tags | Array of strings Feature tags. |
Array of objects (CreateVariationDto) Variation configurations to be used by feature configurations. | |
controlVariation | string The key of the variation that is used as the control variation for Metrics |
Array of objects (CreateVariableDto) Variable definitions to be referenced in variations | |
object Feature-level settings. | |
object SDK Type Visibilty Settings |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "configurations": {
- "development": {
- "status": "active",
- "targets": [ ]
}, - "production": {
- "status": "inactive",
- "targets": [ ]
}
}, - "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "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",
- "variables": [
- {
- "name": "Show New Dashboard",
- "description": "A boolean variable that will toggle the new dashboard feature",
- "key": "show-new-dashboard",
- "_feature": "61450f3daec96f5cf4a49947",
- "type": "Boolean",
- "validationSchema": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "new",
- "dashboard"
]
}
], - "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
List Features
project required | string A Project key or ID |
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" |
keys | Array of strings |
includeLatestUpdate | boolean |
staleness | string Enum: "all" "unused" "released" "unmodified" "notStale" |
[- {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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": null
}
], - "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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
]
Get a completed Feature's static configuration
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "variables": { },
- "environments": { },
- "readonly": true,
- "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Update a completed Feature's static configuration
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
name | string [ 1 .. 100 ] characters Name of the Feature |
description | string <= 1000 characters Feature description. |
type | string Enum: "release" "experiment" "permission" "ops" Feature type. |
tags | Array of strings Feature tags. |
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 | |
staleness | object |
object (UpdateFeatureSummaryDto) | |
variables | object The static value of each variable in the feature |
environments | object The status of the configuration in each environment |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}, - "variables": { },
- "environments": { }
}
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "variables": { },
- "environments": { },
- "readonly": true,
- "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Update a Feature's status
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
{- "status": "active",
- "staticVariation": "string"
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Get a Feature's Staleness
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Update a Feature's Staleness
feature required | string A Feature key or ID |
project required | string A Project key or ID |
snoozedUntil | string |
disabled | boolean |
metaData | object |
{- "snoozedUntil": "string",
- "disabled": true,
- "metaData": { }
}
{- "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": { }
}
Update a Feature's summary
feature required | string A Feature key or ID |
project required | string A Project key or ID |
maintainers | Array of strings Auth0 maintainers of the feature |
Array of objects (Link) Array of links associated with the feature | |
markdown | string |
{- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
{- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
Get Audit Log For Feature
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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> |
[- {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}
]
Create a new variation within a Feature
project required | string A Project key or ID |
feature required | string A Feature key or ID |
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 |
{- "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",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Get a list of variations for a feature
feature required | string A Feature key or ID |
project required | string A Project key or ID |
[- {
- "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 variation by ID or key
key required | string A Variation key or ID |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "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 variation by ID or key
key required | string A Feature key or ID |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
{- "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"
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
project required | string A Project key or ID |
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 ID of the Feature this Variable belongs to |
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 Feature tags. |
{- "name": "Show New Dashboard",
- "description": "A boolean variable that will toggle the new dashboard feature",
- "key": "show-new-dashboard",
- "_feature": "61450f3daec96f5cf4a49947",
- "type": "Boolean",
- "validationSchema": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "new",
- "dashboard"
]
}
{- "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"
]
}
project required | string A Project key or ID |
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" |
[- {
- "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"
]
}
]
key required | string A Variable key or ID |
project required | string A Project key or ID |
{- "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"
]
}
key required | string A Variable key or ID |
project required | string A Project key or ID |
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 |
{- "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"
]
}
{- "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"
]
}
key required | string A Variable key or ID |
project required | string A Project key or ID |
status required | string Enum: "active" "archived" Status field indicating whether a variable is actively being used, or is archived. |
{- "status": "active"
}
{- "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 a new Audience
project required | string A Project key or ID |
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 |
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "tags": [
- "string"
]
}
{- "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,
- "hasUsage": true
}
List Audiences
project required | string A Project key or ID |
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 |
includeUsage | boolean |
[- {
- "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,
- "hasUsage": true
}
]
Get an Audience by ID or key
key required | string A Audience key or ID |
project required | string A Project key or ID |
{- "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,
- "hasUsage": true
}
Update an Audience by ID or key
key required | string A Audience key or ID |
project required | string A Project key or ID |
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 |
{- "name": "Android Users",
- "key": "android-users",
- "description": "Users with android devices",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}, - "tags": [
- "string"
]
}
{- "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,
- "hasUsage": true
}
Get the direct usages of an Audiences Usage by Features OR other Audiences by ID or key
key required | string A Audience key or ID |
project required | string A Project key or ID |
{- "features": [
- {
- "key": "string",
- "name": "string",
- "id": "string",
- "environments": { }
}
]
}
Create a new Custom Property
project required | string A Project key or ID |
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. |
{- "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
}
}
}
{- "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
}
}, - "hasUsage": true
}
List Custom Properties
project required | string A Project key or ID |
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" |
includeUsage | boolean |
[- {
- "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
}
}, - "hasUsage": true
}
]
Get a Custom Property by ID or key
key required | string A Custom Property key or ID |
project required | string A Project key or ID |
{- "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
}
}, - "hasUsage": true
}
Update an Custom Property by ID or key
key required | string A Custom Property key or ID |
project required | string A Project key or ID |
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. |
{- "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
}
}
}
{- "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
}
}, - "hasUsage": true
}
Create a new Metric
project required | string A Project key or ID |
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 |
{- "name": "New Signups",
- "key": "new-signups",
- "description": "New signups on the dashboard",
- "event": "Sign Ups",
- "dimension": "COUNT_PER_UNIQUE_USER",
- "optimize": "increase"
}
{- "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"
}
project required | string A Project key or ID |
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" |
[- {
- "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"
}
]
{- "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"
}
key required | string |
project required | string A Project key or ID |
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 |
{- "name": "New Signups",
- "key": "new-signups",
- "description": "New signups on the dashboard",
- "event": "Sign Ups",
- "dimension": "COUNT_PER_UNIQUE_USER",
- "optimize": "increase"
}
{- "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"
}
key required | string |
project required | string A Project key or ID |
feature required | string |
environment | string |
startDate required | string <date-time> |
endDate required | string <date-time> |
{- "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"
}
Fetch metric results with the given parameters
project required | string A Project key or ID |
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> |
{- "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"
}
project required | string A Project key or ID |
metric | string |
feature | string |
[- {
- "_project": "string",
- "feature": {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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": [
- null
], - "operator": "and"
}
}, - "rollout": {
- "startPercentage": 1,
- "type": "schedule",
- "startDate": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "percentage": null,
- "type": null,
- "date": null
}
]
}, - "distribution": [
- {
- "percentage": 0.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}, - "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"
}
]
project required | string A Project key or ID |
metric required | string |
feature required | string |
{- "metric": "string",
- "feature": "string"
}
{- "_project": "string",
- "feature": {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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": null
}
], - "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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}, - "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"
}
Get User Profile for the authenticated User in the specified Project
project required | string A Project key or ID |
{- "_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 a User Profile for Overrides
project required | string A Project key or ID |
dvcUserId | string or null DVC User Id for User Profile. |
{- "dvcUserId": "dvc_sdk_user_id"
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "a0_user": "string",
- "dvcUserId": "dvc_sdk_user_id",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
feature required | string A Feature key or ID |
project required | string A Project key or ID |
environment required | string |
variation required | string |
{- "environment": "string",
- "variation": "string"
}
{- "_project": "string",
- "_environment": "string",
- "_feature": "string",
- "_variation": "string",
- "dvcUserId": "string",
- "createdAt": 0,
- "updatedAt": 0,
- "a0_user": "string"
}
feature required | string A Feature key or ID |
project required | string A Project key or ID |
addMetadata | boolean |
environment | string A Environment key or ID |
{- "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
}
project required | string A Project key or ID |
[- {
- "_feature": "string",
- "featureName": "string",
- "_environment": "string",
- "environmentName": "string",
- "_variation": "string",
- "variationName": "string"
}
]
Create a new Webhook
project required | string A Project key or ID |
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 |
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "outputFormat": { },
- "_feature": "string",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
],
}
{- "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
project required | string A Project key or ID |
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 |
[- {
- "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 a Webhook
id required | string |
project required | string A Project key or ID |
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 |
{- "name": "Slack",
- "description": "Post in Slack when a feature is updated",
- "_feature": "string",
- "_environments": [
- "string"
], - "events": [
- "createdFeature",
- "modifiedFeature"
], - "outputFormat": { }
}
{- "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 by ID
id required | string |
project required | string A Project key or ID |
{- "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 by ID
id required | string |
project required | string A Project key or ID |
{- "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"
}
Semantic Patch Update an Audience by ID or key
key required | string A Audience key or ID |
project required | string A Project key or ID |
required | Array of objects (AudiencePatchInstructionsDto) | ||||
Array
|
{- "instructions": [
- {
- "op": "addFilterValues",
- "action": {
- "values": { },
- "filterIndex": "string"
}
}
]
}
{- "statusCode": 400,
- "message": [
- "key should not be empty"
], - "error": "Bad Request"
}
Fetch total variable evaluations per hour for a feature
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
{- "result": {
- "evaluations": [
- {
- "values": { },
- "date": "2019-08-24T14:15:22Z"
}
]
}, - "cached": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
Fetch unique user variable evaluations per hour for a project
project required | string A Project key or ID |
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 |
{- "result": {
- "evaluations": [
- {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}
]
}, - "cached": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
Fetch total variable evaluations per hour for a project
project required | string A Project key or ID |
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 |
{- "result": {
- "evaluations": [
- {
- "date": "2019-08-24T14:15:22Z",
- "value": 0
}
]
}, - "cached": true,
- "updatedAt": "2019-08-24T14:15:22Z"
}
Get a list of Feature Change Requests for a Project
project required | string A Project key or ID |
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 |
status | string Enum: "draft" "pending" "approved" "applied" "rejected" "cancelled" |
reviewer | string |
[- {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "_feature": "string",
- "status": "draft",
- "operation": "featureUpdate",
- "description": "Enabling production for all users.",
- "reviewers": { },
- "reviews": [
- { }
], - "_createdBy": "string",
- "_updatedBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "feature": {
- "key": "string",
- "name": "string",
- "id": "string"
}
}
]
Create a new Feature Change Request
feature required | string A Feature key or ID |
project required | string A Project key or ID |
path required | string |
method required | string Value: "PATCH" |
body required | object |
{- "path": "string",
- "method": "PATCH",
- "body": { }
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "_baseFeatureSnapshot": "string",
- "_feature": "string",
- "status": "draft",
- "changes": [
- { }
], - "operation": "featureUpdate",
- "description": "Enabling production for all users.",
- "reviewers": { },
- "reviews": [
- { }
], - "_createdBy": "string",
- "_updatedBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Get all pending Feature Change Requests for a Feature
feature required | string A Feature key or ID |
project required | string A Project key or ID |
[- {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "_baseFeatureSnapshot": "string",
- "_feature": "string",
- "status": "draft",
- "changes": [
- { }
], - "operation": "featureUpdate",
- "description": "Enabling production for all users.",
- "reviewers": { },
- "reviews": [
- { }
], - "_createdBy": "string",
- "_updatedBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
Get the latest Feature Change Request for a Feature that is NOT in the 'draft' state
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "_baseFeatureSnapshot": "string",
- "_feature": "string",
- "status": "draft",
- "changes": [
- { }
], - "operation": "featureUpdate",
- "description": "Enabling production for all users.",
- "reviewers": { },
- "reviews": [
- { }
], - "_createdBy": "string",
- "_updatedBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Get a Feature Change Request by ID
id required | string |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "_baseFeatureSnapshot": "string",
- "_feature": "string",
- "status": "draft",
- "changes": [
- { }
], - "operation": "featureUpdate",
- "description": "Enabling production for all users.",
- "reviewers": { },
- "reviews": [
- { }
], - "_createdBy": "string",
- "_updatedBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Submit a Feature Change Request for Review
id required | string |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
description required | string <= 1000 characters |
reviewers required | Array of strings |
{- "description": "string",
- "reviewers": [
- "string"
]
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "_baseFeatureSnapshot": "string",
- "_feature": "string",
- "status": "draft",
- "changes": [
- { }
], - "operation": "featureUpdate",
- "description": "Enabling production for all users.",
- "reviewers": { },
- "reviews": [
- { }
], - "_createdBy": "string",
- "_updatedBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Update a Feature Change Request by ID
id required | string |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
apply | boolean Controls whether the review should also apply the change request to the feature |
action required | string Enum: "approved" "rejected" |
comment required | string |
{- "action": "approved",
- "comment": "string"
}
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Update a Feature Change Request by ID
id required | string |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
description required | string <= 1000 characters |
action required | string Value: "applied" |
{- "description": "string",
- "action": "applied"
}
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Cancel a Feature Change Request by ID
id required | string |
feature required | string A Feature key or ID |
project required | string A Project key or ID |
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
List Feature configurations for all environments or by environment key or ID
feature required | string A Feature key or ID |
project required | string A Project key or ID |
environment | string A Environment key or ID |
[- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
]
Update a Feature configuration by environment key or ID
feature required | string A Feature key or ID |
project required | string A Project key or ID |
environment required | string A Environment key or ID |
status | string Enum: "active" "inactive" Status of the Feature Configuration |
Array of objects (UpdateTargetDto) The targets to evaluate what variation a user should be delivered |
{- "status": "active",
- "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.0005,
- "_variation": "variation-1"
}
], - "audience": {
- "name": "Android Users",
- "filters": {
- "filters": [
- {
- "type": "all"
}
], - "operator": "and"
}
}
}
]
}
{- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
Create a new Feature
project required | string A Project key or ID |
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 |
name required | string [ 1 .. 100 ] characters Name of the Feature |
description | string <= 1000 characters Feature description. |
required | object |
type | string Enum: "release" "experiment" "permission" "ops" Feature type. |
tags | Array of strings Feature tags. |
Array of objects (CreateVariationDto) Variation configurations to be used by feature configurations. | |
controlVariation | string The key of the variation that is used as the control variation for Metrics |
Array of objects (CreateVariableDto) Variable definitions to be referenced in variations | |
object Feature-level settings. | |
object SDK Type Visibilty Settings |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "configurations": {
- "development": {
- "status": "active",
- "targets": [ ]
}, - "production": {
- "status": "inactive",
- "targets": [ ]
}
}, - "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "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",
- "variables": [
- {
- "name": "Show New Dashboard",
- "description": "A boolean variable that will toggle the new dashboard feature",
- "key": "show-new-dashboard",
- "_feature": "61450f3daec96f5cf4a49947",
- "type": "Boolean",
- "validationSchema": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "new",
- "dashboard"
]
}
], - "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
List Features
project required | string A Project key or ID |
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" |
[- {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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": null
}
], - "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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
]
Create multiple new Features
project required | string A Project key or ID |
[- "string"
]
[- {
- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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": null
}
], - "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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
]
Get a Feature by ID or key
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Update a Feature by ID or key
feature required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
name | string [ 1 .. 100 ] characters Name of the Feature |
description | string <= 1000 characters Feature description. |
object | |
Array of objects (UpdateVariationDto) Variation configurations to be used by feature configurations. | |
staleness | object |
object (UpdateFeatureSummaryDto) | |
Array of objects (CreateVariableDto) Variable definitions to be referenced in variations | |
type | string Enum: "release" "experiment" "permission" "ops" Feature type. |
tags | Array of strings Feature tags. |
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 |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "configurations": {
- "development": {
- "status": "active",
- "targets": [ ]
}, - "production": {
- "status": "inactive",
- "targets": [ ]
}
}, - "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": "string"
}
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}, - "variables": [
- {
- "name": "Show New Dashboard",
- "description": "A boolean variable that will toggle the new dashboard feature",
- "key": "show-new-dashboard",
- "_feature": "61450f3daec96f5cf4a49947",
- "type": "Boolean",
- "validationSchema": {
- "schemaType": { },
- "enumValues": { },
- "regexPattern": "string",
- "jsonSchema": "string",
- "description": "string",
- "exampleValue": { }
}, - "tags": [
- "new",
- "dashboard"
]
}
], - "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Delete a Feature by ID or key
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
deleteVariables | boolean Controls whether the feature's associated variables should also be deleted |
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
Update a Feature's status by key
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
{- "status": "active",
- "staticVariation": "string"
}
{- "_id": "61450f3daec96f5cf4a49946",
- "_project": "string",
- "source": "api",
- "status": "active",
- "type": "release",
- "name": "New Dashboard",
- "key": "new-dash",
- "description": "New client-facing dashboard.",
- "_createdBy": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "prodTargetingUpdatedAt": "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
}, - "configurations": [
- {
- "_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.0005,
- "_variation": "variation-1"
}
], - "bucketingKey": "'organization_id"
}
], - "readonly": true,
- "hasStaticConfig": true
}
], - "latestUpdate": {
- "date": "2019-08-24T14:15:22Z",
- "a0_user": "string",
- "changes": [
- { }
]
}, - "changeRequests": [
- { }
], - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Get a completed Feature's static configuration
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "variables": { },
- "environments": { },
- "readonly": true,
- "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
Update a completed Feature's static configuration
feature required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
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 |
name | string [ 1 .. 100 ] characters Name of the Feature |
description | string <= 1000 characters Feature description. |
type | string Enum: "release" "experiment" "permission" "ops" Feature type. |
tags | Array of strings Feature tags. |
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 | |
staleness | object |
object (UpdateFeatureSummaryDto) | |
variables | object The static value of each variable in the feature |
environments | object The status of the configuration in each environment |
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}, - "variables": { },
- "environments": { }
}
{- "key": "new-dash",
- "name": "New Dashboard",
- "description": "New Dashboard",
- "variables": { },
- "environments": { },
- "readonly": true,
- "type": "release",
- "tags": [
- "new",
- "dashboard"
], - "controlVariation": "string",
- "settings": {
- "publicName": "string",
- "publicDescription": "string",
- "optInEnabled": true
}, - "sdkVisibility": {
- "mobile": true,
- "client": true,
- "server": true
}, - "staleness": { },
- "summary": {
- "maintainers": [
- "string"
], - "links": [
- {
- "url": "string",
- "title": "string"
}
], - "markdown": "string"
}
}
feature required | string |
project required | string A Project key or ID |
issueId required | string |
{- "issueId": "string"
}
{- "issueId": "string"
}
feature required | string |
issue_id required | string |
key required | string A Feature key or ID |
project required | string A Project key or ID |
{- "statusCode": 404,
- "message": "Item with key 'key-123' not found",
- "error": "Not Found"
}
dynatraceEnvironmentId required | string |
accessToken required | string |
environmentUrl required | string |
{- "dynatraceEnvironmentId": "string",
- "accessToken": "string",
- "environmentUrl": "string"
}
{- "environments": [
- {
- "dynatraceEnvironmentId": "string",
- "accessToken": "string",
- "environmentUrl": "string",
- "projects": [
- {
- "_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"
}
}, - "dynatrace": {
- "enabled": true,
- "environmentMap": { }
}
}, - "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"
}
]
}
]
}
]
}