DevCycle [Deprecated] Features v1 API
The [Deprecated] Features v1 API from DevCycle — 7 operation(s) for [deprecated] features v1.
The [Deprecated] Features v1 API from DevCycle — 7 operation(s) for [deprecated] features v1.
openapi: 3.1.0
info:
title: DevCycle Bucketing Audiences [Deprecated] Features v1 API
description: Documents the DevCycle Bucketing API which provides an API interface to User Bucketing and for Server SDKs configured to use Cloud Bucketing.
version: 1.3.0
servers:
- url: https://bucketing-api.devcycle.com/
tags:
- name: '[Deprecated] Features v1'
paths:
/v1/projects/{project}/features:
post:
operationId: FeaturesController_create_v1
summary: Create Feature
description: Create a new Feature
parameters:
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFeatureDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feature'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
'409':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictErrorResponse'
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
get:
operationId: FeaturesController_findAll_v1
summary: List Features
description: List Features
parameters:
- name: page
required: false
in: query
schema:
minimum: 1
default: 1
type: number
- name: perPage
required: false
in: query
schema:
minimum: 1
maximum: 1000
default: 100
type: number
- name: sortBy
required: false
in: query
schema:
default: createdAt
enum:
- createdAt
- updatedAt
- name
- key
- propertyKey
type: string
- name: sortOrder
required: false
in: query
schema:
default: desc
enum:
- asc
- desc
type: string
- name: search
required: false
in: query
schema:
minLength: 3
type: string
- name: createdBy
required: false
in: query
schema:
type: string
- name: type
required: false
in: query
schema:
enum:
- release
- experiment
- permission
- ops
type: string
- name: status
required: false
in: query
schema:
enum:
- active
- complete
- archived
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Feature'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
tags:
- '[Deprecated] Features v1'
/v1/projects/{project}/features/multiple:
post:
operationId: FeaturesController_createMultiple_v1
summary: Create Multiple Features with a single request
description: Create multiple new Features
parameters:
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Feature'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
'409':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictErrorResponse'
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
/v1/projects/{project}/features/{feature}:
get:
operationId: FeaturesController_findOne_v1
summary: Get a Feature
description: Get a Feature by ID or key
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: key
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feature'
'401':
description: ''
'403':
description: ''
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
tags:
- '[Deprecated] Features v1'
patch:
operationId: FeaturesController_update_v1
summary: Update a Feature
description: Update a Feature by ID or key
parameters:
- name: feature
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFeatureDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feature'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'409':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictErrorResponse'
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
delete:
operationId: FeaturesController_remove_v1
summary: Delete a Feature
description: Delete a Feature by ID or key
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: deleteVariables
required: false
in: query
description: Controls whether the feature's associated variables should also be deleted
schema:
type: boolean
- name: key
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
responses:
'200':
description: ''
'401':
description: ''
'403':
description: ''
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
tags:
- '[Deprecated] Features v1'
/v1/projects/{project}/features/{feature}/status:
patch:
operationId: FeaturesController_updateStatus_v1
summary: Update a Feature's status
description: Update a Feature's status by key
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: key
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFeatureStatusDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feature'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'409':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictErrorResponse'
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
/v1/projects/{project}/features/{feature}/static-configuration:
get:
operationId: FeaturesController_findStaticConfiguration_v1
summary: Get a Feature's Static Configuration
description: Get a completed Feature's static configuration
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: key
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StaticConfiguration'
'401':
description: ''
'403':
description: ''
'404':
description: ''
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
patch:
operationId: FeaturesController_updateStaticConfiguration_v1
summary: Update a Feature's Static Configuration
description: Update a completed Feature's static configuration
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: key
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateStaticConfigurationDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StaticConfiguration'
'401':
description: ''
'404':
description: ''
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
/v1/projects/{project}/features/{feature}/integrations/jira/issues:
post:
operationId: FeaturesController_linkIssue_v1
summary: Link feature to Jira issue
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LinkJiraIssueDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/JiraIssueLink'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'409':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictErrorResponse'
'412':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedErrorResponse'
tags:
- '[Deprecated] Features v1'
get:
operationId: FeaturesController_findAllLinkedIssues_v1
summary: List linked Jira Issues
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/JiraIssueLink'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorResponse'
'401':
description: ''
'403':
description: ''
'404':
description: ''
tags:
- '[Deprecated] Features v1'
/v1/projects/{project}/features/{feature}/integrations/jira/issues/{issue_id}:
delete:
operationId: FeaturesController_removeLinkedIssue_v1
summary: Unlink feature from Jira issue
parameters:
- name: feature
required: true
in: path
schema:
type: string
- name: issue_id
required: true
in: path
schema:
type: string
- name: key
required: true
in: path
description: A Feature key or ID
schema:
type: string
- name: project
required: true
in: path
description: A Project key or ID
schema:
type: string
responses:
'200':
description: ''
'401':
description: ''
'403':
description: ''
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
tags:
- '[Deprecated] Features v1'
components:
schemas:
AudienceOperatorWithAudienceMatchFilter:
type: object
properties:
filters:
type: array
description: Filters to apply using the "operator" operation
items:
anyOf:
- $ref: '#/components/schemas/AllFilter'
- $ref: '#/components/schemas/UserFilter'
- $ref: '#/components/schemas/UserCountryFilter'
- $ref: '#/components/schemas/UserAppVersionFilter'
- $ref: '#/components/schemas/UserPlatformVersionFilter'
- $ref: '#/components/schemas/UserCustomFilter'
- $ref: '#/components/schemas/AudienceMatchFilter'
operator:
description: Operator type if this object represents an operator, and not a filter
enum:
- and
- or
type: string
required:
- filters
- operator
VariableValidationEntity:
type: object
properties:
schemaType:
type: object
enumValues:
type: object
regexPattern:
type: string
jsonSchema:
type: string
description:
type: string
exampleValue:
type: object
required:
- schemaType
- description
- exampleValue
UpdateFeatureSummaryDto:
type: object
properties:
maintainers:
description: Auth0 maintainers of the feature
type: array
items:
type: string
links:
description: Array of links associated with the feature
type: array
items:
$ref: '#/components/schemas/Link'
markdown:
type: string
FeatureSummary:
type: object
properties:
maintainers:
description: Auth0 maintainers of this feature
type: array
items:
type: string
links:
type: array
items:
$ref: '#/components/schemas/Link'
markdown:
type: string
required:
- maintainers
- links
- markdown
UpdateStaticConfigurationDto:
type: object
properties:
key:
type: string
description: 'Unique key by Project, can be used in the SDK / API to reference by ''key'' rather than _id.
Must only contain lower-case characters and `_`, `-` or `.`.'
example: new-dash
minLength: 1
maxLength: 100
pattern: ^[a-z0-9-_.]+$
name:
type: string
description: Name of the Feature
example: New Dashboard
maxLength: 100
minLength: 1
description:
type: string
description: Feature description.
example: New Dashboard
maxLength: 1000
type:
type: string
description: Feature type.
example: release
enum:
- release
- experiment
- permission
- ops
tags:
description: Feature tags.
example:
- new
- dashboard
type: array
items:
type: string
controlVariation:
type: string
description: The key of the variation that is used as the control variation for Metrics
settings:
description: Feature-level settings.
allOf:
- $ref: '#/components/schemas/FeatureSettingsDto'
sdkVisibility:
description: SDK Type Visibilty Settings
allOf:
- $ref: '#/components/schemas/FeatureSDKVisibilityDto'
staleness:
type: object
summary:
$ref: '#/components/schemas/UpdateFeatureSummaryDto'
variables:
type: object
description: The static value of each variable in the feature
environments:
type: object
description: The status of the configuration in each environment
CreateFeatureDto:
type: object
properties:
key:
type: string
description: 'Unique key by Project, can be used in the SDK / API to reference by ''key'' rather than _id.
Must only contain lower-case characters and `_`, `-` or `.`.'
example: new-dash
minLength: 1
maxLength: 100
pattern: ^[a-z0-9-_.]+$
name:
type: string
description: Name of the Feature
example: New Dashboard
maxLength: 100
minLength: 1
description:
type: string
description: Feature description.
example: New Dashboard
maxLength: 1000
configurations:
type: object
additionalProperties:
$ref: '#/components/schemas/UpdateFeatureConfigDto'
example:
development:
status: active
targets: []
production:
status: inactive
targets: []
type:
type: string
description: Feature type.
example: release
enum:
- release
- experiment
- permission
- ops
tags:
description: Feature tags.
example:
- new
- dashboard
type: array
items:
type: string
variations:
description: Variation configurations to be used by feature configurations.
type: array
items:
$ref: '#/components/schemas/CreateVariationDto'
controlVariation:
type: string
description: The key of the variation that is used as the control variation for Metrics
variables:
description: Variable definitions to be referenced in variations
type: array
items:
$ref: '#/components/schemas/CreateVariableDto'
settings:
description: Feature-level settings.
allOf:
- $ref: '#/components/schemas/FeatureSettingsDto'
sdkVisibility:
description: SDK Type Visibilty Settings
allOf:
- $ref: '#/components/schemas/FeatureSDKVisibilityDto'
required:
- key
- name
- configurations
FeatureSettings:
type: object
properties:
publicName:
type: string
maxLength: 100
minLength: 1
publicDescription:
type: string
maxLength: 1000
optInEnabled:
type: boolean
required:
- publicName
- publicDescription
- optInEnabled
UpdateFeatureConfigDto:
type: object
properties:
status:
type: string
description: Status of the Feature Configuration
enum:
- active
- inactive
targets:
description: The targets to evaluate what variation a user should be delivered
type: array
items:
$ref: '#/components/schemas/UpdateTargetDto'
Variable:
type: object
properties:
name:
type: string
description: Variable name
example: Show New Dashboard
maxLength: 100
minLength: 1
description:
type: string
description: A description of the Variable
example: A boolean variable that will toggle the new dashboard feature
maxLength: 1000
key:
type: string
description: 'Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID.
Must only contain lower-case characters and `_`, `-` or `.`.'
example: show-new-dashboard
minLength: 1
maxLength: 100
pattern: ^[a-z0-9-_.]+$
_id:
type: string
description: A unique Variable ID
example: 61450f3daec96f5cf4a49946
_project:
type: string
description: The ID of the Project this Variable belongs to
_feature:
type: string
description: The ID of the Feature this Variable belongs to
example: 61450f3daec96f5cf4a49947
type:
description: The type of Variable. Must be one of [String | Boolean | Number | JSON]
example: Boolean
enum:
- String
- Boolean
- Number
- JSON
type: string
status:
description: The status of a Variable. Must be one of [active | archived]
example: active
enum:
- active
- archived
type: string
source:
description: The system that was used for the creation of the Variable.
example: api
enum:
- api
- dashboard
- importer
- github.code_usages
- github.pr_insights
- gitlab.code_usages
- gitlab.pr_insights
- bitbucket.code_usages
- bitbucket.pr_insights
- terraform
- cli
- slack
- mcp
type: string
_createdBy:
type: string
description: ID of the User who created the Variable.
createdAt:
format: date-time
type: string
description: The date the Variable was created
updatedAt:
format: date-time
type: string
description: The date the Variable was last updated
validationSchema:
description: Validation schema for variable values
allOf:
- $ref: '#/components/schemas/VariableValidationEntity'
persistent:
type: boolean
description: Boolean indicating if the variable is intended to be long-lived within a feature
tags:
description: Tags to organize Variables on the dashboard
example:
- Dashboard
- QA
type: array
items:
type: string
required:
- key
- _id
- _project
- type
- status
- source
- createdAt
- updatedAt
UserCustomFilter:
type: object
properties:
comparator:
description: Comparator to use
example: '>='
enum:
- '='
- '!='
- '>'
- '>='
- <
- <=
- exist
- '!exist'
- contain
- '!contain'
- startWith
- '!startWith'
- endWith
- '!endWith'
type: string
dataKey:
type: string
description: Data Key used for custom data
example: my_custom_prop
minLength: 1
dataKeyType:
description: Data Key Type used for custom data
example: Number
enum:
- String
- Boolean
- Number
type: string
values:
type: object
description: An array of values is required for all filters except when the comparator is 'exist' or '!exist'
example:
- 0
type:
type: string
description: Filter type of this audience
example: user
default: user
enum:
- user
subType:
type: string
description: Sub type of this filter
example: customData
default: customData
enum:
- customData
required:
- comparator
- dataKey
- dataKeyType
- type
- subType
StaticConfiguration:
type: object
properties:
key:
type: string
description: 'Unique key by Project, can be used in the SDK / API to reference by ''key'' rather than _id.
Must only contain lower-case characters and `_`, `-` or `.`.'
example: new-dash
minLength: 1
maxLength: 100
pattern: ^[a-z0-9-_.]+$
name:
type: string
description: Name of the Feature
example: New Dashboard
maxLength: 100
minLength: 1
description:
type: string
description: Feature description.
example: New Dashboard
maxLength: 1000
variables:
type: object
description: The static value of each variable in the feature
environments:
type: object
description: The status of the configuration in each environment
readonly:
type: boolean
description: Controls whether the static configuration is editable for a given user
type:
description: Feature type.
example: release
enum:
- release
- experiment
- permission
- ops
type: string
tags:
description: Feature tags.
example:
- new
- dashboard
type: array
items:
type: string
controlVariation:
type: string
description: The key of the variation that is used as the control variation for Metrics
settings:
description: Feature-level settings.
allOf:
- $ref: '#/components/schemas/FeatureSettingsDto'
sdkVisibility:
description: SDK Type Visibilty Settings
allOf:
- $ref: '#/components/schemas/FeatureSDKVisibilityDto'
staleness:
type: object
summary:
$ref: '#/components/schemas/UpdateFeatureSummaryDto'
required:
- variables
- environments
- readonly
NotFoundErrorResponse:
type: object
properties:
statusCode:
type: number
description: Response status code
example: 404
message:
type: object
description: Error details
example: Item with key 'key-123' not found
error:
type: string
description: Error type
example: Not Found
required:
- statusCode
- message
- error
ConflictErrorResponse:
type: object
properties:
statusCode:
type: number
description: Response status code
example: 409
message:
type: object
description: Error details
example: Duplicate key 'key-123'
error:
type: string
description: Error type
example: Conflict
errorType:
type: string
example: ERR_DUPE_FEATURE_KEY
required:
- statusCode
- message
- error
- errorType
BadRequestErrorResponse:
type: object
properties:
statusCode:
type: number
description: Response status code
example: 400
message:
type: object
description: Error details
example:
- key should not be empty
error:
type: string
description: Error type
example: Bad Request
required:
- statusCode
- message
- error
UpdateVariationDto:
type: object
properties:
key:
type: string
description: 'Unique key by Feature, can be used in the SDK / API to reference by ''key'' rather th
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/devcycle/refs/heads/main/openapi/devcycle-deprecated-features-v1-api-openapi.yml