Get an overview of a project.
GET/api/admin/projects/:projectId/overview
This endpoint returns an overview of the specified projects stats, project health, number of members, which environments are configured, and the features types in the project.
Request
Path Parameters
Responses
- 200
- 401
- 403
- 404
projectOverviewSchema
- application/json
- Schema
- Example (from schema)
Schema
Array [
Array [
]
Array [
]
]
Array [
]
- MOD1
- MOD2
stats
object
Project statistics
The average time from when a feature was created to when it was enabled in the "production" environment during the current window
10
The number of feature flags created during the current window
15
The number of feature flags created during the previous window
15
The number of feature flags that were archived during the current window
5
The number of feature flags that were archived during the previous window
5
The number of project events that occurred during the current window
100
The number of project events that occurred during the previous window
100
The number of members that were added to the project during the current window
1
The schema version used to describe the project overview
1
The name of this project
dx-squad
Additional information about the project
DX squad feature release
A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy
userId
The project's collaboration mode. Determines whether non-project members can submit change requests or not.
Possible values: [open
, protected
, private
]
open
A limit on the number of features allowed in the project. Null if no limit.
100
featureNaming
object
Create a feature naming pattern
A JavaScript regular expression pattern, without the start and end delimiters. Optional flags are not allowed.
^[A-Za-z]+\.[A-Za-z]+\.[A-Za-z0-9-]+$
An example of a feature name that matches the pattern. Must itself match the pattern supplied.
dx.feature1.1-135
A description of the pattern in a human-readable format. Will be shown to users when they create a new feature flag.
<project>.<featureName>.<ticket>
The flag name should contain the project name, the feature name, and the ticket number, each separated by a dot.
The number of members this project has
4
environments
object[]
The environments that are enabled for this project
The environment to add to the project
development
Whether change requests should be enabled or for this environment on the project or not
true
defaultStrategy
object
A default strategy to create for this environment on the project.
The name of the strategy type
flexibleRollout
A descriptive title for the strategy
Gradual Rollout 25-Prod
A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
false
The order of the strategy in the list
9999
constraints
object[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
The name of the context field that this constraint should apply to.
appName
The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
Possible values: [NOT_IN
, IN
, STR_ENDS_WITH
, STR_STARTS_WITH
, STR_CONTAINS
, NUM_EQ
, NUM_GT
, NUM_GTE
, NUM_LT
, NUM_LTE
, DATE_AFTER
, DATE_BEFORE
, SEMVER_EQ
, SEMVER_GT
, SEMVER_LT
]
IN
Whether the operator should be case sensitive or not. Defaults to false
(being case sensitive).
false
Whether the result should be negated or not. If true
, will turn a true
result into a false
result and vice versa.
false
The context values that should be used for constraint evaluation. Use this property instead of value
for properties that accept multiple values.
["my-app","my-other-app"]
The context value that should be used for constraint evaluation. Use this property instead of values
for properties that only accept single values.
my-app
variants
object[]
Strategy level variants
The variant name. Must be unique for this feature flag
blue_group
The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on variant weights for more information
Possible values: <= 1000
Set to fix
if this variant must have exactly the weight allocated to it. If the type is variable
, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the variant weight documentation.
Possible values: [variable
, fix
]
fix
The stickiness to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The actual value of payload
parameters
object
A list of parameters for a strategy
Ids of segments to use for this strategy
[1,2]
featureTypeCounts
object[]
The number of features of each type that are in this project
Type of the flag e.g. experiment, kill-switch, release, operational, permission
kill-switch
Number of feature flags of this type
1
When the project was last updated.
2023-02-10T08:36:35.262Z
When the project was archived.
2023-02-10T08:36:35.262Z
When the project was created.
2023-02-10T08:36:35.262Z
true
if the project was favorited, otherwise false
.
true
onboardingStatus
object
required
The current onboarding status of the project.
oneOf
Possible values: [onboarding-started
, onboarded
]
onboarding-started
Possible values: [first-flag-created
]
first-flag-created
The name of the feature flag
my-feature-flag
{
"stats": {
"avgTimeToProdCurrentWindow": 10,
"createdCurrentWindow": 15,
"createdPastWindow": 15,
"archivedCurrentWindow": 5,
"archivedPastWindow": 5,
"projectActivityCurrentWindow": 100,
"projectActivityPastWindow": 100,
"projectMembersAddedCurrentWindow": 1
},
"version": 1,
"name": "dx-squad",
"description": "DX squad feature release",
"defaultStickiness": "userId",
"mode": "open",
"featureLimit": 100,
"featureNaming": {
"pattern": "^[A-Za-z]+\\.[A-Za-z]+\\.[A-Za-z0-9-]+$",
"example": "dx.feature1.1-135",
"description": "<project>.<featureName>.<ticket>\n\nThe flag name should contain the project name, the feature name, and the ticket number, each separated by a dot."
},
"members": 4,
"health": 50,
"environments": [
{
"environment": "development"
},
{
"environment": "production",
"defaultStrategy": {
"name": "flexibleRollout",
"constraints": [],
"parameters": {
"rollout": "50",
"stickiness": "customAppName",
"groupId": "stickyFlag"
}
}
}
],
"featureTypeCounts": [
{
"type": "kill-switch",
"count": 1
}
],
"updatedAt": "2023-02-10T08:36:35.262Z",
"archivedAt": "2023-02-10T08:36:35.262Z",
"createdAt": "2023-02-10T08:36:35.262Z",
"favorite": true,
"onboardingStatus": {}
}
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
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
AuthenticationRequired
A description of what went wrong.
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.
{
"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
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
NoAccessError
A description of what went wrong.
You need the "UPDATE_ADDON" permission to perform this action in the "development" environment.
{
"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
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
NotFoundError
A description of what went wrong.
Could not find the addon with ID "12345".
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NotFoundError",
"message": "Could not find the addon with ID \"12345\"."
}