Skip to main content

Get a health report for a project.

GET 

<your-unleash-url>/api/admin/projects/:projectId/health-report

deprecated

This endpoint has been deprecated and may be replaced or removed in future versions of the API.

This endpoint returns a health report for the specified project. This data is used for the technical debt insights

Request

Path Parameters

    projectId stringrequired

Responses

healthReportSchema

Schema
    versionintegerrequired

    The project overview version.

    Example: 1
    namestringrequired

    The project's name

    Example: enterprisegrowth
    descriptionstringnullable

    The project's description

    Example: The project for all things enterprisegrowth
    defaultStickinessstringrequired

    A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy

    Example: userId
    modestringrequired

    The project's collaboration mode. Determines whether non-project members can submit change requests or not.

    Possible values: [open, protected, private]

    Example: open
    featureLimitnumbernullable

    A limit on the number of features allowed in the project. Null if no limit.

    Example: 100
    membersintegerrequired

    The number of users/members in the project.

    Example: 5
    healthintegerrequired

    The overall health rating of the project.

    Example: 95
    environments object[]required

    An array containing the names of all the environments configured for the project.

  • Array [
  • environmentstringrequired

    The environment to add to the project

    Example: development
    changeRequestsEnabledboolean

    Whether change requests should be enabled or for this environment on the project or not

    Example: true
    defaultStrategy object

    A default strategy to create for this environment on the project.

    namestringrequired

    The name of the strategy type

    Example: flexibleRollout
    titlestringnullable

    A descriptive title for the strategy

    Example: Gradual Rollout 25-Prod
    disabledbooleannullable

    A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs

    Example: false
    sortOrdernumber

    The order of the strategy in the list

    Example: 9999
    constraints object[]

    A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints

  • Array [
  • contextNamestringrequired

    The name of the context field that this constraint should apply to.

    Example: appName
    operatorstringrequired

    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]

    Example: IN
    caseInsensitiveboolean

    Whether the operator should be case sensitive or not. Defaults to false (being case sensitive).

    Default value: false
    invertedboolean

    Whether the result should be negated or not. If true, will turn a true result into a false result and vice versa.

    Default value: false
    valuesstring[]

    The context values that should be used for constraint evaluation. Use this property instead of value for properties that accept multiple values.

    Example: ["my-app","my-other-app"]
    valuestring

    The context value that should be used for constraint evaluation. Use this property instead of values for properties that only accept single values.

    Example: my-app
  • ]
  • variants object[]

    Strategy level variants

  • Array [
  • namestringrequired

    The variant name. Must be unique for this feature flag

    Example: blue_group
    weightintegerrequired

    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

    weightTypestringrequired

    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]

    Example: fix
    stickinessstringrequired

    The stickiness to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time

    Example: custom.context.field
    payload object

    Extra data configured for this variant

    typestringrequired

    The type of the value. Commonly used types are string, number, json and csv.

    Possible values: [json, csv, string, number]

    valuestringrequired

    The actual value of payload

  • ]
  • parameters object

    A list of parameters for a strategy

    property name*string
    segmentsnumber[]

    Ids of segments to use for this strategy

    Example: [1,2]
  • ]
  • features object[]required

    An array containing an overview of all the features of the project and their individual status

  • Array [
  • namestringrequired

    Unique feature name

    Example: disable-comments
    typestring

    Type of the flag e.g. experiment, kill-switch, release, operational, permission

    Example: kill-switch
    descriptionstringnullable

    Detailed description of the feature

    Example: Controls disabling of the comments section in case of an incident
    archivedboolean

    true if the feature is archived

    Example: true
    projectstring

    Name of the project the feature belongs to

    Example: dx-squad
    enabledboolean

    true if the feature is enabled, otherwise false.

    Example: true
    staleboolean

    true if the feature is stale based on the age and feature type, otherwise false.

    Example: false
    favoriteboolean

    true if the feature was favorited, otherwise false.

    Example: true
    impressionDataboolean

    true if the impression data collection is enabled for the feature, otherwise false.

    Example: false
    createdAtdate-timenullable

    The date the feature was created

    Example: 2023-01-28T15:21:39.975Z
    createdBy object

    User who created the feature flag

    idintegerrequired

    The user id

    Example: 123
    namestringrequired

    Name of the user

    Example: User
    imageUrlstringrequired

    URL used for the user profile image

    Example: https://example.com/242x200.png
    archivedAtdate-timenullable

    The date the feature was archived

    Example: 2023-01-29T15:21:39.975Z
    lastSeenAtdate-timenullabledeprecated

    The date when metrics where last collected for the feature. This field was deprecated in v5, use the one in featureEnvironmentSchema

    Example: 2023-01-28T16:21:39.975Z
    environments object[]

    The list of environments where the feature can be used

  • Array [
  • namestringrequired

    The name of the environment

    Example: my-dev-env
    featureNamestring

    The name of the feature

    Example: disable-comments
    environmentstring

    The name of the environment

    Example: development
    typestring

    The type of the environment

    Example: development
    enabledbooleanrequired

    true if the feature is enabled for the environment, otherwise false.

    Example: true
    sortOrdernumber

    The sort order of the feature environment in the feature environments list

    Example: 3
    variantCountnumber

    The number of defined variants

    strategies object[]

    A list of activation strategies for the feature environment

  • Array [
  • idstring

    A uuid for the feature strategy

    Example: 6b5157cb-343a-41e7-bfa3-7b4ec3044840
    namestringrequired

    The name or type of strategy

    Example: flexibleRollout
    titlestringnullable

    A descriptive title for the strategy

    Example: Gradual Rollout 25-Prod
    disabledbooleannullable

    A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs

    Example: false
    featureNamestring

    The name or feature the strategy is attached to

    Example: myAwesomeFeature
    sortOrdernumber

    The order of the strategy in the list

    Example: 9999
    segmentsnumber[]

    A list of segment ids attached to the strategy

    Example: [1,2]
    constraints object[]

    A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints

  • Array [
  • contextNamestringrequired

    The name of the context field that this constraint should apply to.

    Example: appName
    operatorstringrequired

    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]

    Example: IN
    caseInsensitiveboolean

    Whether the operator should be case sensitive or not. Defaults to false (being case sensitive).

    Default value: false
    invertedboolean

    Whether the result should be negated or not. If true, will turn a true result into a false result and vice versa.

    Default value: false
    valuesstring[]

    The context values that should be used for constraint evaluation. Use this property instead of value for properties that accept multiple values.

    Example: ["my-app","my-other-app"]
    valuestring

    The context value that should be used for constraint evaluation. Use this property instead of values for properties that only accept single values.

    Example: my-app
  • ]
  • variants object[]

    Strategy level variants

  • Array [
  • namestringrequired

    The variant name. Must be unique for this feature flag

    Example: blue_group
    weightintegerrequired

    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

    weightTypestringrequired

    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]

    Example: fix
    stickinessstringrequired

    The stickiness to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time

    Example: custom.context.field
    payload object

    Extra data configured for this variant

    typestringrequired

    The type of the value. Commonly used types are string, number, json and csv.

    Possible values: [json, csv, string, number]

    valuestringrequired

    The actual value of payload

  • ]
  • parameters object

    A list of parameters for a strategy

    property name*string
  • ]
  • variants object[]

    A list of variants for the feature environment

  • Array [
  • namestringrequired

    The variants name. Is unique for this feature flag

    Example: blue_group
    weightnumberrequired

    The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on variant weights for more information

    Possible values: <= 1000

    weightTypestring

    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

    Possible values: [variable, fix]

    Example: variable
    stickinessstring

    Stickiness is how Unleash guarantees that the same user gets the same variant every time

    Example: custom.context.field
    payload object

    Extra data configured for this variant

    typestringrequired

    The type of the value. Commonly used types are string, number, json and csv.

    Possible values: [json, csv, string, number]

    valuestringrequired

    The actual value of payload

    overrides object[]

    Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.

  • Array [
  • contextNamestringrequired

    The name of the context field used to determine overrides

    Example: userId
    valuesstring[]required

    Which values that should be overriden

    Example: ["red","blue"]
  • ]
  • ]
  • lastSeenAtdate-timenullable

    The date when metrics where last collected for the feature environment

    Example: 2023-01-28T16:21:39.975Z
    hasStrategiesboolean

    Whether the feature has any strategies defined.

    hasEnabledStrategiesboolean

    Whether the feature has any enabled strategies defined.

  • ]
  • variants object[]deprecated

    The list of feature variants

  • Array [
  • namestringrequired

    The variants name. Is unique for this feature flag

    Example: blue_group
    weightnumberrequired

    The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on variant weights for more information

    Possible values: <= 1000

    weightTypestring

    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

    Possible values: [variable, fix]

    Example: variable
    stickinessstring

    Stickiness is how Unleash guarantees that the same user gets the same variant every time

    Example: custom.context.field
    payload object

    Extra data configured for this variant

    typestringrequired

    The type of the value. Commonly used types are string, number, json and csv.

    Possible values: [json, csv, string, number]

    valuestringrequired

    The actual value of payload

    overrides object[]

    Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.

  • Array [
  • contextNamestringrequired

    The name of the context field used to determine overrides

    Example: userId
    valuesstring[]required

    Which values that should be overriden

    Example: ["red","blue"]
  • ]
  • ]
  • strategiesobject[]deprecated

    This was deprecated in v5 and will be removed in a future major version

    tags object[]nullable

    The list of feature tags

  • Array [
  • valuestringrequired

    The value of the tag.

    Possible values: >= 2 characters and <= 50 characters

    Example: a-tag-value
    typestringrequired

    The type of the tag

    Possible values: >= 2 characters and <= 50 characters

    Example: simple
  • ]
  • childrenstring[]

    The list of child feature names. This is an experimental field and may change.

    lifecycle object

    Current lifecycle stage of the feature

    stagestringrequired

    The name of the current lifecycle stage

    Possible values: [initial, pre-live, live, completed, archived]

    Example: initial
    enteredStageAtdate-timerequired

    When the feature entered this stage

    Example: 2023-01-28T15:21:39.975Z
    dependencies object[]

    The list of parent dependencies. This is an experimental field and may change.

  • Array [
  • featurestringrequired

    The name of the parent feature

    Example: some-feature
    enabledboolean

    Whether the parent feature is enabled or not

    Example: true
    variantsstring[]

    The list of variants the parent feature should resolve to. Only valid when feature is enabled.

  • ]
  • collaborators object

    Information related to users who have made changes to this feature flage.

    users object[]required

    Users who have made any changes to this feature flags. The list is sorted in reverse chronological order (most recent changes first)

  • Array [
  • idintegerrequired

    The user's id

    Example: 123
    namestringrequired

    The user's name, username, or email (prioritized in that order). If none of those are present, this property will be set to the string unknown

    Example: User
    imageUrlstringrequired

    The URL to the user's profile image

    Example: https://example.com/242x200.png
  • ]
  • ]
  • updatedAtdate-timenullable

    When the project was last updated.

    Example: 2023-04-19T08:15:14.000Z
    createdAtdate-timenullable

    When the project was last updated.

    Example: 2023-04-19T08:15:14.000Z
    favoriteboolean

    Indicates if the project has been marked as a favorite by the current user requesting the project health overview.

    Example: true
    stats object

    Project statistics

    avgTimeToProdCurrentWindownumberrequired

    The average time from when a feature was created to when it was enabled in the "production" environment during the current window

    Example: 10
    createdCurrentWindownumberrequired

    The number of feature flags created during the current window

    Example: 15
    createdPastWindownumberrequired

    The number of feature flags created during the previous window

    Example: 15
    archivedCurrentWindownumberrequired

    The number of feature flags that were archived during the current window

    Example: 5
    archivedPastWindownumberrequired

    The number of feature flags that were archived during the previous window

    Example: 5
    projectActivityCurrentWindownumberrequired

    The number of project events that occurred during the current window

    Example: 100
    projectActivityPastWindownumberrequired

    The number of project events that occurred during the previous window

    Example: 100
    projectMembersAddedCurrentWindownumberrequired

    The number of members that were added to the project during the current window

    Example: 1
    featureNaming object

    Create a feature naming pattern

    patternstringnullablerequired

    A JavaScript regular expression pattern, without the start and end delimiters. Optional flags are not allowed.

    Example: ^[A-Za-z]+\.[A-Za-z]+\.[A-Za-z0-9-]+$
    examplestringnullable

    An example of a feature name that matches the pattern. Must itself match the pattern supplied.

    Example: dx.feature1.1-135
    descriptionstringnullable

    A description of the pattern in a human-readable format. Will be shown to users when they create a new feature flag.

    Example: <project>.<featureName>.<ticket> The flag name should contain the project name, the feature name, and the ticket number, each separated by a dot.
    potentiallyStaleCountnumberrequired

    The number of potentially stale feature flags.

    Example: 5
    activeCountnumberrequired

    The number of active feature flags.

    Example: 2
    staleCountnumberrequired

    The number of stale feature flags.

    Example: 10

Authorization: Authorization

name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
curl -L '<your-unleash-url>/api/admin/projects/:projectId/health-report' \
-H 'Accept: application/json' \
-H 'Authorization: <Authorization>'
Request Collapse all
Base URL
<your-unleash-url>
Auth
Parameters
— pathrequired
ResponseClear

Click the Send API Request button above and see the response here!