Modify a feature toggle
PATCH <your-unleash-url>/api/admin/projects/:projectId/features/:featureName
Authorization
name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
Change specific properties of a feature toggle.
Request
Path Parameters
- projectId string required
- featureName string required
- application/json
Body
arrayrequired
patchesSchema
- Array [
- path string required
The path to the property to operate on
- op string required
Possible values: [
add
,remove
,replace
,copy
,move
]The kind of operation to perform
- from string
The target to move or copy from, if performing one of those operations
- value
The value to add or replace, if performing one of those operations
- ]
- 200
- 401
- 403
- 404
- 415
featureSchema
- application/json
- Schema
- Example (from schema)
Schema
- name string required
Unique feature name
- type string
Type of the toggle e.g. experiment, kill-switch, release, operational, permission
- description string nullable
Detailed description of the feature
- archived boolean
true
if the feature is archived - project string
Name of the project the feature belongs to
- enabled boolean
true
if the feature is enabled, otherwisefalse
. - stale boolean
true
if the feature is stale based on the age and feature type, otherwisefalse
. - favorite boolean
true
if the feature was favorited, otherwisefalse
. - impressionData boolean
true
if the impression data collection is enabled for the feature, otherwisefalse
. - createdAt date-time nullable
The date the feature was created
- archivedAt date-time nullable
The date the feature was archived
- lastSeenAt date-time nullable deprecated
The date when metrics where last collected for the feature. This field is deprecated, use the one in featureEnvironmentSchema
environments object[]
variants object[]deprecated
- strategies object[] deprecated
This is a legacy field that will be deprecated
tags object[]nullable
- children string[]
The list of child feature names. This is an experimental field and may change.
lifecycle object
dependencies object[]
{
"name": "disable-comments",
"type": "kill-switch",
"description": "Controls disabling of the comments section in case of an incident",
"archived": true,
"project": "dx-squad",
"enabled": true,
"stale": false,
"favorite": true,
"impressionData": false,
"createdAt": "2023-01-28T15:21:39.975Z",
"archivedAt": "2023-01-29T15:21:39.975Z",
"environments": [
{
"name": "my-dev-env",
"featureName": "disable-comments",
"environment": "development",
"type": "development",
"enabled": true,
"sortOrder": 3,
"variantCount": 0,
"strategies": [
{
"id": "6b5157cb-343a-41e7-bfa3-7b4ec3044840",
"name": "flexibleRollout",
"title": "Gradual Rollout 25-Prod",
"disabled": false,
"featureName": "myAwesomeFeature",
"sortOrder": 9999,
"segments": [
1,
2
],
"constraints": [
{
"contextName": "appName",
"operator": "IN",
"caseInsensitive": false,
"inverted": false,
"values": [
"my-app",
"my-other-app"
],
"value": "my-app"
}
],
"variants": [
{
"name": "blue_group",
"weight": 0,
"weightType": "fix",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
}
}
],
"parameters": {}
}
],
"variants": [
{
"name": "blue_group",
"weight": 0,
"weightType": "variable",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
},
"overrides": [
{
"contextName": "userId",
"values": [
"red",
"blue"
]
}
]
}
],
"lastSeenAt": "2023-01-28T16:21:39.975Z",
"hasStrategies": true,
"hasEnabledStrategies": true
}
],
"tags": [
{
"value": "a-tag-value",
"type": "simple"
}
],
"children": [
"some-feature"
],
"lifecycle": {
"stage": "initial",
"enteredStageAt": "2023-01-28T15:21:39.975Z"
},
"dependencies": [
{
"feature": "some-feature",
"enabled": true,
"variants": [
"some-feature-blue-variant"
]
}
]
}
Authorization information is missing or invalid. Provide a valid API token as the authorization
header, e.g. authorization:*.*.my-admin-token
.
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "AuthenticationRequired",
"message": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login."
}
The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NoAccessError",
"message": "You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment."
}
The requested resource was not found.
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NotFoundError",
"message": "Could not find the addon with ID \"12345\"."
}
The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the "content-type" header.
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "ContentTypeerror",
"message": "We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format."
}
Authorization
name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
Request
Request
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'
curl -L -X PATCH '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '[
{
"path": "/type",
"op": "replace",
"from": "/type",
"value": "kill-switch"
}
]'