openapi: 3.0.3 servers: - url: https://app.unleash-instance.example.com description: Your Unleash instance (replace with your actual URL) info: title: Unleash Client API version: 7.4.1 security: - apiKey: [] - bearerToken: [] components: securitySchemes: apiKey: type: apiKey in: header name: Authorization description: API key needed to access this API bearerToken: type: http scheme: bearer description: API key needed to access this API, in Bearer token format schemas: addonCreateUpdateSchema: type: object required: - provider - enabled - parameters - events description: Data required to create or update an [Unleash addon](https://docs.getunleash.io/integrate) instance. properties: provider: type: string description: 'The addon provider, such as "webhook" or "slack". This string is **case sensitive** and maps to the provider''s `name` property. The list of all supported providers and their parameters for a specific Unleash instance can be found by making a GET request to the `api/admin/addons` endpoint: the `providers` property of that response will contain all available providers. The default set of providers can be found in the [addons reference documentation](https://docs.getunleash.io/integrate). The default supported options are: - `datadog` for [Datadog](https://docs.getunleash.io/integrate/datadog) - `slack` for [Slack](https://docs.getunleash.io/integrate/slack) - `teams` for [Microsoft Teams](https://docs.getunleash.io/integrate/teams) - `webhook` for [webhooks](https://docs.getunleash.io/integrate/webhook) The provider you choose for your addon dictates what properties the `parameters` object needs. Refer to the documentation for each provider for more information. ' example: webhook description: type: string description: A description of the addon. example: This addon posts updates to our internal feature tracking system whenever a feature is created or updated. enabled: type: boolean description: Whether the addon should be enabled or not. parameters: type: object additionalProperties: {} example: url: http://localhost:4242/webhook description: Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. Consult the documentation for details. events: type: array description: The event types that will trigger this specific addon. items: type: string example: - feature-created - feature-updated projects: type: array description: The projects that this addon will listen to events from. An empty list means it will listen to events from **all** projects. example: - new-landing-project - signups-v2 items: type: string environments: type: array description: The list of environments that this addon will listen to events from. An empty list means it will listen to events from **all** environments. example: - development - production items: type: string addonParameterSchema: type: object additionalProperties: false required: - name - displayName - type - required - sensitive description: An addon parameter definition. properties: name: type: string example: emojiIcon description: The name of the parameter as it is used in code. References to this parameter should use this value. displayName: type: string example: Emoji Icon description: The name of the parameter as it is shown to the end user in the Admin UI. type: type: string description: The type of the parameter. Corresponds roughly to [HTML `input` field types](https://developer.mozilla.org/docs/Web/HTML/Element/Input#input_types). Multi-line inut fields are indicated as `textfield` (equivalent to the HTML `textarea` tag). example: text description: type: string example: The emoji_icon to use when posting messages to slack. Defaults to ":unleash:". description: A description of the parameter. This should explain to the end user what the parameter is used for. placeholder: type: string example: ':unleash:' description: The default value for this parameter. This value is used if no other value is provided. required: type: boolean example: false description: Whether this parameter is required or not. If a parameter is required, you must give it a value when you create the addon. If it is not required it can be left out. It may receive a default value in those cases. sensitive: type: boolean example: false description: Indicates whether this parameter is **sensitive** or not. Unleash will not return sensitive parameters to API requests. It will instead use a number of asterisks to indicate that a value is set, e.g. "******". The number of asterisks does not correlate to the parameter's value. addonSchema: type: object description: An [addon](https://docs.getunleash.io/integrate) instance description. Contains data about what kind of provider it uses, whether it's enabled or not, what events it listens for, and more. required: - id - description - provider - enabled - parameters - events properties: id: type: integer minimum: 1 example: 27 description: The addon's unique identifier. provider: type: string description: The addon provider, such as "webhook" or "slack". example: webhook description: type: string description: A description of the addon. `null` if no description exists. example: This addon posts updates to our internal feature tracking system whenever a feature is created or updated. nullable: true enabled: type: boolean description: Whether the addon is enabled or not. parameters: type: object additionalProperties: {} example: url: http://localhost:4242/webhook description: Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. events: type: array description: The event types that trigger this specific addon. items: type: string example: - feature-created - feature-updated projects: type: array description: The projects that this addon listens to events from. An empty list means it listens to events from **all** projects. example: - new-landing-project - signups-v2 items: type: string environments: type: array description: The list of environments that this addon listens to events from. An empty list means it listens to events from **all** environments. example: - development - production items: type: string addonTypeSchema: type: object additionalProperties: false required: - name - displayName - documentationUrl - description description: An addon provider. Defines a specific addon type and what the end user must configure when creating a new addon of that type. properties: name: type: string description: The name of the addon type. When creating new addons, this goes in the payload's `type` field. example: slack displayName: type: string description: The addon type's name as it should be displayed in the admin UI. example: Slack documentationUrl: type: string description: A URL to where you can find more information about using this addon type. example: https://docs.getunleash.io/docs/addons/slack description: type: string description: A description of the addon type. example: Allows Unleash to post updates to Slack. howTo: type: string description: A long description of how to use this addon type. This will be displayed on the top of configuration page. Can contain markdown. example: "This is **how you use** this addon type...\n - Step 1\n - Step 2\n - Step 3" tagTypes: type: array description: A list of [Unleash tag types](https://docs.getunleash.io/concepts/feature-flags#tags) that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created. example: - name: slack description: Slack tag used by the slack-addon to specify the slack channel. icon: S items: $ref: '#/components/schemas/tagTypeSchema' parameters: type: array description: 'The addon provider''s parameters. Use these to configure an addon of this provider type. Items with `required: true` must be provided.' items: $ref: '#/components/schemas/addonParameterSchema' example: - name: url displayName: Slack webhook URL description: (Required) type: url required: true sensitive: true - name: username displayName: Username placeholder: Unleash description: The username to use when posting messages to slack. Defaults to "Unleash". type: text required: false sensitive: false - name: emojiIcon displayName: Emoji Icon placeholder: ':unleash:' description: The emoji_icon to use when posting messages to slack. Defaults to ":unleash:". type: text required: false sensitive: false - name: defaultChannel displayName: Default channel description: (Required) Default channel to post updates to if not specified in the slack-tag type: text required: true sensitive: false events: type: array description: All the [event types](https://docs.getunleash.io/concepts/events#event-types) that are available for this addon provider. items: type: string example: - feature-created - feature-updated - feature-archived - feature-revived - feature-stale-on - feature-stale-off - feature-environment-enabled - feature-environment-disabled - feature-strategy-remove - feature-strategy-update - feature-strategy-add - feature-metadata-updated - feature-variants-updated - feature-project-change installation: type: object additionalProperties: false required: - url description: The installation configuration for this addon type. properties: url: type: string description: A URL to where the addon configuration should redirect to install addons of this type. example: https://app-for-slack.getunleash.io/install title: type: string description: The title of the installation configuration. This will be displayed to the user when installing addons of this type. example: App for Slack installation helpText: type: string description: The help text of the installation configuration. This will be displayed to the user when installing addons of this type. example: Clicking the Install button will send you to Slack to initiate the installation procedure for the Unleash App for Slack for your workspace alerts: type: array description: A list of alerts to display to the user when installing addons of this type. items: type: object additionalProperties: false required: - type - text properties: type: type: string enum: - success - info - warning - error description: The type of alert. This determines the color of the alert. example: info text: type: string description: The text of the alert. This is what will be displayed to the user. example: Please ensure you have the Unleash App for Slack installed in your Slack workspace if you haven't installed it already. If you want the Unleash App for Slack bot to post messages to private channels, you'll need to invite it to those channels. deprecated: type: string description: This should be used to inform the user that this addon type is deprecated and should not be used. Deprecated addons will show a badge with this information on the UI. example: This integration is deprecated. Please try the new integration instead. addonsSchema: type: object required: - addons - providers description: 'An object containing two things: 1. A list of all [addons](https://docs.getunleash.io/integrate) defined on this Unleash instance 2. A list of all addon providers defined on this instance' properties: addons: type: array description: All the addons that exist on this instance of Unleash. items: $ref: '#/components/schemas/addonSchema' providers: type: array description: A list of all available addon providers, along with their parameters and descriptions. example: - name: webhook displayName: Webhook description: A Webhook is a generic way to post messages from Unleash to third party services. documentationUrl: https://docs.getunleash.io/docs/addons/webhook parameters: - name: url displayName: Webhook URL description: (Required) Unleash will perform a HTTP Post to the specified URL (one retry if first attempt fails) type: url required: true sensitive: true - name: contentType displayName: Content-Type placeholder: application/json description: (Optional) The Content-Type header to use. Defaults to "application/json". type: text required: false sensitive: false - name: authorization displayName: Authorization placeholder: '' description: (Optional) The Authorization header to use. Not used if left blank. type: text required: false sensitive: true - name: bodyTemplate displayName: Body template placeholder: "{\n \"event\": \"{{event.type}}\",\n \"createdBy\": \"{{event.createdBy}}\",\n \"featureToggle\"\ : \"{{event.data.name}}\",\n \"timestamp\": \"{{event.data.createdAt}}\"\n}" description: (Optional) You may format the body using a mustache template. If you don't specify anything, the format will similar to the events format (https://docs.getunleash.io/api/events) type: textfield required: false sensitive: false events: - feature-created - feature-updated - feature-archived - feature-revived - feature-stale-on - feature-stale-off - feature-environment-enabled - feature-environment-disabled - feature-strategy-remove - feature-strategy-update - feature-strategy-add - feature-metadata-updated - feature-variants-updated - feature-project-change - feature-tagged - feature-untagged - change-request-created - change-request-discarded - change-added - change-discarded - change-request-approved - change-request-approval-added - change-request-cancelled - change-request-sent-to-review - change-request-applied - name: slack displayName: Slack description: Allows Unleash to post updates to Slack. documentationUrl: https://docs.getunleash.io/docs/addons/slack parameters: - name: url displayName: Slack webhook URL description: (Required) type: url required: true sensitive: true - name: username displayName: Username placeholder: Unleash description: The username to use when posting messages to slack. Defaults to "Unleash". type: text required: false sensitive: false - name: emojiIcon displayName: Emoji Icon placeholder: ':unleash:' description: The emoji_icon to use when posting messages to slack. Defaults to ":unleash:". type: text required: false sensitive: false - name: defaultChannel displayName: Default channel description: (Required) Default channel to post updates to if not specified in the slack-tag type: text required: true sensitive: false events: - feature-created - feature-updated - feature-archived - feature-revived - feature-stale-on - feature-stale-off - feature-environment-enabled - feature-environment-disabled - feature-strategy-remove - feature-strategy-update - feature-strategy-add - feature-metadata-updated - feature-variants-updated - feature-project-change tagTypes: - name: slack description: Slack tag used by the slack-addon to specify the slack channel. icon: S - name: teams displayName: Microsoft Teams description: Allows Unleash to post updates to Microsoft Teams. documentationUrl: https://docs.getunleash.io/docs/addons/teams parameters: - name: url displayName: Microsoft Teams webhook URL description: (Required) type: url required: true sensitive: true events: - feature-created - feature-updated - feature-archived - feature-revived - feature-stale-on - feature-stale-off - feature-environment-enabled - feature-environment-disabled - feature-strategy-remove - feature-strategy-update - feature-strategy-add - feature-metadata-updated - feature-variants-updated - feature-project-change - name: datadog displayName: Datadog description: Allows Unleash to post updates to Datadog. documentationUrl: https://docs.getunleash.io/docs/addons/datadog parameters: - name: url displayName: Datadog Events URL description: 'Default URL: https://api.datadoghq.com/api/v1/events. Needs to be changed if your''re not using the US1 site.' type: url required: false sensitive: false - name: apiKey displayName: Datadog API key placeholder: j96c23b0f12a6b3434a8d710110bd862 description: (Required) API key to connect to Datadog type: text required: true sensitive: true events: - feature-created - feature-updated - feature-archived - feature-revived - feature-stale-on - feature-stale-off - feature-environment-enabled - feature-environment-disabled - feature-strategy-remove - feature-strategy-update - feature-strategy-add - feature-metadata-updated - feature-project-change - feature-variants-updated tagTypes: - name: datadog description: All Datadog tags added to a specific feature are sent to datadog event stream. icon: D items: $ref: '#/components/schemas/addonTypeSchema' adminCountSchema: type: object additionalProperties: false description: Contains total admin counts for an Unleash instance. required: - password - noPassword - service properties: password: type: number description: Total number of admins that have a password set. noPassword: type: number description: Total number of admins that do not have a password set. May be SSO, but may also be users that did not set a password yet. service: type: number description: Total number of service accounts that have the admin root role. adminFeaturesQuerySchema: type: object additionalProperties: false description: Query parameters used to modify the list of features returned. properties: tag: type: array items: type: string pattern: \w+:\w+ description: Used to filter by tags. For each entry, a TAGTYPE:TAGVALUE is expected example: - simple:mytag namePrefix: type: string description: A case-insensitive prefix filter for the names of feature flags example: demo.part1 adminSegmentSchema: type: object required: - id - name - constraints - createdAt description: A description of a [segment](https://docs.getunleash.io/concepts/segments) additionalProperties: false properties: id: type: integer description: The ID of this segment example: 2 minimum: 0 name: type: string description: The name of this segment example: ios-users description: type: string nullable: true description: The description for this segment example: IOS users segment constraints: type: array description: The list of constraints that are used in this segment items: $ref: '#/components/schemas/constraintSchema' usedInFeatures: type: integer minimum: 0 description: The number of feature flags that use this segment. The number also includes the any flags with pending change requests that would add this segment. example: 3 nullable: true usedInProjects: type: integer minimum: 0 description: The number of projects that use this segment. The number includes any projects with pending change requests that would add this segment. example: 2 nullable: true project: type: string nullable: true example: red-vista description: The project the segment belongs to. Only present if the segment is a project-specific segment. createdBy: description: The creator's email or username example: someone@example.com type: string nullable: true createdAt: type: string format: date-time description: When the segment was created example: '2023-04-12T11:13:31.960Z' advancedPlaygroundEnvironmentFeatureSchema: description: A simplified feature flag model intended for the Unleash playground. type: object additionalProperties: false required: - name - environment - context - projectId - isEnabled - isEnabledInCurrentEnvironment - variant - variants - strategies properties: name: type: string example: my-feature description: The feature's name. environment: type: string example: development description: The feature's environment. context: description: The context to use when evaluating flags $ref: '#/components/schemas/sdkFlatContextSchema' projectId: type: string example: my-project description: The ID of the project that contains this feature. strategies: type: object additionalProperties: false required: - result - data description: Feature's applicable strategies and cumulative results of the strategies properties: result: description: "The cumulative results of all the feature's strategies. Can be `true`,\n \ \ `false`, or `unknown`.\n This property will only be `unknown`\n\ \ if one or more of the strategies can't be fully evaluated and the rest\ \ of the strategies\n all resolve to `false`." anyOf: - type: boolean - type: string enum: - unknown data: description: The strategies that apply to this feature. type: array items: $ref: '#/components/schemas/playgroundStrategySchema' isEnabledInCurrentEnvironment: type: boolean description: Whether the feature is active and would be evaluated in the provided environment in a normal SDK context. isEnabled: description: "Whether this feature is enabled or not in the current environment.\n If a\ \ feature can't be fully evaluated (that is, `strategies.result` is `unknown`),\n this\ \ will be `false` to align with how client SDKs treat unresolved feature states." type: boolean example: true variant: description: "The feature variant you receive based on the provided context or the _disabled\n \ \ variant_. If a feature is disabled or doesn't have any\n variants, you would\ \ get the _disabled variant_.\n Otherwise, you'll get one of the feature's defined variants." type: object additionalProperties: false required: - name - enabled properties: name: type: string description: The variant's name. If there is no variant or if the flag is disabled, this will be `disabled` example: red-variant enabled: type: boolean description: Whether the variant is enabled or not. If the feature is disabled or if it doesn't have variants, this property will be `false` payload: type: object additionalProperties: false required: - type - value description: An optional payload attached to the variant. properties: type: description: The format of the payload. type: string value: type: string description: The payload value stringified. example: '{"property": "value"}' feature_enabled: type: boolean description: Whether the feature is enabled or not. If the feature is disabled, this property will be `false` nullable: true example: name: green enabled: true variants: type: array description: The feature variants. items: $ref: '#/components/schemas/variantSchema' advancedPlaygroundFeatureSchema: description: A simplified feature flag model intended for the Unleash playground. type: object additionalProperties: false required: - name - projectId - environments properties: name: type: string example: my-feature description: The feature's name. projectId: type: string example: my-project description: The ID of the project that contains this feature. environments: type: object description: The lists of features that have been evaluated grouped by environment. additionalProperties: type: array items: $ref: '#/components/schemas/advancedPlaygroundEnvironmentFeatureSchema' advancedPlaygroundRequestSchema: description: Data for the playground API to evaluate toggles in advanced mode with environment and context multi selection type: object required: - environments - context properties: environments: type: array items: type: string minLength: 1 pattern: ^[a-zA-Z0-9~_.-]+$ minItems: 1 example: - development - production description: The environments to evaluate toggles in. projects: description: A list of projects to check for toggles in. oneOf: - type: array items: type: string example: - my-project description: A list of projects to check for toggles in. - type: string enum: - '*' description: Check toggles in all projects. context: $ref: '#/components/schemas/sdkContextSchema' advancedPlaygroundResponseSchema: description: The state of all features given the provided input. type: object additionalProperties: false required: - features - input properties: input: description: The given input used to evaluate the features. $ref: '#/components/schemas/advancedPlaygroundRequestSchema' features: type: array description: The list of features that have been evaluated. items: $ref: '#/components/schemas/advancedPlaygroundFeatureSchema' warnings: type: object description: Warnings that occurred during evaluation. properties: invalidContextProperties: type: array description: A list of top-level context properties that were provided as input that are not valid due to being the wrong type. items: type: string apiTokenSchema: type: object additionalProperties: false required: - secret - tokenName - type - projects - createdAt description: An overview of an [Unleash API token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys). properties: secret: type: string description: The token used for authentication. example: project:environment.xyzrandomstring tokenName: type: string description: A unique name for this particular token example: some-user type: type: string enum: - client - admin - frontend - backend description: The type of API token example: client environment: type: string description: The environment the token has access to. example: development default: development project: type: string description: The project this token belongs to. example: developerexperience projects: type: array description: The list of projects this token has access to. If the token has access to specific projects they will be listed here. If the token has access to all projects it will be represented as `[*]` items: type: string example: - developerexperience - enterprisegrowth expiresAt: type: string format: date-time nullable: true description: The token's expiration date. NULL if the token doesn't have an expiration set. example: '2023-04-19T08:15:14.000Z' createdAt: type: string format: date-time example: '2023-04-19T08:15:14.000Z' description: When the token was created. seenAt: type: string format: date-time nullable: true example: '2023-04-19T08:15:14.000Z' description: When the token was last seen/used to authenticate with. NULL if the token has not yet been used for authentication. alias: type: string nullable: true description: Alias is no longer in active use and will often be NULL. It's kept around as a way of allowing old proxy tokens created with the old metadata format to keep working. example: randomid-or-some-alias apiTokensSchema: type: object description: An object with [Unleash API tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys) additionalProperties: false required: - tokens properties: tokens: type: array description: A list of Unleash API tokens. items: $ref: '#/components/schemas/apiTokenSchema' applicationEnvironmentInstancesSchema: type: object description: Data about an application environment instances that are connected to Unleash via an SDK. additionalProperties: false required: - instances properties: instances: type: array description: A list of instances items: type: object required: - instanceId additionalProperties: false properties: instanceId: description: 'A unique identifier identifying the instance of the application running the SDK. Often changes based on execution environment. For instance: two pods in Kubernetes will have two different instanceIds' type: string example: b77f3d13-5f48-4a7b-a3f4-a449b97ce43a sdkVersion: type: string nullable: true description: An SDK version identifier. Usually formatted as "unleash-client-:" example: unleash-client-java:7.0.0 clientIp: type: string description: An IP address identifying the instance of the application running the SDK example: 192.168.0.1 nullable: true lastSeen: type: string format: date-time example: '2023-04-19T08:15:14.000Z' description: The last time the application environment instance was seen applicationEnvironmentIssuesSchema: type: object description: This list of issues that might be wrong with the application additionalProperties: false required: - missingFeatures - outdatedSdks properties: missingFeatures: type: array items: type: string description: The list of features that are missing in Unleash example: - feature1 - feature2 outdatedSdks: type: array items: type: string description: The list of used SDKs that are outdated example: - unleash-client-node:5.4.0 - unleash-client-node:5.3.0 applicationOverviewEnvironmentSchema: type: object description: Data about an application environment additionalProperties: false required: - name - instanceCount - sdks - frontendSdks - backendSdks - lastSeen - issues properties: name: description: Name of the application environment type: string example: production instanceCount: description: The number of instances of the application environment type: number example: 5 sdks: description: SDKs used in the application environment type: array items: type: string example: - unleash-client-node:5.4.0 - unleash-client-node:5.3.0 frontendSdks: description: Frontend SDKs used in the application environment type: array items: type: string example: - unleash-client-js:3.7.5 backendSdks: description: Backend SDKs used in the application environment type: array items: type: string example: - unleash-client-node:5.4.0 lastSeen: type: string nullable: true format: date-time example: '2023-04-19T08:15:14.000Z' description: The last time the application environment was seen issues: description: This list of issues that might be wrong with the application $ref: '#/components/schemas/applicationEnvironmentIssuesSchema' applicationOverviewIssuesSchema: type: object description: This list of issues that might be wrong with the application additionalProperties: false required: - missingStrategies properties: missingStrategies: type: array items: type: string description: The list of strategies that are missing from Unleash example: - feature1 - feature2 applicationOverviewSchema: type: object description: Data about an application that's connected to Unleash via an SDK. additionalProperties: false required: - projects - featureCount - environments - issues properties: projects: description: The list of projects the application has been using. type: array items: type: string example: - default - payment featureCount: description: The number of features the application has been using. type: number example: 5 environments: type: array description: The list of environments the application has been using. items: $ref: '#/components/schemas/applicationOverviewEnvironmentSchema' issues: description: This list of issues that might be wrong with the application $ref: '#/components/schemas/applicationOverviewIssuesSchema' applicationSchema: type: object description: Data about an application that's connected to Unleash via an SDK. additionalProperties: false required: - appName properties: appName: description: Name of the application type: string example: accounting sdkVersion: description: Which SDK and version the application reporting uses. Typically represented as `:` type: string example: unleash-client-java:8.0.0 strategies: description: Which [strategies](https://docs.getunleash.io/concepts#activation-strategies) the application has loaded. Useful when trying to figure out if your [custom strategy](https://docs.getunleash.io/concepts/activation-strategies#custom-strategies) has been loaded in the SDK type: array items: type: string example: - standard - gradualRollout - mySpecialCustomStrategy description: description: Extra information added about the application reporting the metrics. Only present if added via the Unleash Admin interface type: string example: Application for reporting page visits url: description: A link to reference the application reporting the metrics. Could for instance be a GitHub link to the repository of the application type: string example: https://github.com/Unleash/unleash-proxy-client-js color: description: The CSS color that is used to color the application's entry in the application list type: string example: red icon: description: An URL to an icon file to be used for the applications's entry in the application list type: string example: https://github.com/favicon.ico usage: description: The list of projects the application has been using. type: array items: $ref: '#/components/schemas/applicationUsageSchema' applicationUsageSchema: type: object description: Data about an project that have been used by applications. additionalProperties: false required: - project - environments properties: project: description: Name of the project type: string example: main-project environments: description: Which environments have been accessed in this project. type: array items: type: string example: - development - production applicationsSchema: additionalProperties: false description: An object containing a list of applications that have connected to Unleash via an SDK. required: - total - applications type: object properties: total: type: integer example: 50 description: The total number of project applications. applications: description: The list of applications that have connected to this Unleash instance. type: array items: $ref: '#/components/schemas/applicationSchema' batchFeaturesSchema: type: object description: A list of feature flag names for batch operations required: - features properties: features: type: array items: type: string description: List of feature flag names example: - my-feature-4 - my-feature-5 - my-feature-6 batchStaleSchema: type: object description: A list of features to operate on and whether they should be marked as stale or as not stale. required: - features - stale properties: features: type: array description: A list of features to mark as (not) stale example: - my-feature-1 - my-feature-2 - my-feature-3 items: type: string description: A feature name example: my-feature-5 stale: type: boolean example: true description: Whether the list of features should be marked as stale or not stale. If `true`, the features will be marked as stale. If `false`, the features will be marked as not stale. bulkMetricsSchema: type: object required: - applications - metrics description: A batch of metrics accumulated by Edge (or other compatible applications). Includes both application registrations as well usage metrics from clients properties: applications: description: A list of applications registered by an Unleash SDK type: array items: $ref: '#/components/schemas/bulkRegistrationSchema' metrics: description: a list of client usage metrics registered by downstream providers. (Typically Unleash Edge) type: array items: $ref: '#/components/schemas/clientMetricsEnvSchema' impactMetrics: description: a list of custom impact metrics registered by downstream providers. (Typically Unleash Edge) type: array items: $ref: '#/components/schemas/impactMetricsSchema' bulkRegistrationSchema: type: object required: - appName - instanceId - environment description: An application registration. Defines the format POSTed by our backend SDKs when they're starting up properties: connectVia: type: array description: "A list of applications this app registration has been registered through. If connected directly to\ \ Unleash, this is an empty list. \n This can be used in later visualizations to tell how many levels of proxy\ \ or Edge instances our SDKs have connected through" items: type: object required: - appName - instanceId properties: appName: type: string instanceId: type: string example: - appName: unleash-edge instanceId: edge-pod-bghzv5 appName: description: The name of the application that is evaluating toggles type: string example: Ingress load balancer environment: description: Which environment the application is running in type: string example: development instanceId: description: A [(somewhat) unique identifier](https://docs.getunleash.io/sdks/node#advanced-usage) for the application type: string example: application-name-dacb1234 interval: description: How often (in seconds) the application refreshes its features type: number example: 10 started: description: The application started at example: '1952-03-11T12:00:00.000Z' $ref: '#/components/schemas/dateSchema' strategies: description: Enabled [strategies](https://docs.getunleash.io/concepts/activation-strategies) in the application type: array example: - standard - gradualRollout items: type: string projects: description: The list of projects used in the application type: array example: - projectA - projectB items: type: string sdkVersion: description: The version the sdk is running. Typically : example: unleash-client-java:8.0.0 type: string sdkType: description: The sdk type example: backend type: string enum: - frontend - backend - null nullable: true bulkToggleFeaturesSchema: type: object required: - features description: The feature list used for bulk toggle operations properties: features: type: array description: The features that we want to bulk toggle items: type: string description: The feature name we want to toggle example: - feature-a - feature-b changePasswordSchema: type: object additionalProperties: false required: - token - password description: Change password as long as the token is a valid token properties: token: description: A reset token used to validate that the user is allowed to change the password. type: string example: $2a$15$QzeW/y5/MEppCWVEkoX5euejobYOLSd4We21LQjjKlWH9l2I3wCke password: type: string description: The new password for the user example: correct horse battery staple clientApplicationSchema: type: object required: - appName - interval - started - strategies description: A client application is an instance of one of our SDKs properties: appName: description: An identifier for the app that uses the sdk, should be static across SDK restarts type: string example: example-app instanceId: description: 'A unique identifier identifying the instance of the application running the SDK. Often changes based on execution environment. For instance: two pods in Kubernetes will have two different instanceIds' type: string example: b77f3d13-5f48-4a7b-a3f4-a449b97ce43a sdkVersion: type: string description: An SDK version identifier. Usually formatted as "unleash-client-:" example: unleash-client-java:7.0.0 environment: description: The SDK's configured 'environment' property. This property was deprecated in v5. This property does **not** control which Unleash environment the SDK gets toggles for. To control Unleash environments, use the SDKs API key. deprecated: true type: string example: development platformName: description: The platform the application is running on. For languages that compile to binaries, this can be omitted type: string example: .NET Core platformVersion: description: The version of the platform the application is running on. Languages that compile to binaries, this is expected to be the compiler version used to assemble the binary. type: string example: '3.1' yggdrasilVersion: description: The semantic version of the Yggdrasil engine used by the client. If the client is using a native engine this can be omitted. type: string example: 1.0.0 specVersion: description: The version of the Unleash client specification the client supports type: string example: 3.0.0 interval: type: number description: How often (in seconds) does the client refresh its toggles example: 10 minimum: 0 started: description: Either an RFC-3339 timestamp or a unix timestamp in seconds oneOf: - type: string format: date-time - type: number example: '2023-06-13T16:35:00.000Z' strategies: description: Which strategies the SDKs runtime knows about type: array items: type: string example: - default - gradualRollout - remoteAddress clientFeatureSchema: type: object required: - name - enabled description: Feature flag configuration used by SDKs to evaluate state of a flag additionalProperties: false properties: name: type: string description: The unique name of a feature flag. Is validated to be URL safe on creation example: new.payment.flow.stripe type: type: string description: What kind of feature flag is this. Refer to the documentation on [feature flag types](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types) for more information example: release description: type: string description: A description of the flag nullable: true example: No variants here enabled: type: boolean description: Whether the feature flag is enabled for the current API key or not. This is ANDed with the evaluation results of the strategies list, so if this is false, the evaluation result will always be false example: true stale: description: If this is true Unleash believes this feature flag has been active longer than Unleash expects a flag of this type to be active type: boolean example: false impressionData: description: Set to true if SDKs should trigger [impression events](https://docs.getunleash.io/concepts/impression-data) when this flag is evaluated type: boolean nullable: true example: false project: description: Which project this feature flag belongs to type: string example: new.payment.flow strategies: type: array description: Evaluation strategies for this flag. Each entry in this list will be evaluated and ORed together items: $ref: '#/components/schemas/featureStrategySchema' variants: type: array description: '[Variants](https://docs.getunleash.io/concepts/feature-flag-variants#what-are-variants) configured for this flag' items: $ref: '#/components/schemas/variantSchema' nullable: true dependencies: type: array description: Feature dependencies for this flag items: $ref: '#/components/schemas/dependentFeatureSchema' clientFeaturesDeltaSchema: type: object required: - events description: Schema for delta updates of feature configurations. properties: events: description: A list of delta events. type: array items: type: object anyOf: - type: object required: - eventId - type - feature properties: eventId: type: number type: type: string enum: - feature-updated feature: $ref: '#/components/schemas/clientFeatureSchema' - type: object required: - eventId - type - featureName - project properties: eventId: type: number type: type: string enum: - feature-removed featureName: type: string project: type: string - type: object required: - eventId - type - segment properties: eventId: type: number type: type: string enum: - segment-updated segment: $ref: '#/components/schemas/clientSegmentSchema' - type: object required: - eventId - type - segmentId properties: eventId: type: number type: type: string enum: - segment-removed segmentId: type: number - type: object required: - type - features - segments - eventId properties: eventId: type: number type: type: string enum: - hydration features: type: array items: $ref: '#/components/schemas/clientFeatureSchema' segments: type: array items: $ref: '#/components/schemas/clientSegmentSchema' clientFeaturesQuerySchema: type: object additionalProperties: false description: Query parameters active for a client features request properties: tag: type: array description: Features tagged with one of these tags are included items: type: array items: type: string example: - - simple:payment - simple:stripejourney project: type: array items: type: string description: Features that are part of these projects are included in this response. This is now handled by API tokens and was marked as deprecated in v5 example: - new.payment.flow deprecated: true namePrefix: description: Features are filtered to only include features whose name starts with this prefix type: string example: payment environment: type: string description: Strategies for the feature flag configured for this environment are included. This is now handled by API tokens and was marked as deprecated in v5 deprecated: true inlineSegmentConstraints: description: Set to true if requesting client does not support Unleash-Client-Specification 4.2.2 or newer. Modern SDKs will have this set to false, since they will be able to merge constraints and segments themselves type: boolean example: true clientFeaturesSchema: type: object required: - version - features description: Configuration data for backend SDKs for evaluating feature flags. properties: version: type: number description: A version number for the format used in the response. Most Unleash instances now return version 2, which includes segments as a separate array example: 2 minimum: 0 features: description: A list of feature flags with their configuration type: array items: $ref: '#/components/schemas/clientFeatureSchema' segments: description: A list of [Segments](https://docs.getunleash.io/concepts/segments) configured for this Unleash instance type: array items: $ref: '#/components/schemas/clientSegmentSchema' query: description: A summary of filters and parameters sent to the endpoint. Used by the server to build the features and segments response $ref: '#/components/schemas/clientFeaturesQuerySchema' clientMetricsEnvSchema: type: object required: - featureName - appName - environment description: Used for reporting feature evaluation results from SDKs properties: featureName: type: string description: Name of the feature checked by the SDK example: my.special.feature appName: description: The name of the application the SDK is being used in type: string example: accounting environment: description: Which environment the SDK is being used in type: string example: development timestamp: description: The start of the time window these metrics are valid for. The window is 1 hour wide example: '1926-05-08T12:00:00.000Z' $ref: '#/components/schemas/dateSchema' 'yes': description: How many times the toggle evaluated to true type: integer example: 974 minimum: 0 'no': description: How many times the toggle evaluated to false type: integer example: 50 minimum: 0 variants: description: How many times each variant was returned type: object additionalProperties: type: integer minimum: 0 example: variantA: 15 variantB: 25 variantC: 5 clientMetricsSchema: type: object required: - appName - bucket description: Client usage metrics, accumulated in buckets of hour by hour by default properties: appName: description: The name of the application that is evaluating toggles type: string example: insurance-selector instanceId: description: A [(somewhat) unique identifier](https://docs.getunleash.io/sdks/node#advanced-usage) for the application type: string example: application-name-dacb1234 environment: description: Which environment the application is running in. This property was deprecated in v5. This can be determined by the API key calling this endpoint. type: string example: development deprecated: true sdkVersion: type: string description: An SDK version identifier. Usually formatted as "unleash-client-:" example: unleash-client-java:7.0.0 platformName: description: The platform the application is running on. For languages that compile to binaries, this can be omitted type: string example: .NET Core platformVersion: description: The version of the platform the application is running on. Languages that compile to binaries, this is expected to be the compiler version used to assemble the binary. type: string example: '3.1' yggdrasilVersion: description: The semantic version of the Yggdrasil engine used by the client. If the client is using a native engine this can be omitted. type: string example: 1.0.0 specVersion: description: The version of the Unleash client specification the client supports type: string example: 3.0.0 bucket: type: object required: - start - stop - toggles description: Holds all metrics gathered over a window of time. Typically 1 hour wide properties: start: $ref: '#/components/schemas/dateSchema' description: The start of the time window these metrics are valid for. The window is usually 1 hour wide example: '1926-05-08T12:00:00.000Z' stop: $ref: '#/components/schemas/dateSchema' description: The end of the time window these metrics are valid for. The window is 1 hour wide example: '1926-05-08T13:00:00.000Z' toggles: type: object description: an object containing feature names with yes/no plus variant usage example: myCoolToggle: 'yes': 25 'no': 42 variants: blue: 6 green: 15 red: 46 myOtherToggle: 'yes': 0 'no': 100 additionalProperties: type: object properties: 'yes': description: How many times the toggle evaluated to true type: number example: 974 minimum: 0 'no': description: How many times the toggle evaluated to false type: integer example: 50 minimum: 0 variants: description: 'An object describing how many times each variant was returned. Variant names are used as properties, and the number of times they were exposed is the corresponding value (i.e. `{ [variantName]: number }`).' type: object nullable: true additionalProperties: type: integer minimum: 0 example: variantA: 15 variantB: 25 variantC: 5 clientSegmentSchema: type: object description: Represents a client API segment of users defined by a set of constraints. additionalProperties: false required: - id - constraints properties: id: type: number description: The segment's id. name: type: string description: The name of the segment. example: segment A constraints: type: array description: List of constraints that determine which users are part of the segment items: $ref: '#/components/schemas/constraintSchema' cloneFeatureSchema: type: object required: - name description: Copy of a feature with a new name properties: name: type: string description: The name of the new feature example: new-feature replaceGroupId: type: boolean example: true description: Whether to use the new feature name as its group ID or not. Group ID is used for calculating [stickiness](https://docs.getunleash.io/concepts/stickiness#calculation). Defaults to true. constraintSchema: additionalProperties: false type: object required: - contextName - operator description: A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/concepts/activation-strategies#constraints) properties: contextName: description: The name of the context field that this constraint should apply to. example: appName type: string operator: description: The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators). type: string enum: - 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 caseInsensitive: description: Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive). type: boolean default: false inverted: description: Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa. type: boolean default: false values: type: array description: The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values. items: type: string example: - my-app - my-other-app value: description: The context value that should be used for constraint evaluation. Use this property instead of `values` for properties that only accept single values. type: string example: my-app contextFieldSchema: type: object additionalProperties: false description: A representation of a [context field](https://docs.getunleash.io/concepts/unleash-context). required: - name properties: name: description: The name of the context field type: string example: userId description: description: The description of the context field. type: string nullable: true example: Used to uniquely identify users stickiness: description: Does this context field support being used for [stickiness](https://docs.getunleash.io/concepts/stickiness) calculations type: boolean example: true sortOrder: description: Used when sorting a list of context fields. Is also used as a tiebreaker if a list of context fields is sorted alphabetically. type: integer example: 900 createdAt: description: When this context field was created type: string format: date-time nullable: true example: '2023-06-29T10:19:00.000Z' usedInFeatures: type: integer description: Number of projects where this context field is used in example: 3 nullable: true minimum: 0 usedInProjects: type: integer description: Number of projects where this context field is used in example: 2 nullable: true minimum: 0 legalValues: description: Allowed values for this context field schema. Can be used to narrow down accepted input type: array items: $ref: '#/components/schemas/legalValueSchema' project: description: The project this context field belongs to (if it is project-specific) type: string example: my-project contextFieldStrategiesSchema: type: object description: A wrapper object containing all strategies that use a specific context field required: - strategies properties: strategies: type: array description: List of strategies using the context field items: type: object required: - id - featureName - projectId - environment - strategyName properties: id: type: string example: 433ae8d9-dd69-4ad0-bc46-414aedbe9c55 description: The ID of the strategy. featureName: type: string example: best-feature description: The name of the feature that contains this strategy. projectId: type: string description: The ID of the project that contains this feature. environment: type: string description: The ID of the environment where this strategy is in. strategyName: type: string description: The name of the strategy. contextFieldsSchema: type: array description: A list of context fields items: $ref: '#/components/schemas/contextFieldSchema' createApiTokenSchema: type: object description: The data required to create an [Unleash API token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys). oneOf: - required: - type - tokenName type: object properties: expiresAt: type: string format: date-time description: The time when this token should expire. example: '2023-07-04T11:26:24+02:00' type: type: string pattern: ^([Cc][Ll][Ii][Ee][Nn][Tt]|[Bb][Aa][Cc][Kk][Ee][Nn][Dd]|[Ff][Rr][Oo][Nn][Tt][Ee][Nn][Dd])$ description: A client or frontend token. Must be one of the strings "client" (deprecated), "backend" (preferred over "client") or "frontend" (not case sensitive). example: frontend environment: type: string description: The environment that the token should be valid for. Defaults to "default" example: development project: type: string description: The project that the token should be valid for. Defaults to "*" meaning every project. This property is mutually incompatible with the `projects` property. If you specify one, you cannot specify the other. example: project-851 projects: type: array description: A list of projects that the token should be valid for. This property is mutually incompatible with the `project` property. If you specify one, you cannot specify the other. example: - project-851 - project-852 items: type: string tokenName: type: string description: The name of the token. example: token-64522 createApplicationSchema: type: object description: Reported application information from Unleash SDKs properties: strategies: description: Which [strategies](https://docs.getunleash.io/concepts#activation-strategies) the application has loaded. Useful when trying to figure out if your [custom strategy](https://docs.getunleash.io/concepts/activation-strategies#custom-strategies) has been loaded in the SDK type: array items: type: string example: - standard - gradualRollout - mySpecialCustomStrategy url: description: A link to reference the application reporting the metrics. Could for instance be a GitHub link to the repository of the application type: string example: https://github.com/Unleash/unleash-proxy-client-js color: description: Css color to be used to color the application's entry in the application list type: string example: red icon: description: An URL to an icon file to be used for the applications's entry in the application list type: string example: https://github.com/favicon.ico createContextFieldSchema: type: object description: Data used to create a context field configuration. properties: description: type: string description: A description of the context field example: The user's subscription tier stickiness: type: boolean description: '`true` if this field should be available for use with [custom stickiness](https://docs.getunleash.io/concepts/stickiness#custom-stickiness), otherwise `false`' example: false sortOrder: type: integer description: How this context field should be sorted if no other sort order is selected example: 2 legalValues: type: array description: A list of allowed values for this context field example: - value: gold - value: silver - value: crystal items: $ref: '#/components/schemas/legalValueSchema' project: description: The project this context field belongs to (if it is project-specific) type: string example: my-project name: description: The name of the context field. type: string example: subscriptionTier required: - name createDependentFeatureSchema: type: object description: Feature dependency on a parent feature in write model required: - feature properties: feature: type: string description: The name of the feature we depend on. example: parent_feature enabled: type: boolean description: Whether the parent feature should be enabled. When `false` variants are ignored. `true` by default. example: false variants: type: array description: The list of variants the parent feature should resolve to. Leave empty when you only want to check the `enabled` status. items: type: string example: - variantA - variantB createFeatureNamingPatternSchema: type: object description: Create a feature naming pattern required: - pattern properties: pattern: type: string nullable: true description: 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-]+$ example: type: string nullable: true description: An example of a feature name that matches the pattern. Must itself match the pattern supplied. example: dx.feature.1-135 description: type: string nullable: true description: A description of the pattern in a human-readable format. Will be shown to users when they create a new feature flag. example: '.. The flag name should contain the project name, the feature name, and the ticket number, each separated by a dot.' createFeatureSchema: type: object description: Data used to create a new feature flag. required: - name properties: name: type: string example: disable-comments description: Unique feature name type: enum: - experiment - kill-switch - release - operational - permission example: release description: The feature flag's [type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types). One of experiment, kill-switch, release, operational, or permission description: type: string nullable: true example: Controls disabling of the comments section in case of an incident description: Detailed description of the feature impressionData: type: boolean example: false description: '`true` if the impression data collection is enabled for the feature, otherwise `false`.' tags: type: array description: Tags to add to the feature. items: $ref: '#/components/schemas/tagSchema' createFeatureStrategySchema: type: object required: - name description: Create a strategy configuration in a feature properties: name: type: string description: The name of the strategy type example: flexibleRollout title: type: string nullable: true description: A descriptive title for the strategy example: Gradual Rollout 25-Prod disabled: type: boolean description: A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs example: false nullable: true sortOrder: type: number description: The order of the strategy in the list example: 9999 constraints: type: array description: A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints example: - values: - '1' - '2' inverted: false operator: IN contextName: appName caseInsensitive: false items: $ref: '#/components/schemas/constraintSchema' variants: type: array description: Strategy level variants items: $ref: '#/components/schemas/createStrategyVariantSchema' parameters: description: An object containing the parameters for the strategy example: groupId: some_new rollout: '25' stickiness: sessionId $ref: '#/components/schemas/parametersSchema' segments: type: array description: Ids of segments to use for this strategy example: - 1 - 2 items: type: number createGroupSchema: type: object required: - name description: A detailed information about a user group properties: name: description: The name of the group type: string example: DX team description: description: A custom description of the group type: string nullable: true example: Current members of the DX squad mappingsSSO: description: A list of SSO groups that should map to this Unleash group type: array items: type: string example: - SSOGroup1 - SSOGroup2 rootRole: type: number nullable: true description: A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. example: 1 users: type: array description: A list of users belonging to this group items: type: object description: A minimal user object required: - user properties: user: type: object description: A minimal user object required: - id properties: id: description: The user id type: integer minimum: 0 example: 123 createInvitedUserSchema: type: object additionalProperties: false required: - email - name - password description: Data used to create a user that has been invited to Unleash. properties: username: type: string description: The user's username. Must be unique if provided. example: Hunter email: type: string description: The invited user's email address example: hunter@example.com name: type: string description: The user's name example: Hunter Burgan password: type: string description: The user's password example: hunter2 createPatSchema: description: Describes the properties required to create a [personal access token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens), or PAT. PATs are automatically scoped to the authenticated user. type: object required: - description - expiresAt properties: description: type: string description: The PAT's description. example: user:xyzrandomstring expiresAt: type: string format: date-time description: The PAT's expiration date. example: '2023-04-19T08:15:14.000Z' createProjectApiTokenSchema: type: object required: - tokenName - type description: The schema for creating a project API token. This schema is used to create a new project API token. properties: type: type: string pattern: ^([Cc][Ll][Ii][Ee][Nn][Tt]|[Bb][Aa][Cc][Kk][Ee][Nn][Dd]|[Ff][Rr][Oo][Nn][Tt][Ee][Nn][Dd])$ description: A client or frontend token. Must be one of the strings "client" (deprecated), "backend" (preferred over "client") or "frontend" (not case sensitive). example: frontend environment: type: string description: The environment that the token should be valid for. Defaults to "default". example: development default: default expiresAt: type: string description: The date and time when the token should expire. The date should be in ISO 8601 format. example: '2023-10-01T00:00:00Z' format: date-time tokenName: type: string description: A unique name for this particular token example: some-user createStrategySchema: type: object description: The data required to create a strategy type. Refer to the docs on [custom strategy types](https://docs.getunleash.io/concepts/activation-strategies#custom-strategies) for more information. required: - name - parameters properties: name: type: string description: The name of the strategy type. Must be unique. example: my-custom-strategy title: type: string description: The title of the strategy example: My awesome strategy description: type: string description: A description of the strategy type. example: Enable the feature for users who have not logged in before. editable: type: boolean description: Whether the strategy type is editable or not. Defaults to `true`. example: false deprecated: type: boolean description: Whether the strategy type is deprecated or not. Defaults to `false`. example: true parameters: type: array description: The parameter list lets you pass arguments to your custom activation strategy. These will be made available to your custom strategy implementation. items: type: object required: - name - type properties: name: type: string description: The name of the parameter example: Rollout percentage type: type: string description: The [type of the parameter](https://docs.getunleash.io/concepts/activation-strategies#parameters) enum: - string - percentage - list - number - boolean example: percentage description: type: string description: A description of this strategy parameter. Use this to indicate to the users what the parameter does. example: How many percent of users should see this feature? required: type: boolean description: Whether this parameter must be configured when using the strategy. Defaults to `false` example: false createStrategyVariantSchema: type: object description: This is an experimental property. It may change or be removed as we work on it. Please don't depend on it yet. A strategy variant allows you to attach any data to strategies instead of only returning `true`/`false`. Strategy variants take precedence over feature variants. required: - name - weight - weightType - stickiness properties: name: type: string description: The variant name. Must be unique for this feature flag example: blue_group weight: type: integer description: 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information minimum: 0 maximum: 1000 weightType: description: 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight). type: string example: fix enum: - variable - fix stickiness: type: string description: The [stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-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: type: object required: - type - value description: Extra data configured for this variant properties: type: description: The type of the value. Commonly used types are string, number, json and csv. type: string enum: - json - csv - string - number value: description: The actual value of payload type: string example: type: json value: '{"color": "red"}' createTagSchema: type: object description: Data used to create a new [tag](https://docs.getunleash.io/concepts/feature-flags#tags) additionalProperties: false required: - value - type properties: value: type: string pattern: ^\s*\S.{0,48}\S\s*$ description: The value of the tag. The value must be between 2 and 50 characters long. Leading and trailing whitespace is ignored and will be trimmed before saving the tag value. example: a-tag-value type: type: string minLength: 2 maxLength: 50 description: The [type](https://docs.getunleash.io/concepts/feature-flags#tags) of the tag example: simple color: type: string description: The hexadecimal color code for the tag type. example: '#FFFFFF' pattern: ^#[0-9A-Fa-f]{6}$ nullable: true createUserResponseSchema: type: object additionalProperties: false description: An Unleash user after creation required: - id properties: id: description: The user id type: integer example: 123 name: description: Name of the user type: string example: User nullable: true email: description: Email of the user type: string example: user@example.com username: description: A unique username for the user type: string example: hunter nullable: true imageUrl: description: URL used for the user profile image type: string example: https://example.com/242x200.png inviteLink: description: If the user is actively inviting other users, this is the link that can be shared with other users type: string example: http://localhost:4242/invite-link/some-secret loginAttempts: description: How many unsuccessful attempts at logging in has the user made type: integer minimum: 0 example: 3 emailSent: description: Is the welcome email sent to the user or not type: boolean example: false rootRole: description: Which [root role](https://docs.getunleash.io/concepts/rbac#predefined-roles) this user is assigned. Usually a numeric role ID, but can be a string when returning newly created user with an explicit string role. oneOf: - type: integer example: 1 minimum: 0 - type: string example: Admin enum: - Admin - Editor - Viewer - Owner - Member - Reader seenAt: description: The last time this user logged in type: string format: date-time nullable: true example: '2023-06-30T11:42:00.345Z' createdAt: description: The user was created at this time type: string format: date-time example: '2023-06-30T11:41:00.123Z' accountType: description: A user is either an actual User or a Service Account type: string enum: - User - Service Account example: User permissions: description: Deprecated type: array items: type: string scimId: description: The SCIM ID of the user, only present if managed by SCIM type: string nullable: true example: 01HTMEXAMPLESCIMID7SWWGHN6 seatType: description: The seat type of this user type: string nullable: true example: Regular activeSessions: description: Count of active browser sessions for this user type: integer nullable: true example: 2 deletedSessions: description: Experimental. The number of deleted browser sessions after last login type: number example: 1 createUserSchema: type: object additionalProperties: false required: - rootRole description: The payload must contain at least one of the name and email properties, though which one is up to you. For the user to be able to log in to the system, the user must have an email. properties: username: description: The user's username. Must be provided if email is not provided. type: string example: hunter email: description: The user's email address. Must be provided if username is not provided. type: string example: user@example.com name: description: The user's name (not the user's username). type: string example: Sam Seawright password: type: string example: k!5As3HquUrQ description: Password for the user rootRole: description: The role to assign to the user. Can be either the role's ID or its unique name. oneOf: - type: integer example: 1 minimum: 0 - type: string example: Admin enum: - Admin - Editor - Viewer - Owner - Member - Reader sendEmail: type: boolean example: false description: Whether to send a welcome email with a login link to the user or not. Defaults to `true`. customMetricSchema: type: object required: - name - value description: A custom metric with name, value and optional labels properties: name: type: string description: Name of the custom metric example: http_responses_total value: type: number description: Value of the custom metric example: 1 labels: type: object description: Labels to categorize the metric additionalProperties: type: string example: status: '200' method: GET customMetricsSchema: type: object required: - metrics description: A collection of custom metrics properties: metrics: type: array description: Array of custom metrics items: $ref: '#/components/schemas/customMetricSchema' dateSchema: description: A representation of a date. Either as a date-time string or as a UNIX timestamp. oneOf: - type: string format: date-time description: An [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339.html)-compliant timestamp. example: '2023-07-27T11:23:44Z' - type: integer description: A [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time). example: 1690449593 dependenciesExistSchema: type: boolean description: '`true` when any dependencies exist, `false` when no dependencies exist.' dependentFeatureSchema: type: object description: Feature dependency on a parent feature in read model required: - feature additionalProperties: false properties: feature: type: string description: The name of the feature we depend on. example: parent_feature enabled: type: boolean description: Whether the parent feature should be enabled. When `false` variants are ignored. `true` by default. example: false variants: type: array description: The list of variants the parent feature should resolve to. Leave empty when you only want to check the `enabled` status. items: type: string example: - variantA - variantB doraFeaturesSchema: type: object additionalProperties: false required: - name - timeToProduction description: The representation of a dora time to production feature metric properties: name: type: string description: The name of a feature flag timeToProduction: type: number description: The average number of days it takes a feature flag to get into production edgeTokenSchema: type: object additionalProperties: false required: - token - projects - type description: A representation of a client token, limiting access to [CLIENT](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#backend-tokens) (used by serverside SDKs) or [FRONTEND](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#frontend-tokens) (used by proxy SDKs) properties: projects: description: The list of projects this token has access to. If the token has access to specific projects they will be listed here. If the token has access to all projects it will be represented as [`*`] type: array items: type: string example: - developerexperience - enterprisegrowth type: description: The [API token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys)'s **type**. Unleash supports three different types of API tokens ([ADMIN](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#admin-tokens), [CLIENT](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#backend-tokens), [FRONTEND](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#frontend-tokens)). They all have varying access, so when validating a token it's important to know what kind you're dealing with type: string enum: - client - admin - frontend - backend example: client token: description: The actual token value. [Unleash API tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys) are comprised of three parts. :.randomcharacters type: string example: '*:development.5c806b5320c88cf27e81f3e9b97dab298a77d5879316e3c2d806206b' emailSchema: type: object additionalProperties: false required: - email description: Represents the email of a user. Used to send email communication (reset password, welcome mail etc) properties: email: description: The email address type: string example: test@example.com environmentProjectSchema: type: object additionalProperties: false required: - name - type - enabled - protected - sortOrder description: Describes a project's configuration in a given environment. properties: name: type: string example: development description: The name of the environment type: type: string example: production description: The [type of environment](https://docs.getunleash.io/concepts/environments#environment-types). enabled: type: boolean example: true description: '`true` if the environment is enabled for the project, otherwise `false`' protected: type: boolean example: false description: '`true` if the environment is protected, otherwise `false`. A *protected* environment can not be deleted.' sortOrder: type: integer example: 1 description: Priority of the environment in a list of environments, the lower the value, the higher up in the list the environment will appear projectApiTokenCount: type: integer minimum: 0 example: 5 description: The number of client and front-end API tokens that have access to this project projectEnabledToggleCount: type: integer minimum: 0 example: 7 description: The number of features enabled in this environment for this project defaultStrategy: description: The strategy configuration to add when enabling a feature environment by default $ref: '#/components/schemas/featureStrategySchema' visible: type: boolean example: true description: Indicates whether the environment can be enabled for feature flags in the project requiredApprovals: type: integer nullable: true description: Experimental field. The number of approvals required before a change request can be applied in this environment. minimum: 1 example: 3 environmentSchema: type: object additionalProperties: false required: - name - type - enabled - protected - sortOrder description: A definition of the project environment properties: name: type: string example: my-dev-env description: The name of the environment type: type: string example: development description: The [type of environment](https://docs.getunleash.io/concepts/environments#environment-types). enabled: type: boolean example: true description: '`true` if the environment is enabled for the project, otherwise `false`.' protected: type: boolean example: true description: '`true` if the environment is protected, otherwise `false`. A *protected* environment can not be deleted.' sortOrder: type: integer example: 3 description: Priority of the environment in a list of environments, the lower the value, the higher up in the list the environment will appear. Needs to be an integer projectCount: type: integer nullable: true minimum: 0 example: 10 description: The number of projects with this environment apiTokenCount: type: integer nullable: true minimum: 0 example: 6 description: The number of API tokens for the project environment enabledToggleCount: type: integer nullable: true minimum: 0 example: 10 description: The number of enabled toggles for the project environment requiredApprovals: type: integer nullable: true description: Experimental field. The number of approvals required before a change request can be applied in this environment. minimum: 1 example: 3 environmentsProjectSchema: type: object additionalProperties: false required: - version - environments description: Environments defined for a given project properties: version: type: integer example: 1 description: Version of the environments schema environments: type: array items: $ref: '#/components/schemas/environmentProjectSchema' description: List of environments environmentsSchema: type: object additionalProperties: false required: - version - environments description: A versioned list of environments properties: version: type: integer example: 1 description: Version of the environments schema environments: type: array items: $ref: '#/components/schemas/environmentSchema' description: List of environments eventCreatorsSchema: type: array description: A list of event creators items: type: object additionalProperties: false required: - id - name properties: id: type: integer example: 50 description: The user id. name: description: Name of the user. If the user has no set name, the API falls back to using the user's username (if they have one) or email (if neither name or username is set). type: string example: User eventSchema: type: object additionalProperties: false required: - id - createdAt - type - createdBy description: An event describing something happening in the system properties: id: type: integer minimum: 1 description: The ID of the event. An increasing natural number. createdAt: type: string format: date-time description: The time the event happened as a RFC 3339-conformant timestamp. example: '2023-07-05T12:56:00.000Z' type: type: string description: What [type](https://docs.getunleash.io/concepts/events#event-types) of event this is enum: - application-created - feature-created - feature-deleted - feature-updated - feature-metadata-updated - feature-variants-updated - feature-environment-variants-updated - feature-project-change - feature-archived - feature-revived - feature-import - feature-tagged - feature-tag-import - feature-strategy-update - feature-strategy-add - feature-strategy-remove - feature-type-updated - feature-completed - feature-uncompleted - feature-link-added - feature-link-removed - feature-link-updated - strategy-order-changed - drop-feature-tags - feature-untagged - feature-stale-on - feature-stale-off - drop-features - feature-environment-enabled - feature-environment-disabled - strategy-created - strategy-deleted - strategy-deprecated - strategy-reactivated - strategy-updated - strategy-import - drop-strategies - context-field-created - context-field-updated - context-field-deleted - project-access-added - project-access-user-roles-updated - project-access-group-roles-updated - project-access-user-roles-deleted - project-access-group-roles-deleted - project-access-updated - project-created - project-updated - project-deleted - project-archived - project-revived - project-import - project-user-added - project-user-removed - project-user-role-changed - project-group-added - role-created - role-updated - role-deleted - drop-projects - tag-created - tag-deleted - tag-import - drop-tags - tag-type-created - tag-type-deleted - tag-type-updated - tag-type-import - drop-tag-types - addon-config-created - addon-config-updated - addon-config-deleted - db-pool-update - user-created - user-updated - user-deleted - drop-environments - environment-import - environment-created - environment-updated - environment-deleted - segment-created - segment-updated - segment-deleted - group-created - group-updated - group-deleted - group-user-added - group-user-removed - setting-created - setting-updated - setting-deleted - client-metrics - client-register - pat-created - pat-deleted - public-signup-token-created - public-signup-token-user-added - public-signup-token-updated - change-request-created - change-request-discarded - change-added - change-discarded - change-edited - change-request-rejected - change-request-approved - change-request-approval-added - change-request-cancelled - change-request-sent-to-review - change-request-schedule-suspended - change-request-applied - change-request-scheduled - change-request-scheduled-application-success - change-request-scheduled-application-failure - change-request-configuration-updated - api-token-created - api-token-updated - api-token-deleted - feature-favorited - feature-unfavorited - project-favorited - project-unfavorited - features-exported - features-imported - service-account-created - service-account-deleted - service-account-updated - feature-potentially-stale-on - feature-dependency-added - feature-dependency-removed - feature-dependencies-removed - banner-created - banner-updated - banner-deleted - safeguard-changed - safeguard-deleted - release-plan-progressions-resumed - release-plan-progressions-paused - project-environment-added - project-environment-removed - default-strategy-updated - segment-import - signal-endpoint-created - signal-endpoint-updated - signal-endpoint-deleted - signal-endpoint-token-created - signal-endpoint-token-updated - signal-endpoint-token-deleted - actions-created - actions-updated - actions-deleted - release-plan-template-created - release-plan-template-updated - release-plan-template-deleted - release-plan-template-archived - release-plan-added - release-plan-removed - release-plan-milestone-started - milestone-progression-created - milestone-progression-updated - milestone-progression-deleted - milestone-progression-changed - user-preference-updated - scim-users-deleted - scim-groups-deleted - cdn-token-created - change-request-requested-approvers-updated - impact-metric-created - impact-metric-updated - impact-metric-deleted example: feature-created createdBy: type: string description: Which user created this event example: johndoe createdByUserId: type: number description: The is of the user that created this event example: 1337 nullable: true environment: type: string description: The feature flag environment the event relates to, if applicable. nullable: true example: development project: type: string nullable: true description: The project the event relates to, if applicable. example: default featureName: type: string nullable: true description: The name of the feature flag the event relates to, if applicable. example: my.first.feature data: type: object nullable: true x-enforcer-exception-skip-codes: WSCH006 description: Extra associated data related to the event, such as feature flag state, segment configuration, etc., if applicable. example: name: new-feature description: Flag description type: release project: my-project stale: false variants: [] createdAt: '2022-05-31T13:32:20.547Z' lastSeenAt: null impressionData: true preData: type: object nullable: true x-enforcer-exception-skip-codes: WSCH006 description: Data relating to the previous state of the event's subject. example: name: new-feature description: Flag description type: release project: my-project stale: false variants: [] createdAt: '2022-05-31T13:32:20.547Z' lastSeenAt: null impressionData: true tags: type: array items: $ref: '#/components/schemas/tagSchema' nullable: true description: Any tags related to the event, if applicable. label: type: string nullable: true description: The concise, human-readable name of the event. summary: type: string nullable: true description: A markdown-formatted summary of the event. ip: type: string nullable: true description: The IP address of the user that created the event. Only available in Enterprise. example: 192.168.1.1 groupType: type: string description: The type of transaction group this event belongs to, if applicable. example: change-request groupId: type: string description: The unique identifier for the transaction group this event belongs to, if applicable. example: 01HQVX5K8P9EXAMPLE123456 eventSearchResponseSchema: type: object additionalProperties: false required: - events - total description: A list of events that have been registered by the system properties: events: description: The list of events type: array items: $ref: '#/components/schemas/eventSchema' total: type: integer description: The total count of events minimum: 0 example: 842 eventsSchema: type: object additionalProperties: false required: - version - events description: A list of events that has happened in the system properties: version: type: integer minimum: 1 enum: - 1 description: The api version of this response. A natural increasing number. Only increases if format changes example: 1 events: description: The list of events type: array items: $ref: '#/components/schemas/eventSchema' totalEvents: type: integer description: The total count of events minimum: 0 example: 842 exportQuerySchema: type: object description: Available query parameters for the deprecated export/import functionality. anyOf: - required: - environment - features properties: environment: type: string example: development description: The environment to export from downloadFile: type: boolean example: true description: Whether to return a downloadable file features: type: array example: - MyAwesomeFeature items: type: string minLength: 1 description: Selects features to export by name. If the list is empty all features are returned. - required: - environment - tag properties: environment: type: string example: development description: The environment to export from downloadFile: type: boolean example: true description: Whether to return a downloadable file tag: type: string example: release description: Selects features to export by tag. - required: - environment - project properties: environment: type: string example: development description: The environment to export from downloadFile: type: boolean example: true description: Whether to return a downloadable file project: type: string example: my-project description: Selects project to export the features from. Used when no tags or features are provided. exportResultSchema: type: object additionalProperties: false description: The result of the export operation, providing you with the feature flag definitions, strategy definitions and the rest of the elements relevant to the features (tags, environments etc.) required: - features - featureStrategies - tagTypes properties: features: type: array description: All the exported features. example: - name: my-feature description: best feature ever type: release project: default stale: false impressionData: false archived: false items: $ref: '#/components/schemas/featureSchema' featureStrategies: type: array description: All strategy instances that are used by the exported features in the `features` list. example: - name: flexibleRollout id: 924974d7-8003-43ee-87eb-c5f887c06fd1 featureName: my-feature title: Rollout 50% parameters: groupId: default rollout: '50' stickiness: random constraints: [] disabled: false segments: - 1 items: $ref: '#/components/schemas/featureStrategySchema' featureEnvironments: type: array description: Environment-specific configuration for all the features in the `features` list. Includes data such as whether the feature is enabled in the selected export environment, whether there are any variants assigned, etc. example: - enabled: true featureName: my-feature environment: development variants: - name: a weight: 500 overrides: [] stickiness: random weightType: variable - name: b weight: 500 overrides: [] stickiness: random weightType: variable name: variant-testing items: $ref: '#/components/schemas/featureEnvironmentSchema' contextFields: type: array description: A list of all the context fields that are in use by any of the strategies in the `featureStrategies` list. example: - name: appName description: Allows you to constrain on application name stickiness: false sortOrder: 2 legalValues: [] items: $ref: '#/components/schemas/contextFieldSchema' featureTags: type: array description: A list of all the tags that have been applied to any of the features in the `features` list. example: - featureName: my-feature tagType: simple tagValue: user-facing items: $ref: '#/components/schemas/featureTagSchema' segments: type: array description: A list of all the segments that are used by the strategies in the `featureStrategies` list. example: - id: 1 name: new-segment-name items: type: object additionalProperties: false required: - id - name properties: id: type: number name: type: string tagTypes: type: array description: A list of all of the tag types that are used in the `featureTags` list. example: - name: simple description: Used to simplify filtering of features icon: '#' items: $ref: '#/components/schemas/tagTypeSchema' dependencies: type: array description: A list of all the dependencies for features in `features` list. items: $ref: '#/components/schemas/featureDependenciesSchema' links: type: array description: A list of links for features in `features` list. items: $ref: '#/components/schemas/featureLinksSchema' featureDependenciesSchema: type: object description: Feature dependency connection between a child feature and its dependencies required: - feature - dependencies additionalProperties: false properties: feature: type: string description: The name of the child feature. example: child_feature dependencies: type: array description: List of parent features for the child feature items: $ref: '#/components/schemas/dependentFeatureSchema' featureEnvironmentMetricsSchema: type: object additionalProperties: false required: - environment - timestamp - 'yes' - 'no' description: How many times `feautreName` was evaluated to `true` (yes) and `false` (no) for `appName` in `environmnet` properties: featureName: description: The name of the feature type: string example: my.special.feature appName: description: The name of the application the SDK is being used in type: string example: accounting environment: description: Which environment the SDK is being used in type: string example: development timestamp: description: The start of the time window these metrics are valid for. The window is usually 1 hour wide example: '1926-05-08T12:00:00.000Z' $ref: '#/components/schemas/dateSchema' 'yes': description: How many times the toggle evaluated to true type: integer example: 974 minimum: 0 'no': description: How many times the toggle evaluated to false type: integer example: 50 minimum: 0 variants: description: How many times each variant was returned type: object additionalProperties: type: integer minimum: 0 example: variantA: 15 variantB: 25 variantC: 5 featureEnvironmentSchema: type: object additionalProperties: false required: - name - enabled description: A detailed description of the feature environment properties: name: type: string example: my-dev-env description: The name of the environment featureName: type: string example: disable-comments description: The name of the feature environment: type: string example: development description: The name of the environment type: type: string example: development description: The type of the environment enabled: type: boolean example: true description: '`true` if the feature is enabled for the environment, otherwise `false`.' sortOrder: type: number example: 3 description: The sort order of the feature environment in the feature environments list variantCount: type: number description: The number of defined variants strategies: type: array items: $ref: '#/components/schemas/featureStrategySchema' description: A list of activation strategies for the feature environment variants: type: array items: $ref: '#/components/schemas/variantSchema' description: A list of variants for the feature environment changeRequestIds: type: array items: type: number description: Experimental. A list of change request identifiers for actionable change requests that are not Cancelled, Rejected or Approved. milestoneName: type: string example: Phase One description: 'Experimental: The name of the currently active release plan milestone' milestoneOrder: type: number example: 0 description: 'Experimental: The zero-indexed order of currently active milestone in the list of all release plan milestones' totalMilestones: type: number example: 0 description: 'Experimental: The total number of milestones in the feature environment release plan' lastSeenAt: type: string format: date-time nullable: true example: '2023-01-28T16:21:39.975Z' description: The date when metrics where last collected for the feature environment hasStrategies: type: boolean description: Whether the feature has any strategies defined. hasEnabledStrategies: type: boolean description: Whether the feature has any enabled strategies defined. releasePlans: type: array description: Release plans for this feature environment (only available when milestoneProgression feature flag is enabled) items: $ref: '#/components/schemas/releasePlanSchema' 'yes': type: integer description: How many times the feature evaluated to true (enabled) example: 974 minimum: 0 'no': type: integer description: How many times the feature evaluated to false (disabled) example: 50 minimum: 0 featureEventsSchema: type: object additionalProperties: false required: - events description: One or more events happening to a specific feature flag properties: version: type: integer description: An API versioning number minimum: 1 enum: - 1 example: 1 toggleName: description: The name of the feature flag these events relate to type: string example: my.first.feature.flag events: description: The list of events type: array items: $ref: '#/components/schemas/eventSchema' totalEvents: description: How many events are there for this feature flag type: integer minimum: 0 example: 13 featureLifecycleCompletedSchema: description: A feature that has been marked as completed additionalProperties: false type: object required: - status properties: status: type: string enum: - kept - discarded example: kept description: The status of the feature after it has been marked as completed statusValue: type: string example: variant1 description: The metadata value passed in together with status featureLifecycleCountSchema: type: object description: A number features in each of the lifecycle stages required: - initial - preLive - live - completed - archived additionalProperties: false properties: initial: type: number example: 1 description: Number of features in the initial stage preLive: type: number example: 1 description: Number of features in the pre-live stage live: type: number example: 1 description: Number of features in the live stage completed: type: number example: 1 description: Number of features in the completed stage archived: type: number example: 1 description: Number of features in the archived stage featureLifecycleSchema: type: array description: A list of lifecycle stages for a given feature items: additionalProperties: false type: object required: - stage - enteredStageAt properties: stage: type: string enum: - initial - pre-live - live - completed - archived example: initial description: The name of the lifecycle stage that got recorded for a given feature status: type: string example: kept description: The name of the detailed status of a given stage. E.g. completed stage can be kept or discarded. enteredStageAt: type: string format: date-time example: '2023-01-28T16:21:39.975Z' description: The date when the feature entered a given stage description: The lifecycle stage of the feature featureLinkSchema: type: object required: - url properties: url: type: string example: https://github.com/search?q=cleanupReminder&type=code description: The URL the feature is linked to title: type: string example: Github cleanup description: The description of the link nullable: true description: The link to any URL related to the feature featureLinksSchema: type: object description: A list of links for a feature required: - feature - links additionalProperties: false properties: feature: type: string description: The name of the child feature. example: child_feature links: type: array description: List of feature links items: $ref: '#/components/schemas/featureLinkSchema' featureMetricsSchema: type: object additionalProperties: false required: - version - maturity - data description: A batch of feature metrics properties: version: description: The version of this schema type: integer minimum: 1 maturity: description: The maturity level of this API (alpha, beta, stable, deprecated) type: string example: stable data: description: Metrics gathered per environment type: array items: $ref: '#/components/schemas/featureEnvironmentMetricsSchema' featureSchema: type: object additionalProperties: false required: - name description: A feature flag definition properties: name: type: string example: disable-comments description: Unique feature name type: type: string example: kill-switch description: Type of the flag e.g. experiment, kill-switch, release, operational, permission description: type: string nullable: true example: Controls disabling of the comments section in case of an incident description: Detailed description of the feature archived: type: boolean example: true description: '`true` if the feature is archived' project: type: string example: dx-squad description: Name of the project the feature belongs to enabled: type: boolean example: true description: '`true` if the feature is enabled, otherwise `false`.' stale: type: boolean example: false description: '`true` if the feature is stale based on the age and feature type, otherwise `false`.' favorite: type: boolean example: true description: '`true` if the feature was favorited, otherwise `false`.' impressionData: type: boolean example: false description: '`true` if the impression data collection is enabled for the feature, otherwise `false`.' createdAt: type: string format: date-time nullable: true example: '2023-01-28T15:21:39.975Z' description: The date the feature was created createdBy: type: object description: User who created the feature flag additionalProperties: false required: - id - name - imageUrl properties: id: description: The user id type: integer example: 123 name: description: Name of the user type: string example: User imageUrl: description: URL used for the user profile image type: string example: https://example.com/242x200.png archivedAt: type: string format: date-time nullable: true example: '2023-01-29T15:21:39.975Z' description: The date the feature was archived lastSeenAt: type: string format: date-time nullable: true deprecated: true example: '2023-01-28T16:21:39.975Z' description: The date when metrics where last collected for the feature. This field was deprecated in v5, use the one in featureEnvironmentSchema environments: type: array items: $ref: '#/components/schemas/featureEnvironmentSchema' description: The list of environments where the feature can be used variants: type: array items: $ref: '#/components/schemas/variantSchema' description: The list of feature variants deprecated: true strategies: type: array items: type: object description: This was deprecated in v5 and will be removed in a future major version deprecated: true tags: type: array items: $ref: '#/components/schemas/tagSchema' nullable: true description: The list of feature tags children: type: array description: The list of child feature names. This is an experimental field and may change. items: type: string example: some-feature lifecycle: type: object description: Current lifecycle stage of the feature additionalProperties: false required: - stage - enteredStageAt properties: stage: description: The name of the current lifecycle stage type: string enum: - initial - pre-live - live - completed - archived example: initial status: type: string nullable: true example: kept description: The name of the detailed status of a given stage. E.g. completed stage can be kept or discarded. enteredStageAt: description: When the feature entered this stage type: string format: date-time example: '2023-01-28T15:21:39.975Z' dependencies: type: array items: type: object additionalProperties: false required: - feature properties: feature: description: The name of the parent feature type: string example: some-feature enabled: description: Whether the parent feature is enabled or not type: boolean example: true variants: description: The list of variants the parent feature should resolve to. Only valid when feature is enabled. type: array items: example: some-feature-blue-variant type: string description: The list of parent dependencies. This is an experimental field and may change. collaborators: type: object required: - users description: Information related to users who have made changes to this feature flage. properties: users: description: Users who have made any changes to this feature flags. The list is sorted in reverse chronological order (most recent changes first) type: array items: type: object required: - id - name - imageUrl description: A simple representation of a user. properties: id: description: The user's id type: integer example: 123 name: description: 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` type: string example: User imageUrl: description: The URL to the user's profile image type: string example: https://example.com/242x200.png links: type: array items: type: object additionalProperties: false required: - id - url properties: id: type: string example: 01JTJNCJ5XVP2KPJFA03YRBZCA description: The id of the link url: type: string example: https://github.com/search?q=cleanupReminder&type=code description: The URL the feature is linked to title: type: string example: Github cleanup description: The description of the link nullable: true feature: type: string example: disable-comments description: The name of the feature this link belongs to description: The list of links. This is an experimental field and may change. featureSearchEnvironmentSchema: type: object additionalProperties: false required: - name - enabled - type description: A detailed description of the feature environment properties: name: type: string example: my-dev-env description: The name of the environment featureName: type: string example: disable-comments description: The name of the feature environment: type: string example: development description: The name of the environment type: type: string example: development description: The type of the environment enabled: type: boolean example: true description: '`true` if the feature is enabled for the environment, otherwise `false`.' sortOrder: type: number example: 3 description: The sort order of the feature environment in the feature environments list variantCount: type: number description: The number of defined variants strategies: type: array items: $ref: '#/components/schemas/featureStrategySchema' description: A list of activation strategies for the feature environment variants: type: array items: $ref: '#/components/schemas/variantSchema' description: A list of variants for the feature environment changeRequestIds: type: array items: type: number description: Experimental. A list of change request identifiers for actionable change requests that are not Cancelled, Rejected or Approved. milestoneName: type: string example: Phase One description: 'Experimental: The name of the currently active release plan milestone' milestoneOrder: type: number example: 0 description: 'Experimental: The zero-indexed order of currently active milestone in the list of all release plan milestones' totalMilestones: type: number example: 0 description: 'Experimental: The total number of milestones in the feature environment release plan' lastSeenAt: type: string format: date-time nullable: true example: '2023-01-28T16:21:39.975Z' description: The date when metrics where last collected for the feature environment hasStrategies: type: boolean description: Whether the feature has any strategies defined. hasEnabledStrategies: type: boolean description: Whether the feature has any enabled strategies defined. releasePlans: type: array description: Release plans for this feature environment (only available when milestoneProgression feature flag is enabled) items: $ref: '#/components/schemas/releasePlanSchema' 'yes': description: How many times the toggle evaluated to true in last hour bucket type: integer example: 974 minimum: 0 'no': description: How many times the toggle evaluated to false in last hour bucket type: integer example: 50 minimum: 0 featureSearchResponseSchema: type: object additionalProperties: false required: - name - description - dependencyType - type - project - stale - favorite - impressionData - createdAt - createdBy - environments - segments - archivedAt description: A feature flag definition properties: name: type: string example: disable-comments description: Unique feature name type: type: string example: kill-switch description: Type of the flag e.g. experiment, kill-switch, release, operational, permission description: type: string nullable: true example: Controls disabling of the comments section in case of an incident description: Detailed description of the feature dependencyType: type: string enum: - parent - child - null nullable: true example: parent description: The type of dependency. 'parent' means that the feature is a parent feature, 'child' means that the feature is a child feature. project: type: string example: dx-squad description: Name of the project the feature belongs to stale: type: boolean example: false description: '`true` if the feature is stale based on the age and feature type, otherwise `false`.' favorite: type: boolean example: true description: '`true` if the feature was favorited, otherwise `false`.' impressionData: type: boolean example: false description: '`true` if the impression data collection is enabled for the feature, otherwise `false`.' createdAt: type: string format: date-time nullable: true example: '2023-01-28T15:21:39.975Z' description: The date the feature was created archivedAt: type: string format: date-time nullable: true example: '2023-01-29T15:21:39.975Z' description: The date the feature was archived lastSeenAt: type: string format: date-time nullable: true deprecated: true example: '2023-01-28T16:21:39.975Z' description: The date when metrics where last collected for the feature. This field was deprecated in v5 and will be removed in a future release, use the one in featureEnvironmentSchema environments: type: array items: $ref: '#/components/schemas/featureSearchEnvironmentSchema' description: The list of environments where the feature can be used segments: type: array description: The list of segments the feature is enabled for. example: - pro-users - main-segment items: type: string variants: type: array items: $ref: '#/components/schemas/variantSchema' description: The list of feature variants. This field was deprecated in v5 deprecated: true strategies: type: array items: type: object description: This is a legacy field that was deprecated in v5 deprecated: true tags: type: array items: $ref: '#/components/schemas/tagSchema' nullable: true description: The list of feature tags lifecycle: type: object description: Current lifecycle stage of the feature additionalProperties: false required: - stage - enteredStageAt properties: stage: description: The name of the current lifecycle stage type: string enum: - initial - pre-live - live - completed - archived example: initial status: type: string nullable: true example: kept description: The name of the detailed status of a given stage. E.g. completed stage can be kept or discarded. enteredStageAt: description: When the feature entered this stage type: string format: date-time example: '2023-01-28T15:21:39.975Z' createdBy: type: object description: User who created the feature flag additionalProperties: false required: - id - name - imageUrl properties: id: description: The user id type: integer example: 123 name: description: Name of the user type: string example: User imageUrl: description: URL used for the user profile image type: string example: https://example.com/242x200.png featureStrategySchema: description: A single activation strategy configuration schema for a feature type: object additionalProperties: false required: - name properties: id: type: string description: A uuid for the feature strategy example: 6b5157cb-343a-41e7-bfa3-7b4ec3044840 name: type: string description: The name or type of strategy example: flexibleRollout title: type: string description: A descriptive title for the strategy example: Gradual Rollout 25-Prod nullable: true disabled: type: boolean description: A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs example: false nullable: true featureName: type: string description: The name or feature the strategy is attached to example: myAwesomeFeature sortOrder: type: number description: The order of the strategy in the list example: 9999 segments: type: array description: A list of segment ids attached to the strategy example: - 1 - 2 items: type: number constraints: type: array description: A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints items: $ref: '#/components/schemas/constraintSchema' variants: type: array description: Strategy level variants items: $ref: '#/components/schemas/strategyVariantSchema' parameters: $ref: '#/components/schemas/parametersSchema' featureStrategySegmentSchema: type: object description: An object containing a segment identifier and a strategy identifier. additionalProperties: false required: - segmentId - featureStrategyId properties: segmentId: type: integer description: The ID of the segment example: 2 featureStrategyId: type: string description: The ID of the strategy example: e2caa08f-30c4-4aa3-b955-54ca9e93dc13 featureTagSchema: type: object description: Describes a tag applied to a feature additionalProperties: false required: - featureName - tagValue properties: featureName: type: string example: my-feature description: The name of the feature this tag is applied to tagType: type: string example: simple description: The [type](https://docs.getunleash.io/concepts/feature-flags#tags) of the tag tagValue: type: string example: my-tag description: The value of the tag type: deprecated: true type: string description: The [type](https://docs.getunleash.io/concepts/feature-flags#tags) of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the `tagType` property. value: deprecated: true type: string description: The value of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the `tagValue` property. createdByUserId: type: number nullable: true example: 1 description: The id of the user who created this tag featureTypeCountSchema: type: object additionalProperties: false required: - type - count description: A count of feature flags of a specific type properties: type: type: string example: kill-switch description: Type of the flag e.g. experiment, kill-switch, release, operational, permission count: type: number example: 1 description: Number of feature flags of this type featureTypeSchema: type: object description: A [feature flag type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types). additionalProperties: false required: - id - name - description - lifetimeDays properties: id: type: string description: The identifier of this feature flag type. example: kill-switch name: type: string description: The display name of this feature flag type. example: Kill switch description: type: string description: A description of what this feature flag type is intended to be used for. example: Kill switch feature flags are used to quickly turn on or off critical functionality in your system. lifetimeDays: type: integer minimum: 0 description: How many days it takes before a feature flag of this typed is flagged as [potentially stale](https://docs.getunleash.io/concepts/technical-debt#stale-and-potentially-stale-toggles) by Unleash. If this value is `null`, Unleash will never mark it as potentially stale. example: 40 nullable: true featureTypesSchema: type: object additionalProperties: false description: A list of [feature flag types](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types) and the schema version used to represent those feature types. required: - version - types properties: version: type: integer enum: - 1 example: 1 description: The schema version used to describe the feature flag types listed in the `types` property. types: type: array description: The list of feature flag types. items: $ref: '#/components/schemas/featureTypeSchema' example: - id: release name: Release description: Release feature flags are used to release new features. lifetimeDays: 40 - id: experiment name: Experiment description: Experiment feature flags are used to test and verify multiple different versions of a feature. lifetimeDays: 40 - id: operational name: Operational description: Operational feature flags are used to control aspects of a rollout. lifetimeDays: 7 - id: kill-switch name: Kill switch description: Kill switch feature flags are used to quickly turn on or off critical functionality in your system. lifetimeDays: null - id: permission name: Permission description: Permission feature flags are used to control permissions in your system. lifetimeDays: null featureUsageSchema: type: object additionalProperties: false description: How many applications have seen this feature flag, as well as how this feature was evaluated the last hour required: - version - maturity - featureName - lastHourUsage - seenApplications properties: version: description: The version of this schema type: integer minimum: 1 maturity: description: The maturity level of this API (alpha, beta, stable, deprecated) type: string example: stable featureName: description: The name of the feature type: string example: my.special.feature lastHourUsage: description: Last hour statistics. Accumulated per feature per environment. Contains counts for evaluations to true (yes) and to false (no) type: array items: $ref: '#/components/schemas/featureEnvironmentMetricsSchema' seenApplications: description: A list of applications seen using this feature type: array items: type: string example: - accounting - billing - booking featureVariantsSchema: type: object additionalProperties: false required: - version - variants description: A versioned collection of feature flag variants. properties: version: type: integer example: 1 description: The version of the feature variants schema. variants: type: array items: $ref: '#/components/schemas/variantSchema' description: All variants defined for a specific feature flag. feedbackCreateSchema: required: - feedbackId type: object description: User feedback information to be created. properties: neverShow: description: '`true` if the user has asked never to see this feedback questionnaire again. Defaults to `false`.' type: boolean example: false feedbackId: description: The name of the feedback session type: string example: pnps feedbackResponseSchema: additionalProperties: false type: object description: User feedback information about a particular feedback item. properties: userId: description: The ID of the user that gave the feedback. type: integer example: 2 neverShow: description: '`true` if the user has asked never to see this feedback questionnaire again.' type: boolean example: false given: description: When this feedback was given type: string format: date-time nullable: true example: '2023-07-06T08:29:21.282Z' feedbackId: description: The name of the feedback session type: string example: pnps feedbackUpdateSchema: type: object description: User feedback information to be updated. properties: userId: description: The ID of the user that gave the feedback. type: integer example: 2 neverShow: description: '`true` if the user has asked never to see this feedback questionnaire again.' type: boolean example: false given: description: When this feedback was given type: string format: date-time nullable: true example: '2023-07-06T08:29:21.282Z' frontendApiClientSchema: type: object required: - appName - interval - started - strategies description: Frontend SDK client registration information properties: appName: type: string description: Name of the application using Unleash instanceId: type: string description: Instance id for this application (typically hostname, podId or similar) sdkVersion: type: string description: Optional field that describes the sdk version (name:version) environment: type: string deprecated: true description: deprecated example: development interval: type: number description: At which interval, in milliseconds, will this client be expected to send metrics started: oneOf: - type: string format: date-time - type: number description: When this client started. Should be reported as ISO8601 time. strategies: type: array items: type: string description: List of strategies implemented by this application frontendApiFeatureSchema: type: object required: - name - enabled - impressionData additionalProperties: false description: Frontend API feature properties: name: type: string example: disable-comments description: Unique feature name. enabled: type: boolean example: true description: Always set to `true`. impressionData: type: boolean example: false description: '`true` if the impression data collection is enabled for the feature, otherwise `false`.' variant: type: object required: - name - enabled additionalProperties: false description: Variant details properties: name: type: string description: The variants name. Is unique for this feature flag example: blue_group enabled: type: boolean example: true description: Whether the variant is enabled or not. payload: type: object additionalProperties: false required: - type - value description: Extra data configured for this variant example: type: json value: '{"color": "red"}' properties: type: type: string description: The format of the payload. enum: - json - csv - string - number value: type: string description: The payload value stringified. feature_enabled: type: boolean description: Whether the feature is enabled or not. example: true featureEnabled: deprecated: true type: boolean description: Use `feature_enabled` instead. example: true frontendApiFeaturesPostSchema: description: The Unleash frontend API POST request body. type: object additionalProperties: true properties: context: description: The Unleash context. type: object additionalProperties: true properties: appName: type: string minLength: 1 example: My cool application. description: The name of the application. currentTime: type: string format: date-time example: '2022-07-05T12:56:41+02:00' description: A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user. environment: type: string deprecated: true description: The environment the app is running in. properties: type: object additionalProperties: type: string description: Additional Unleash context properties example: customContextField: this is one! otherCustomField: '3' remoteAddress: type: string example: 192.168.1.1 description: The app's IP address sessionId: type: string example: b65e7b23-fec0-4814-a129-0e9861ef18fc description: An identifier for the current session userId: type: string example: username@provider.com description: An identifier for the current user frontendApiFeaturesSchema: type: object required: - toggles additionalProperties: false description: Frontend SDK features list properties: toggles: description: The actual features returned to the Frontend SDK type: array items: $ref: '#/components/schemas/frontendApiFeatureSchema' groupSchema: type: object additionalProperties: false required: - name description: A detailed information about a user group properties: id: description: The group id type: integer example: 1 name: description: The name of the group type: string example: DX team description: description: A custom description of the group type: string nullable: true example: Current members of the DX squad mappingsSSO: description: A list of SSO groups that should map to this Unleash group type: array items: type: string example: - SSOGroup1 - SSOGroup2 rootRole: type: number nullable: true description: A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. example: 1 createdBy: description: A user who created this group type: string nullable: true example: admin createdAt: description: When was this group created type: string format: date-time nullable: true example: '2023-06-30T11:41:00.123Z' users: type: array description: A list of users belonging to this group items: $ref: '#/components/schemas/groupUserModelSchema' projects: description: A list of projects where this group is used type: array items: type: string example: - default - my-project userCount: description: The number of users that belong to this group example: 1 type: integer minimum: 0 scimId: description: The SCIM ID of the group, only present if managed by SCIM type: string nullable: true example: 01HTMEXAMPLESCIMID7SWWGHN7 groupUserModelSchema: type: object additionalProperties: false required: - user description: Details for a single user belonging to a group properties: joinedAt: description: The date when the user joined the group type: string format: date-time example: '2023-06-30T11:41:00.123Z' createdBy: description: The username of the user who added this user to this group type: string nullable: true example: admin user: $ref: '#/components/schemas/userSchema' groupsSchema: type: object additionalProperties: false description: A list of [user groups](https://docs.getunleash.io/concepts/rbac#user-groups) properties: groups: description: A list of groups type: array items: $ref: '#/components/schemas/groupSchema' healthCheckSchema: type: object description: Used by service orchestrators to decide whether this Unleash instance should be marked as healthy or unhealthy additionalProperties: false required: - health properties: health: description: The state this Unleash instance is in. GOOD if the server is up and running. It never returns BAD, if the server is unhealthy you will get an unsuccessful http response. type: string enum: - GOOD - BAD example: GOOD healthOverviewSchema: type: object additionalProperties: false required: - version - name - defaultStickiness - mode - members - health - technicalDebt - environments - features description: An overview of a project's stats and its health as described in the documentation on [technical debt](https://docs.getunleash.io/concepts/technical-debt) properties: version: type: integer description: The project overview version. example: 1 name: type: string description: The project's name example: enterprisegrowth description: type: string nullable: true description: The project's description example: The project for all things enterprisegrowth defaultStickiness: type: string example: userId description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy mode: type: string enum: - open - protected - private example: open description: The project's [collaboration mode](https://docs.getunleash.io/concepts/project-collaboration-mode). Determines whether non-project members can submit change requests or not. featureLimit: type: number nullable: true example: 100 description: A limit on the number of features allowed in the project. Null if no limit. members: type: integer description: The number of users/members in the project. example: 5 minimum: 0 health: type: integer description: Use `technicalDebt` instead. example: 95 deprecated: true technicalDebt: type: number example: 25 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 environments: type: array items: $ref: '#/components/schemas/projectEnvironmentSchema' description: An array containing the names of all the environments configured for the project. features: type: array items: $ref: '#/components/schemas/featureSchema' description: An array containing an overview of all the features of the project and their individual status updatedAt: type: string format: date-time nullable: true description: When the project was last updated. example: '2023-04-19T08:15:14.000Z' createdAt: type: string format: date-time nullable: true description: When the project was last updated. example: '2023-04-19T08:15:14.000Z' favorite: type: boolean description: Indicates if the project has been marked as a favorite by the current user requesting the project health overview. example: true stats: $ref: '#/components/schemas/projectStatsSchema' description: Project statistics featureNaming: $ref: '#/components/schemas/createFeatureNamingPatternSchema' healthReportSchema: type: object additionalProperties: false required: - version - name - defaultStickiness - mode - members - health - technicalDebt - environments - features - potentiallyStaleCount - activeCount - staleCount description: A report of the current health of the requested project, with datapoints like counters of currently active, stale, and potentially stale feature flags. properties: version: type: integer description: The project overview version. example: 1 name: type: string description: The project's name example: enterprisegrowth description: type: string nullable: true description: The project's description example: The project for all things enterprisegrowth defaultStickiness: type: string example: userId description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy mode: type: string enum: - open - protected - private example: open description: The project's [collaboration mode](https://docs.getunleash.io/concepts/project-collaboration-mode). Determines whether non-project members can submit change requests or not. featureLimit: type: number nullable: true example: 100 description: A limit on the number of features allowed in the project. Null if no limit. members: type: integer description: The number of users/members in the project. example: 5 minimum: 0 health: type: integer description: Use `technicalDebt` instead. example: 95 deprecated: true technicalDebt: type: number example: 25 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 environments: type: array items: $ref: '#/components/schemas/projectEnvironmentSchema' description: An array containing the names of all the environments configured for the project. features: type: array items: $ref: '#/components/schemas/featureSchema' description: An array containing an overview of all the features of the project and their individual status updatedAt: type: string format: date-time nullable: true description: When the project was last updated. example: '2023-04-19T08:15:14.000Z' createdAt: type: string format: date-time nullable: true description: When the project was last updated. example: '2023-04-19T08:15:14.000Z' favorite: type: boolean description: Indicates if the project has been marked as a favorite by the current user requesting the project health overview. example: true stats: $ref: '#/components/schemas/projectStatsSchema' description: Project statistics featureNaming: $ref: '#/components/schemas/createFeatureNamingPatternSchema' potentiallyStaleCount: type: number description: The number of potentially stale feature flags. example: 5 activeCount: type: number description: The number of active feature flags. example: 2 staleCount: type: number description: The number of stale feature flags. example: 10 idSchema: type: object additionalProperties: false description: Email id used for password reset required: - id properties: id: type: string description: User email example: user@example.com idsSchema: type: object additionalProperties: false description: Used for bulk deleting multiple ids required: - ids properties: ids: type: array description: Ids, for instance userid items: type: number minimum: 0 example: - 12 - 212 impactMetricsSchema: type: object description: Used for reporting impact metrics from SDKs oneOf: - required: - name - help - type - samples properties: name: type: string description: Name of the impact metric example: my-counter help: description: Human-readable description of what the metric measures type: string example: Counts the number of operations type: description: Type of the metric type: string enum: - counter - gauge example: counter samples: description: Samples of the numeric metric type: array items: type: object required: - value description: A sample of a numeric metric with a value and optional labels properties: value: type: number description: The value of the metric sample example: 10 labels: description: Optional labels for the metric sample type: object additionalProperties: oneOf: - type: string - type: number example: application: my-app environment: production - required: - name - help - type - samples properties: name: type: string description: Name of the impact metric example: my-histogram help: description: Human-readable description of what the metric measures type: string example: Measures request duration type: description: Type of the metric type: string enum: - histogram example: histogram samples: description: Samples of the histogram metric type: array items: type: object required: - count - sum - buckets description: A sample of a histogram metric with count, sum, buckets and optional labels properties: count: type: number description: Total count of observations example: 100 sum: type: number description: Sum of all observed values example: 1500 buckets: type: array description: Histogram buckets items: type: object required: - le - count properties: le: oneOf: - type: number - type: string enum: - +Inf description: Upper bound of the bucket example: 0.5 count: type: number description: Count of observations in this bucket example: 30 labels: description: Optional labels for the metric sample type: object additionalProperties: oneOf: - type: string - type: number example: application: my-app environment: production importTogglesSchema: type: object required: - project - environment - data additionalProperties: false description: The result of the export operation for a project and environment, used at import properties: project: type: string example: My awesome project description: The exported [project](https://docs.getunleash.io/concepts/projects) environment: type: string example: development description: The exported [environment](https://docs.getunleash.io/concepts/environments) data: $ref: '#/components/schemas/exportResultSchema' importTogglesValidateItemSchema: type: object required: - message - affectedItems additionalProperties: false description: A description of an error or warning pertaining to a feature flag import job. properties: message: type: string description: The validation error message example: 'You cannot import a feature that already exist in other projects. You already have the following features defined outside of project default:' affectedItems: type: array description: 'The items affected by this error message ' example: - some-feature-a - some-feature-b items: type: string importTogglesValidateSchema: type: object required: - errors - warnings additionalProperties: false description: An object containing [feature import](https://docs.getunleash.io/concepts/import-export) validation results. properties: errors: description: A list of errors that prevent the provided data from being successfully imported. type: array example: - message: 'You cannot import a feature that already exist in other projects. You already have the following features defined outside of project default:' affectedItems: - my-feature (in project project-854) items: $ref: '#/components/schemas/importTogglesValidateItemSchema' warnings: type: array description: A list of warnings related to the provided data. example: - message: 'The following strategy types will be used in import. Please make sure the strategy type parameters are configured as in source environment:' affectedItems: - custom-strategy-7 items: $ref: '#/components/schemas/importTogglesValidateItemSchema' permissions: type: array description: Any additional permissions required to import the data. If the list is empty, you require no additional permissions beyond what your user already has. items: $ref: '#/components/schemas/importTogglesValidateItemSchema' example: [] inactiveUserSchema: type: object additionalProperties: false description: A Unleash user that has been flagged as inactive required: - id properties: id: description: The user id type: integer minimum: 0 example: 123 name: description: Name of the user type: string example: Ned Ryerson nullable: true email: description: Email of the user type: string example: user@example.com username: description: A unique username for the user type: string example: nedryerson nullable: true seenAt: description: The last time this user logged in type: string format: date-time nullable: true example: '2024-01-25T11:42:00.345Z' createdAt: description: The user was created at this time type: string format: date-time example: '2023-12-31T23:59:59.999Z' patSeenAt: description: The last time this user's PAT token (if any) was used type: string format: date-time nullable: true example: '2024-01-01T23:59:59.999Z' inactiveUsersSchema: type: object additionalProperties: false description: A list of users that has been flagged as inactive required: - version - inactiveUsers properties: version: description: The version of this schema. Used to keep track of compatibility type: integer minimum: 1 example: 1 inactiveUsers: description: The list of users that are flagged as inactive type: array items: $ref: '#/components/schemas/inactiveUserSchema' instanceAdminStatsSchema: type: object additionalProperties: false description: Information about an instance and statistics about usage of various features of Unleash required: - instanceId properties: instanceId: type: string description: A unique identifier for this instance. Generated by the database migration scripts at first run. Typically a UUID. example: ed3861ae-78f9-4e8c-8e57-b57efc15f82b timestamp: type: string format: date-time nullable: true description: When these statistics were produced example: '2023-06-12T12:25:06Z' versionOSS: type: string description: The version of Unleash OSS that is bundled in this instance example: 5.1.7 versionEnterprise: type: string description: The version of Unleash Enterprise that is bundled in this instance example: 5.1.7 users: type: integer description: The number of users this instance has example: 8 minimum: 0 previousDayMetricsBucketsCount: type: object description: 'The number client metrics buckets records recorded in the previous day. # features * # apps * # envs * # hours with metrics' properties: enabledCount: type: integer description: The number of enabled/disabled metrics buckets recorded in the previous day example: 10 minimum: 0 variantCount: type: integer description: The number of variant metrics buckets recorded in the previous day example: 10 minimum: 0 activeUsers: type: object description: The number of active users in the last 7, 30 and 90 days properties: last7: type: integer description: The number of active users in the last 7 days example: 5 minimum: 0 last30: type: integer description: The number of active users in the last 30 days example: 10 minimum: 0 last60: type: integer description: The number of active users in the last 60 days example: 12 minimum: 0 last90: type: integer description: The number of active users in the last 90 days example: 15 minimum: 0 licensedUsers: type: integer description: The number of users who had access to Unleash within the last 30 days, including those who may have been deleted during this period. example: 10 minimum: 0 productionChanges: type: object description: The number of changes to the production environment in the last 30, 60 and 90 days properties: last30: type: integer description: The number of changes in production in the last 30 days example: 10 minimum: 0 last60: type: integer description: The number of changes in production in the last 60 days example: 12 minimum: 0 last90: type: integer description: The number of changes in production in the last 90 days example: 15 minimum: 0 featureToggles: type: integer description: The number of feature-toggles this instance has example: 47 minimum: 0 projects: type: integer description: The number of projects defined in this instance. example: 3 minimum: 0 contextFields: type: integer description: The number of context fields defined in this instance. example: 7 minimum: 0 roles: type: integer description: The number of roles defined in this instance example: 5 minimum: 0 groups: type: integer description: The number of groups defined in this instance example: 12 minimum: 0 environments: type: integer description: The number of environments defined in this instance example: 3 minimum: 0 segments: type: integer description: The number of segments defined in this instance example: 19 minimum: 0 strategies: type: integer description: The number of strategies defined in this instance example: 8 minimum: 0 SAMLenabled: type: boolean description: Whether or not SAML authentication is enabled for this instance example: false OIDCenabled: type: boolean description: Whether or not OIDC authentication is enabled for this instance example: true clientApps: type: array description: A count of connected applications in the last week, last month and all time since last restart items: type: object description: An entry describing how many client applications has been observed over the defined range properties: range: type: string description: A description of a time range enum: - allTime - 30d - 7d example: 30d count: type: integer description: The number of client applications that have been observed in this period example: 1 featureExports: type: integer description: The number of export operations on this instance example: 0 minimum: 0 featureImports: type: integer description: The number of import operations on this instance example: 0 minimum: 0 apiTokens: type: object description: The number of API tokens in Unleash, split by type properties: admin: type: integer description: The number of admin tokens. minimum: 0 example: 5 client: type: integer description: The number of client tokens. minimum: 0 example: 5 frontend: type: integer description: The number of frontend tokens. minimum: 0 example: 5 maxEnvironmentStrategies: type: integer minimum: 0 example: 3 description: The highest number of strategies used on a single feature flag in a single environment. maxConstraints: type: integer minimum: 0 example: 4 description: The highest number of constraints used on a single strategy. maxConstraintValues: type: integer minimum: 0 example: 17 description: The highest number of constraint values used on a single constraint. releaseTemplates: type: integer minimum: 0 example: 2 description: The number of release templates in this instance releasePlans: type: integer minimum: 0 example: 1 description: The number of release plans in this instance edgeInstanceUsage: type: object description: The average number of edge instances, per month, in the last 12 months, rounded to 3 decimal places additionalProperties: type: number minimum: 0 example: 2025-09: 2.25 2025-08: 1.75 2024-10: 0.45 readOnlyUsers: type: integer minimum: 0 example: 1 description: The number of ReadOnly users in this instance sum: type: string description: A SHA-256 checksum of the instance statistics to be used to verify that the data in this object has not been tampered with example: b023323477abb1eb145bebf3cdb30a1c2063e3edc1f7ae474ed8ed6c80de9a3b integrationEventSchema: type: object required: - id - integrationId - createdAt - state - stateDetails - event - details description: An object describing an integration event. additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ description: The integration event's ID. Integration event IDs are incrementing integers. In other words, a more recently created integration event will always have a higher ID than an older one. This ID is represented as a string since it is a BigInt. example: '7' integrationId: type: integer description: The ID of the integration that the integration event belongs to. example: 42 createdAt: type: string format: date-time description: The date and time of when the integration event was created. In other words, the date and time of when the integration handled the event. example: '2023-12-27T13:37:00+01:00' state: type: string enum: - success - failed - successWithErrors description: The state of the integration event. Can be one of `success`, `failed` or `successWithErrors`. example: failed stateDetails: type: string description: Details about the state of the integration event. example: 'Status code: 429 - Rate limit reached.' event: $ref: '#/components/schemas/eventSchema' description: The event that triggered this integration event. details: type: object x-enforcer-exception-skip-codes: WSCH006 description: Detailed information about the integration event. The contents vary depending on the type of integration and the specific details. example: message: '*user@yourcompany.com* created a new *slack-app* integration configuration' channels: - engineering - unleash-updates integrationEventsSchema: description: A response model with a list of integration events. type: object additionalProperties: false required: - integrationEvents properties: integrationEvents: type: array description: A list of integration events. items: $ref: '#/components/schemas/integrationEventSchema' legalValueSchema: type: object additionalProperties: false description: Describes a legal value. Typically used to limit possible values for contextFields or strategy properties required: - value properties: value: description: The valid value type: string example: '#c154c1' description: description: Describes this specific legal value type: string example: Deep fuchsia loginSchema: type: object additionalProperties: false required: - username - password description: A username/password login request properties: username: description: The username trying to log in type: string example: user password: description: The password of the user trying to log in type: string example: hunter2 maintenanceSchema: type: object additionalProperties: false description: The current state of Unleash's maintenance mode feature. required: - enabled properties: enabled: description: Whether maintenance mode is enabled or not. type: boolean example: true meSchema: type: object additionalProperties: false required: - user - permissions - feedback - splash description: Detailed user information properties: user: $ref: '#/components/schemas/userSchema' permissions: description: User permissions for projects and environments type: array items: $ref: '#/components/schemas/permissionSchema' feedback: description: User feedback information type: array items: $ref: '#/components/schemas/feedbackResponseSchema' splash: description: Splash screen configuration type: object additionalProperties: type: boolean metricQuerySchema: type: object required: - metricName - timeRange - aggregationMode - labelSelectors description: Common metric query configuration for selecting and filtering metric data. additionalProperties: false properties: metricName: type: string description: The Prometheus metric series to query. It includes both unleash prefix and metric type and display name example: unleash_counter_feature_toggle_usage_total timeRange: type: string enum: - hour - day - week - month description: The time range for the metric data. example: day aggregationMode: type: string description: The aggregation mode for the metric data. enum: - rps - count - avg - sum - p95 - p99 - p50 example: rps labelSelectors: type: object additionalProperties: type: array items: type: string description: The selected labels and their values for filtering the metric data. example: environment: - development project: - default nameSchema: type: object additionalProperties: false required: - name description: An object with a name properties: name: description: The name of the represented object. example: betaUser type: string outdatedSdksSchema: type: object description: Data about outdated SDKs that should be upgraded. additionalProperties: false required: - sdks properties: sdks: type: array description: A list of SDKs items: type: object required: - sdkVersion - applications additionalProperties: false properties: sdkVersion: type: string description: An outdated SDK version identifier. Usually formatted as "unleash-client-:" example: unleash-client-java:7.0.0 applications: type: array items: description: Name of the application type: string example: accounting description: A list of applications using the SDK version overrideSchema: type: object additionalProperties: false required: - contextName - values description: An override for deciding which variant should be assigned to a user based on the context name properties: contextName: description: The name of the context field used to determine overrides type: string example: userId values: description: Which values that should be overriden type: array items: type: string example: - red - blue parametersSchema: type: object description: A list of parameters for a strategy additionalProperties: type: string parentFeatureOptionsSchema: type: array description: A list of parent feature names available for a given child feature. Features that have their own parents are excluded. items: type: string parentVariantOptionsSchema: type: array description: A list of parent variant names available for a given parent feature. This list includes strategy variants and feature environment variants. items: type: string passwordSchema: type: object additionalProperties: false required: - password description: Fields used to create new password or update old password properties: password: type: string example: k!5As3HquUrQ description: The new password to change or validate. oldPassword: type: string example: Oldk!5As3HquUrQ description: The old password the user is changing. This field is for the non-admin users changing their own password. confirmPassword: type: string example: k!5As3HquUrQ description: The confirmation of the new password. This field is for the non-admin users changing their own password. patSchema: type: object description: Describes a [personal access token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens), or PAT. PATs are automatically scoped to the authenticated user. required: - id - createdAt - description - expiresAt properties: id: type: integer description: The PAT's ID. PAT IDs are incrementing integers. In other words, a more recently created PAT will always have a higher ID than an older one. example: 1 minimum: 1 secret: type: string description: The token used for authentication. It is automatically generated by Unleash when the PAT is created and that is the only time this property is returned. example: user:xyzrandomstring createdAt: type: string format: date-time example: '2023-04-19T08:15:14.000Z' description: The date and time of when the PAT was created. seenAt: type: string format: date-time nullable: true example: '2023-04-19T08:15:14.000Z' description: When the PAT was last seen/used to authenticate with. `null` if it has not been used yet. userId: type: integer description: The ID of the user this PAT belongs to. example: 1337 description: type: string description: The PAT's description. example: user:xyzrandomstring expiresAt: type: string format: date-time description: The PAT's expiration date. example: '2023-04-19T08:15:14.000Z' patchSchema: type: object required: - path - op description: A [JSON patch](https://www.rfc-editor.org/rfc/rfc6902) operation description properties: path: type: string description: The path to the property to operate on example: /type op: type: string enum: - add - remove - replace - copy - move - test description: The kind of operation to perform example: replace from: type: string description: The target to move or copy from, if performing one of those operations example: /type value: description: The value to add or replace, if performing one of those operations example: kill-switch patchesSchema: type: array description: A list of patches items: $ref: '#/components/schemas/patchSchema' patsSchema: type: object description: Contains a collection of [personal access tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens), or PATs. PATs are automatically scoped to the authenticated user. properties: pats: type: array description: A collection of PATs. items: $ref: '#/components/schemas/patSchema' permissionSchema: type: object additionalProperties: false required: - permission description: Project and environment permissions properties: permission: description: '[Project](https://docs.getunleash.io/concepts/rbac#project-level-permissions) or [environment](https://docs.getunleash.io/concepts/rbac#environment-level-permissions) permission name' type: string example: UPDATE_FEATURE_STRATEGY project: description: The project this permission applies to type: string example: my-project environment: description: The environment this permission applies to type: string example: development personalDashboardProjectDetailsSchema: type: object description: Project details in personal dashboard additionalProperties: false required: - owners - roles - latestEvents - onboardingStatus - insights properties: insights: type: object description: Insights for the project, including flag data and project health information. additionalProperties: false required: - avgHealthCurrentWindow - avgHealthPastWindow - totalFlags - activeFlags - staleFlags - potentiallyStaleFlags - health - technicalDebt properties: avgHealthCurrentWindow: type: integer minimum: 0 description: The project's average health score over the last 4 weeks example: 80 nullable: true avgHealthPastWindow: type: integer minimum: 0 description: The project's average health score over the previous 4-week window example: 70 nullable: true totalFlags: type: integer minimum: 0 example: 100 description: The current number of non-archived flags activeFlags: type: integer minimum: 0 example: 98 description: The number of active flags that are not stale or potentially stale staleFlags: type: integer minimum: 0 example: 0 description: The current number of flags that have been manually marked as stale potentiallyStaleFlags: type: integer minimum: 0 example: 2 description: The number of potentially stale flags as calculated by Unleash health: type: integer minimum: 0 description: Use `technicalDebt` instead. example: 80 deprecated: true technicalDebt: type: integer example: 25 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 onboardingStatus: type: object oneOf: - type: object properties: status: type: string enum: - onboarding-started - onboarded example: onboarding-started required: - status additionalProperties: false - type: object properties: status: type: string enum: - first-flag-created example: first-flag-created feature: type: string description: The name of the feature flag example: my-feature-flag required: - status - feature additionalProperties: false description: The current onboarding status of the project. latestEvents: type: array description: The latest events for the project. items: type: object description: An event summary additionalProperties: false required: - summary - createdBy - createdByImageUrl - id - createdAt properties: id: type: integer minimum: 1 description: The ID of the event. summary: type: string nullable: true description: '**[Experimental]** A markdown-formatted summary of the event.' createdBy: type: string description: Which user created this event example: johndoe createdByImageUrl: type: string description: URL used for the user profile image of the event author example: https://example.com/242x200.png createdAt: type: string format: date-time description: When the event was recorded example: '2021-09-01T12:00:00Z' owners: description: The users and/or groups that have the "owner" role in this project. If no such users or groups exist, the list will contain the "system" owner instead. oneOf: - type: array minItems: 1 items: anyOf: - type: object required: - ownerType - name properties: ownerType: type: string enum: - user name: type: string example: User Name imageUrl: type: string nullable: true example: https://example.com/image.jpg email: type: string nullable: true example: user@example.com - type: object required: - ownerType - name properties: ownerType: type: string enum: - group name: type: string example: Group Name - type: array minItems: 1 maxItems: 1 items: type: object required: - ownerType properties: ownerType: type: string enum: - system roles: type: array description: The list of roles that the user has in this project. items: type: object description: An Unleash role. additionalProperties: false required: - name - id - type properties: name: type: string example: Owner description: The name of the role id: type: integer example: 4 description: The id of the role type: type: string enum: - custom - project example: project description: The type of the role personalDashboardSchema: type: object description: Project and flags relevant to the user additionalProperties: false required: - projects - flags - admins - projectOwners properties: admins: type: array description: Users with the admin role in Unleash. items: type: object required: - id properties: id: type: integer description: The user ID. example: 1 name: type: string description: The user's name. example: Ash Ketchum username: type: string description: The user's username. example: pokémaster13 imageUrl: type: string example: https://example.com/peek-at-you.jpg email: type: string example: user@example.com projectOwners: type: array description: Users with the project owner role in Unleash. Only contains owners of projects that are visible to the user. items: type: object required: - ownerType - name properties: ownerType: type: string enum: - user description: The type of the owner; will always be `user`. name: type: string example: User Name description: The name displayed for the user. Can be the user's name, username, or email, depending on what they have provided. imageUrl: type: string nullable: true description: The URL of the user's profile image. example: https://example.com/image.jpg email: type: string nullable: true description: The user's email address. example: user@example.com projects: type: array items: type: object additionalProperties: false required: - id - name - health - technicalDebt - memberCount - featureCount properties: id: type: string example: my-project-id description: The id of the project name: type: string example: My Project description: The name of the project health: type: integer example: 50 minimum: 0 deprecated: true description: Use `technicalDebt` instead. technicalDebt: type: integer example: 25 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 memberCount: type: integer example: 4 minimum: 0 description: The number of members this project has featureCount: type: integer example: 10 minimum: 0 description: The number of features this project has description: A list of projects that a user participates in with any role e.g. member or owner or any custom role flags: type: array items: type: object additionalProperties: false required: - name - project - type properties: name: type: string example: my-flag description: The name of the flag project: type: string example: my-project-id description: The id of the feature project type: type: string example: release description: The type of the feature flag description: A list of flags a user created or favorited playgroundConstraintSchema: additionalProperties: false type: object required: - contextName - operator - result description: A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/concepts/activation-strategies#constraints) properties: contextName: description: The name of the context field that this constraint should apply to. example: appName type: string operator: description: The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators). type: string enum: - 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 caseInsensitive: description: Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive). type: boolean default: false inverted: description: Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa. type: boolean default: false values: type: array description: The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values. items: type: string example: - my-app - my-other-app value: description: The context value that should be used for constraint evaluation. Use this property instead of `values` for properties that only accept single values. type: string example: my-app result: description: Whether this was evaluated as true or false. type: boolean playgroundFeatureSchema: description: A simplified feature flag model intended for the Unleash playground. type: object additionalProperties: false required: - name - projectId - isEnabled - isEnabledInCurrentEnvironment - variant - variants - strategies properties: name: type: string example: my-feature description: The feature's name. projectId: type: string example: my-project description: The ID of the project that contains this feature. strategies: type: object additionalProperties: false required: - result - data description: The feature's applicable strategies and cumulative results of the strategies properties: result: description: "The cumulative results of all the feature's strategies. Can be `true`,\n \ \ `false`, or `unknown`.\n This property will only be `unknown`\n\ \ if one or more of the strategies can't be fully evaluated and the rest\ \ of the strategies\n all resolve to `false`." anyOf: - type: boolean - type: string enum: - unknown data: description: The strategies that apply to this feature. type: array items: $ref: '#/components/schemas/playgroundStrategySchema' hasUnsatisfiedDependency: type: boolean description: Whether the feature has a parent dependency that is not satisfied isEnabledInCurrentEnvironment: type: boolean description: Whether the feature is active and would be evaluated in the provided environment in a normal SDK context. isEnabled: description: "Whether this feature is enabled or not in the current environment.\n If a\ \ feature can't be fully evaluated (that is, `strategies.result` is `unknown`),\n this\ \ will be `false` to align with how client SDKs treat unresolved feature states." type: boolean example: true variant: description: "The feature variant you receive based on the provided context or the _disabled\n \ \ variant_. If a feature is disabled or doesn't have any\n variants, you would\ \ get the _disabled variant_.\n Otherwise, you'll get one of thefeature's defined variants." type: object additionalProperties: false required: - name - enabled properties: name: type: string description: The variant's name. If there is no variant or if the flag is disabled, this will be `disabled` example: red-variant enabled: type: boolean description: Whether the variant is enabled or not. If the feature is disabled or if it doesn't have variants, this property will be `false` payload: type: object additionalProperties: false required: - type - value description: An optional payload attached to the variant. properties: type: description: The format of the payload. type: string value: type: string description: The payload value stringified. example: '{"property": "value"}' feature_enabled: type: boolean description: Use `featureEnabled` instead. example: true featureEnabled: deprecated: true type: boolean description: Whether the feature is enabled or not. example: true nullable: true example: name: green enabled: true variants: type: array description: The feature variants. items: $ref: '#/components/schemas/variantSchema' playgroundRequestSchema: description: Data for the playground API to evaluate feature flags type: object required: - environment - context properties: environment: type: string example: development description: The environment to evaluate feature flags in. projects: description: A list of projects to check for feature flags in. oneOf: - type: array items: type: string example: - my-project description: A list of projects to check for feature flags in. - type: string enum: - '*' description: Check feature flags in all projects. context: $ref: '#/components/schemas/sdkContextSchema' playgroundResponseSchema: description: The state of all features given the provided input. type: object additionalProperties: false required: - features - input properties: input: description: The given input used to evaluate the features. $ref: '#/components/schemas/playgroundRequestSchema' features: type: array description: The list of features that have been evaluated. items: $ref: '#/components/schemas/playgroundFeatureSchema' playgroundSegmentSchema: type: object additionalProperties: false description: The evaluated result of a segment as used by the Playground. required: - name - id - constraints - result properties: id: description: The segment's id. type: integer name: description: The name of the segment. example: segment A type: string result: description: Whether this was evaluated as true or false. type: boolean constraints: type: array description: The list of constraints in this segment. items: $ref: '#/components/schemas/playgroundConstraintSchema' playgroundStrategySchema: type: object description: An evaluated feature flag strategy as used by the Playground additionalProperties: false required: - id - name - result - segments - constraints - parameters - disabled - links properties: name: description: The strategy's name. type: string title: type: string example: Beta rollout description: Description of the feature's purpose. id: description: The strategy's id. type: string example: 3AECCF7E-FF82-4174-8287-8EBE06079A50 result: description: The strategy's evaluation result. If the strategy is a custom strategy that Unleash can't evaluate, `evaluationStatus` will be `unknown`. Otherwise, it will be `true` or `false` anyOf: - type: object additionalProperties: false required: - evaluationStatus - enabled properties: evaluationStatus: type: string description: Signals that this strategy could not be evaluated. This is most likely because you're using a custom strategy that Unleash doesn't know about. The `unevaluated` result is also returned if the strategy is disabled. enum: - incomplete - unevaluated enabled: description: Whether this strategy resolves to `false` or if it might resolve to `true`. Because Unleash can't evaluate the strategy, it can't say for certain whether it will be `true`, but if you have failing constraints or segments, it _can_ determine that your strategy would be `false`. anyOf: - type: boolean enum: - false - type: string enum: - unknown - type: object additionalProperties: false required: - evaluationStatus - enabled properties: evaluationStatus: description: Signals that this strategy was evaluated successfully. type: string enum: - complete enabled: type: boolean description: Whether this strategy evaluates to true or not. variant: description: "The feature variant you receive based on the provided context or the _disabled\n \ \ variant_. If a feature is disabled or doesn't have any\n variants,\ \ you would get the _disabled variant_.\n Otherwise, you'll get one of the feature's\ \ defined variants." type: object additionalProperties: false required: - name - enabled properties: name: type: string description: The variant's name. If there is no variant or if the toggle is disabled, this will be `disabled` example: red-variant enabled: type: boolean description: Whether the variant is enabled or not. If the feature is disabled or if it doesn't have variants, this property will be `false` payload: type: object additionalProperties: false required: - type - value description: An optional payload attached to the variant. properties: type: description: The format of the payload. type: string enum: - json - csv - string - number value: type: string description: The payload value stringified. example: '{"property": "value"}' nullable: true example: name: green enabled: true variants: type: array description: The feature variants. items: $ref: '#/components/schemas/variantSchema' disabled: type: boolean description: The strategy's status. Disabled strategies are not evaluated example: false nullable: true segments: type: array description: The strategy's segments and their evaluation results. items: $ref: '#/components/schemas/playgroundSegmentSchema' constraints: type: array description: The strategy's constraints and their evaluation results. items: $ref: '#/components/schemas/playgroundConstraintSchema' parameters: description: The strategy's constraints and their evaluation results. example: myParam1: param value $ref: '#/components/schemas/parametersSchema' links: description: A set of links to actions you can perform on this strategy type: object required: - edit properties: edit: type: string example: /projects/some-project/features/some-feature/strategies/edit?environmentId=some-env&strategyId= 3AECCF7E-FF82-4174-8287-8EBE06079A50 profileSchema: type: object additionalProperties: false description: User profile overview required: - rootRole - projects - features - subscriptions properties: rootRole: $ref: '#/components/schemas/roleSchema' projects: description: Which projects this user is a member of type: array items: type: string example: - my-projectA - my-projectB subscriptions: description: Which email subscriptions this user is subscribed to type: array items: type: string example: - productivity-report features: description: Deprecated, always returns empty array type: array items: $ref: '#/components/schemas/featureSchema' example: [] projectActivitySchema: type: array description: An array of project activity information. Each item contains a date and the total number of activities for that date. items: type: object additionalProperties: false required: - date - count properties: date: type: string example: '2022-12-14' description: Activity date count: type: integer minimum: 0 description: Activity count projectApplicationSchema: type: object additionalProperties: false required: - name - environments - instances - sdks description: A project application instance. properties: name: type: string description: Name of the application that is using the SDK. This is the same as the appName in the SDK configuration. environments: description: The environments that the application is using. This is the same as the environment in the SDK configuration. type: array items: type: string example: - development - production instances: description: The instances of the application that are using the SDK. type: array items: type: string example: - prod-b4ca - prod-ac8a sdks: type: array description: The SDKs that the application is using. items: $ref: '#/components/schemas/projectApplicationSdkSchema' projectApplicationSdkSchema: type: object additionalProperties: false required: - name - versions description: A project application instance SDK. properties: name: type: string description: Name of the SDK package that the application is using. example: unleash-client-node versions: description: The versions of the SDK that the application is using. type: array items: type: string example: - 4.1.1 projectApplicationsSchema: type: object description: A list of project applications required: - total - applications properties: total: type: integer example: 50 description: The total number of project applications. applications: type: array items: $ref: '#/components/schemas/projectApplicationSchema' description: All applications defined for a specific project. projectDoraMetricsSchema: type: object additionalProperties: false required: - features description: A projects dora metrics properties: projectAverage: type: number description: The average time it takes a feature flag to be enabled in production. The measurement unit is days. features: type: array items: $ref: '#/components/schemas/doraFeaturesSchema' description: An array of objects containing feature flag name and timeToProduction values. The measurement unit of timeToProduction is days. projectEnvironmentSchema: type: object additionalProperties: false description: Add an environment to a project, optionally also sets if change requests are enabled for this environment on the project required: - environment properties: environment: type: string description: The environment to add to the project example: development changeRequestsEnabled: type: boolean description: Whether change requests should be enabled or for this environment on the project or not example: true defaultStrategy: $ref: '#/components/schemas/createFeatureStrategySchema' description: A default strategy to create for this environment on the project. projectFeatureEnvironmentSchema: type: object additionalProperties: false required: - name - type - enabled - sortOrder - variantCount - lastSeenAt description: A detailed description of the feature environment properties: name: type: string example: my-dev-env description: The name of the environment type: type: string example: development description: The type of the environment enabled: type: boolean example: true description: '`true` if the feature is enabled for the environment, otherwise `false`.' sortOrder: type: number example: 3 description: The sort order of the feature environment in the feature environments list variantCount: type: number description: The number of defined variants lastSeenAt: type: string format: date-time nullable: true example: '2023-01-28T16:21:39.975Z' description: The date when metrics where last collected for the feature environment hasStrategies: type: boolean description: Whether the feature has any strategies defined. hasEnabledStrategies: type: boolean description: Whether the feature has any enabled strategies defined. projectFeatureSchema: type: object additionalProperties: false required: - name - type - description - stale - favorite - impressionData - createdAt - lastSeenAt - environments description: A project feature flag definition properties: name: type: string example: disable-comments description: Unique feature name type: type: string example: kill-switch description: Type of the flag e.g. experiment, kill-switch, release, operational, permission description: type: string nullable: true example: Controls disabling of the comments section in case of an incident description: Detailed description of the feature stale: type: boolean example: false description: '`true` if the feature is stale based on the age and feature type, otherwise `false`.' favorite: type: boolean example: true description: '`true` if the feature was favorited, otherwise `false`.' impressionData: type: boolean example: false description: '`true` if the impression data collection is enabled for the feature, otherwise `false`.' createdAt: type: string format: date-time example: '2023-01-28T15:21:39.975Z' description: The date the feature was created lastSeenAt: type: string format: date-time nullable: true deprecated: true example: '2023-01-28T16:21:39.975Z' description: The date and time when metrics where last collected for this flag in any environment. This field was deprecated in v5. You should instead use the `lastSeenAt` property on the individual environments listed under the `environments` property. environments: type: array items: $ref: '#/components/schemas/projectFeatureEnvironmentSchema' description: The list of environments where the feature can be used tags: type: array items: $ref: '#/components/schemas/tagSchema' nullable: true description: The list of feature tags projectFeaturesSchema: type: object additionalProperties: false required: - version - features description: A list of features in a project deprecated: true properties: version: type: integer description: The version of the feature's schema features: type: array items: $ref: '#/components/schemas/projectFeatureSchema' description: A list of features projectFlagCreatorsSchema: type: array description: A list of project flag creators items: type: object additionalProperties: false required: - id - name properties: id: type: integer example: 50 description: The user id. name: description: Name of the user. If the user has no set name, the API falls back to using the user's username (if they have one) or email (if neither name or username is set). type: string example: User projectInsightsSchema: type: object additionalProperties: false required: - stats - leadTime - featureTypeCounts - health - technicalDebt - members description: A high-level overview of a project insights. It contains information such as project statistics, overall health, types of flags, members overview, change requests overview. properties: stats: $ref: '#/components/schemas/projectStatsSchema' description: Project statistics health: type: object deprecated: true required: - rating - activeCount - potentiallyStaleCount - staleCount properties: rating: type: integer description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 example: 95 activeCount: type: number description: The number of active feature flags. example: 12 potentiallyStaleCount: type: number description: The number of potentially stale feature flags. example: 5 staleCount: type: number description: The number of stale feature flags. example: 10 description: Use `technicalDebt` instead. Summary of the project health technicalDebt: type: object required: - rating - activeCount - potentiallyStaleCount - staleCount properties: rating: type: integer description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 example: 25 minimum: 0 maximum: 100 activeCount: type: number description: The number of active feature flags. example: 12 potentiallyStaleCount: type: number description: The number of potentially stale feature flags. example: 5 staleCount: type: number description: The number of stale feature flags. example: 10 description: Summary of the projects technical debt leadTime: type: object $ref: '#/components/schemas/projectDoraMetricsSchema' description: Lead time (DORA) metrics featureTypeCounts: type: array items: $ref: '#/components/schemas/featureTypeCountSchema' description: The number of features of each type members: type: object required: - currentMembers - change properties: currentMembers: type: number description: The number of total project members example: 10 change: type: number description: The change in the number of project members compared to the previous month example: 10 description: Active/inactive users summary projectLinkTemplateSchema: type: object description: A template for a link that can be automatically added to new feature flags. required: - urlTemplate properties: title: type: string description: The title of the link. example: Code search nullable: true urlTemplate: type: string description: The URL to use as a template. Can contain {{project}} or {{feature}} as placeholders. example: https://github.com/search?type=code&q=repo%3AUnleash%2F{{project}}+{{feature}} additionalProperties: false projectOverviewSchema: type: object additionalProperties: false required: - version - name - onboardingStatus description: A high-level overview of a project. It contains information such as project statistics, the name of the project, what members and what features it contains, etc. properties: stats: $ref: '#/components/schemas/projectStatsSchema' description: Project statistics version: type: integer example: 1 description: The schema version used to describe the project overview name: type: string example: dx-squad description: The name of this project description: type: string nullable: true example: DX squad feature release description: Additional information about the project defaultStickiness: type: string example: userId description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy mode: type: string enum: - open - protected - private example: open description: The project's [collaboration mode](https://docs.getunleash.io/concepts/project-collaboration-mode). Determines whether non-project members can submit change requests or not. featureLimit: type: number nullable: true example: 100 description: A limit on the number of features allowed in the project. Null if no limit. featureNaming: $ref: '#/components/schemas/createFeatureNamingPatternSchema' linkTemplates: type: array items: $ref: '#/components/schemas/projectLinkTemplateSchema' description: A list of templates for links that will be automatically added to new feature flags. members: type: number example: 4 description: The number of members this project has health: type: number example: 50 deprecated: true description: Use `technicalDebt` instead. technicalDebt: type: number example: 25 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 environments: type: array items: $ref: '#/components/schemas/projectEnvironmentSchema' example: - environment: development - environment: production defaultStrategy: name: flexibleRollout constraints: [] parameters: rollout: '50' stickiness: customAppName groupId: stickyFlag description: The environments that are enabled for this project featureTypeCounts: type: array items: $ref: '#/components/schemas/featureTypeCountSchema' description: The number of features of each type that are in this project updatedAt: type: string format: date-time nullable: true example: '2023-02-10T08:36:35.262Z' description: When the project was last updated. archivedAt: type: string format: date-time nullable: true example: '2023-02-10T08:36:35.262Z' description: When the project was archived. createdAt: type: string format: date-time nullable: true example: '2023-02-10T08:36:35.262Z' description: When the project was created. favorite: type: boolean example: true description: '`true` if the project was favorited, otherwise `false`.' onboardingStatus: type: object oneOf: - type: object properties: status: type: string enum: - onboarding-started - onboarded example: onboarding-started required: - status additionalProperties: false - type: object properties: status: type: string enum: - first-flag-created example: first-flag-created feature: type: string description: The name of the feature flag example: my-feature-flag required: - status - feature additionalProperties: false description: The current onboarding status of the project. projectSchema: type: object additionalProperties: false required: - id - name description: A definition of the project used for projects listing purposes properties: id: type: string example: dx-squad description: The id of this project name: type: string example: DX-Squad description: The name of this project description: deprecated: true type: string nullable: true example: DX squad feature release description: Additional information about the project health: type: number example: 50 description: Use `technicalDebt` instead. deprecated: true technicalDebt: type: number example: 25 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt#project-status) on a scale from 0 to 100 featureCount: type: number example: 10 description: The number of features this project has staleFeatureCount: deprecated: true type: number example: 10 description: The number of stale features this project has potentiallyStaleFeatureCount: deprecated: true type: number example: 10 description: The number of potentially stale features this project has memberCount: type: number example: 4 description: The number of members this project has createdAt: type: string description: When this project was created. example: '2023-07-27T12:12:28Z' format: date-time updatedAt: deprecated: true type: string format: date-time nullable: true description: When this project was last updated. example: '2023-07-28T12:12:28Z' lastUpdatedAt: type: string format: date-time nullable: true description: When this project was last updated. example: '2023-07-28T12:12:28Z' archivedAt: type: string format: date-time nullable: true description: When this project was archived. example: '2023-07-28T12:12:28Z' favorite: type: boolean example: true description: '`true` if the project was favorited, otherwise `false`.' mode: type: string enum: - open - protected - private example: open description: The project's [collaboration mode](https://docs.getunleash.io/concepts/project-collaboration-mode). Determines whether non-project members can submit change requests or not. defaultStickiness: deprecated: true type: string example: userId description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy avgTimeToProduction: deprecated: true type: number example: 10 description: The average time from when a feature was created to when it was enabled in the "production" environment during the current window lastReportedFlagUsage: type: string format: date-time nullable: true description: Across all flags in your project this is the last time usage metrics where reported from connected applications. example: '2023-07-28T12:12:28Z' owners: description: The users and/or groups that have the "owner" role in this project. If no such users or groups exist, the list will contain the "system" owner instead. oneOf: - type: array minItems: 1 items: anyOf: - type: object required: - ownerType - name properties: ownerType: type: string enum: - user name: type: string example: User Name imageUrl: type: string nullable: true example: https://example.com/image.jpg email: type: string nullable: true example: user@example.com - type: object required: - ownerType - name properties: ownerType: type: string enum: - group name: type: string example: Group Name - type: array minItems: 1 maxItems: 1 items: type: object required: - ownerType properties: ownerType: type: string enum: - system projectStatsSchema: type: object additionalProperties: false required: - avgTimeToProdCurrentWindow - createdCurrentWindow - createdPastWindow - archivedCurrentWindow - archivedPastWindow - projectActivityCurrentWindow - projectActivityPastWindow - projectMembersAddedCurrentWindow description: 'Statistics for a project, including the average time to production, number of features created, the project activity and more. Stats are divided into current and previous **windows**. - The **current window** is the past 30 days. - The **previous window** is the 30 days **before** the current window (from 60 to 30 days ago)' properties: avgTimeToProdCurrentWindow: type: number example: 10 description: The average time from when a feature was created to when it was enabled in the "production" environment during the current window createdCurrentWindow: type: number example: 15 description: The number of feature flags created during the current window createdPastWindow: type: number example: 15 description: The number of feature flags created during the previous window archivedCurrentWindow: type: number example: 5 description: The number of feature flags that were archived during the current window archivedPastWindow: type: number example: 5 description: The number of feature flags that were archived during the previous window projectActivityCurrentWindow: type: number example: 100 description: The number of project events that occurred during the current window projectActivityPastWindow: type: number example: 100 description: The number of project events that occurred during the previous window projectMembersAddedCurrentWindow: type: number example: 1 description: The number of members that were added to the project during the current window projectStatusSchema: type: object additionalProperties: false required: - activityCountByDate - resources - health - technicalDebt - lifecycleSummary - staleFlags description: Schema representing the overall status of a project, including an array of activity records. Each record in the activity array contains a date and a count, providing a snapshot of the project’s activity level over time. properties: activityCountByDate: $ref: '#/components/schemas/projectActivitySchema' description: Array of activity records with date and count, representing the project’s daily activity statistics. health: type: object additionalProperties: false required: - current description: Information about the project's health rating properties: current: type: integer minimum: 0 description: The project's current health score, based on the ratio of healthy flags to stale and potentially stale flags. example: 100 technicalDebt: type: object additionalProperties: false required: - current description: Information about the project's health rating properties: current: type: integer minimum: 0 maximum: 100 description: The project's current health score, based on the ratio of healthy flags to stale and potentially stale flags. example: 100 resources: type: object additionalProperties: false required: - apiTokens - members - segments description: Key resources within the project properties: apiTokens: type: integer minimum: 0 description: The number of API tokens created specifically for this project. members: type: integer minimum: 0 description: The number of users who have been granted roles in this project. Does not include users who have access via groups. segments: type: integer minimum: 0 description: The number of segments that are scoped to this project. staleFlags: type: object additionalProperties: false description: Information on stale and potentially stale flags in this project. required: - total properties: total: type: integer minimum: 0 description: The total number of flags in this project that are stale or potentially stale. lifecycleSummary: type: object additionalProperties: false description: Feature flag lifecycle statistics for this project. required: - initial - preLive - live - completed - archived properties: initial: type: object additionalProperties: false description: Statistics on feature flags in a given stage in this project. required: - averageDays - currentFlags properties: averageDays: type: number nullable: true description: The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet. example: 5 currentFlags: type: integer description: The number of feature flags currently in a stage in this project. example: 10 preLive: type: object additionalProperties: false description: Statistics on feature flags in a given stage in this project. required: - averageDays - currentFlags properties: averageDays: type: number nullable: true description: The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet. example: 5 currentFlags: type: integer description: The number of feature flags currently in a stage in this project. example: 10 live: type: object additionalProperties: false description: Statistics on feature flags in a given stage in this project. required: - averageDays - currentFlags properties: averageDays: type: number nullable: true description: The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet. example: 5 currentFlags: type: integer description: The number of feature flags currently in a stage in this project. example: 10 completed: type: object additionalProperties: false description: Statistics on feature flags in a given stage in this project. required: - averageDays - currentFlags properties: averageDays: type: number nullable: true description: The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet. example: 5 currentFlags: type: integer description: The number of feature flags currently in a stage in this project. example: 10 archived: type: object additionalProperties: false required: - currentFlags - last30Days description: Information on archived flags in this project. properties: currentFlags: type: integer description: The number of archived feature flags in this project. If a flag is deleted permanently, it will no longer be counted as part of this statistic. example: 10 last30Days: type: integer description: The number of flags in this project that have been changed over the last 30 days. example: 5 projectsSchema: type: object additionalProperties: false required: - version - projects description: An overview of all the projects in the Unleash instance properties: version: type: integer description: The schema version used to represent the project data. example: 1 projects: type: array items: $ref: '#/components/schemas/projectSchema' description: A list of projects in the Unleash instance publicSignupTokenCreateSchema: type: object description: Used for creating a [public invite link](https://docs.getunleash.io/concepts/public-signup#public-sign-up-tokens) additionalProperties: false required: - name - expiresAt properties: name: description: The token's name. type: string expiresAt: type: string description: The token's expiration date. format: date-time publicSignupTokenSchema: description: Used for transporting a [public invite link](https://docs.getunleash.io/concepts/public-signup#public-sign-up-tokens) type: object additionalProperties: false required: - secret - url - name - expiresAt - createdAt - createdBy - enabled - role properties: secret: description: The actual value of the token. This is the part that is used by Unleash to create an invite link type: string example: a3c84b25409ea8ca1782ef17f94a42fc url: description: The public signup link for the token. Users who follow this link will be taken to a signup page where they can create an Unleash user. type: string nullable: true example: https://sandbox.getunleash.io/enterprise/new-user?invite=a3c84b25409ea8ca1782ef17f94a42fc name: description: The token's name. Only for displaying in the UI type: string example: Invite public viewers enabled: description: Whether the token is active. This property will always be `false` for a token that has expired. type: boolean example: true expiresAt: type: string description: The time when the token will expire. format: date-time example: '2023-04-12T11:13:31.960Z' createdAt: type: string format: date-time description: When the token was created. example: '2023-04-12T11:13:31.960Z' createdBy: description: The creator's email or username example: someone@example.com type: string nullable: true users: type: array description: Array of users that have signed up using the token. items: $ref: '#/components/schemas/userSchema' nullable: true role: description: Users who sign up using this token will be given this role. $ref: '#/components/schemas/roleSchema' publicSignupTokenUpdateSchema: description: Used by Unleash for updating a token's expiration date or, when deleting the invite link, it's status type: object additionalProperties: false properties: expiresAt: type: string description: The token's expiration date. format: date-time example: '2023-04-11T15:46:56Z' enabled: description: Whether the token is active or not. type: boolean example: true publicSignupTokensSchema: type: object description: A wrapper object containing all the public signup tokens additionalProperties: false required: - tokens properties: tokens: type: array description: An array of all the public signup tokens example: - secret: a3c84b25409ea8ca1782ef17f94a42fc url: https://my_unleash_instance/new-user?invite=a3c84b25409ea8ca1782ef17f94a42fc name: Invite public viewers enabled: false expiresAt: '2023-04-12T11:13:31.960Z' createdAt: '2023-04-12T11:13:31.960Z' createdBy: someone users: null role: id: 3 type: root name: Viewer items: $ref: '#/components/schemas/publicSignupTokenSchema' pushVariantsSchema: type: object description: Data used when copying variants into a new environment. properties: variants: type: array description: The variants to write to the provided environments items: $ref: '#/components/schemas/variantSchema' environments: type: array description: The enviromnents to write the provided variants to items: type: string readyCheckSchema: type: object description: Used by service orchestrators to decide whether this Unleash instance should be considered ready to serve requests. additionalProperties: false required: - health properties: health: description: The readiness state this Unleash instance is in. GOOD if the server is up and running. If the server is unhealthy you will get an unsuccessful http response. type: string enum: - GOOD example: GOOD recordUiErrorSchema: type: object required: - errorMessage description: An object representing an error from the UI properties: errorMessage: type: string description: The error message errorStack: type: string description: The stack trace of the error releasePlanMilestoneSchema: additionalProperties: false description: Schema representing the creation of a release plan milestone. type: object required: - id - name - sortOrder - releasePlanDefinitionId properties: id: type: string description: The milestone's ID. Milestone IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW1 nullable: false name: type: string description: The name of the milestone. example: My milestone sortOrder: type: integer description: The order of the milestone in the release plan. example: 1 releasePlanDefinitionId: type: string description: The ID of the release plan/template that this milestone belongs to. example: 01JB9GGTGQYEQ9D40R17T3YVW2 startedAt: type: string format: date-time description: The date and time when the milestone was started. example: '2024-01-01T00:00:00.000Z' nullable: true transitionCondition: type: object additionalProperties: false required: - intervalMinutes properties: intervalMinutes: type: integer minimum: 1 description: The interval in minutes before transitioning example: 30 description: The condition configuration for the transition nullable: true progressionExecutedAt: type: string format: date-time description: The date and time when the milestone progression was executed. example: '2024-01-01T00:00:00.000Z' nullable: true pausedAt: type: string format: date-time description: The date and time when the milestone was paused. example: '2024-01-01T00:00:00.000Z' nullable: true strategies: type: array description: A list of strategies that are attached to this milestone. items: $ref: '#/components/schemas/releasePlanMilestoneStrategySchema' releasePlanMilestoneStrategySchema: additionalProperties: false description: Schema representing the creation of a release plan milestone strategy. type: object required: - id - milestoneId - sortOrder - strategyName properties: id: type: string description: The milestone strategy's ID. Milestone strategy IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW3 nullable: false milestoneId: type: string description: The ID of the milestone that this strategy belongs to. example: 01JB9GGTGQYEQ9D40R17T3YVW1 sortOrder: type: number description: The order of the strategy in the list example: 9999 title: type: string nullable: true description: A descriptive title for the strategy example: Gradual Rollout 25-Prod strategyName: type: string description: The name of the strategy type example: flexibleRollout parameters: description: An object containing the parameters for the strategy example: groupId: some_new rollout: '25' stickiness: sessionId $ref: '#/components/schemas/parametersSchema' constraints: type: array description: A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints example: - values: - '1' - '2' inverted: false operator: IN contextName: appName caseInsensitive: false items: $ref: '#/components/schemas/constraintSchema' variants: type: array description: Strategy level variants items: $ref: '#/components/schemas/createStrategyVariantSchema' segments: type: array description: Ids of segments to use for this strategy example: - 1 - 2 items: type: number releasePlanSchema: additionalProperties: false description: Schema representing the creation of a release plan. type: object required: - id - discriminator - name - featureName - environment - createdByUserId - createdAt - milestones - releasePlanTemplateId properties: id: type: string description: The release plan/template's ID. Release template IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW2 nullable: false discriminator: type: string description: A field to distinguish between release plans and release templates. example: plan nullable: false enum: - plan name: type: string description: The name of the release template. example: My release plan description: type: string description: A description of the release template. example: This is my release plan nullable: true featureName: type: string description: The name of the feature that uses this release plan. example: my-feature environment: type: string description: The environment that this release plan is for. example: production createdByUserId: type: number description: 'Release template: The ID of the user who created this template.' example: 53 nullable: false createdAt: type: string format: date-time description: The date and time that the release template was created. example: '2022-01-01T00:00:00Z' nullable: false activeMilestoneId: type: string description: The ID of the currently active milestone in this release plan. example: 01JB9GGTGQYEQ9D40R17T3YVW1 nullable: true milestones: type: array description: A list of the milestones in this release template. items: $ref: '#/components/schemas/releasePlanMilestoneSchema' releasePlanTemplateId: type: string description: The ID of the release plan template that this release plan is based on. example: 01JB9GGTGQYEQ9D40R17T3YVW2 nullable: false safeguards: type: array description: An array of safeguards configured for this release plan. items: $ref: '#/components/schemas/safeguardSchema' releasePlanTemplateIdSchema: additionalProperties: false description: Schema for creating a release plan for a feature flag environment by copying and applying the configuration from a release plan template. type: object required: - templateId properties: templateId: type: string description: The release plan template's ID. Release template IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW2 nullable: false releasePlanTemplateSchema: additionalProperties: false description: Schema representing the creation of a release template. type: object required: - id - discriminator - name - createdByUserId - createdAt properties: id: type: string description: The release plan/template's ID. Release template IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW2 nullable: false discriminator: type: string description: A field to distinguish between release plans and release templates. example: template nullable: false enum: - template name: type: string description: The name of the release template. example: My release plan description: type: string description: A description of the release template. example: This is my release plan nullable: true createdByUserId: type: number description: 'Release template: The ID of the user who created this template.' example: 53 nullable: false createdAt: type: string format: date-time description: The date and time that the release template was created. example: '2022-01-01T00:00:00Z' nullable: false milestones: type: array description: A list of the milestones in this release template. items: $ref: '#/components/schemas/releasePlanMilestoneSchema' archivedAt: type: string format: date-time description: The date and time that the release template was archived. example: '2022-01-01T00:00:00Z' nullable: true requestsPerSecondSchema: type: object description: Statistics for usage of Unleash, formatted so it can easily be used in a graph properties: status: type: string description: Whether the query against prometheus succeeded or failed enum: - success - failure example: success data: type: object description: The query result from prometheus properties: resultType: type: string description: Prometheus compatible result type. enum: - matrix - vector - scalar - string example: vector result: description: An array of values per metric. Each one represents a line in the graph labeled by its metric name type: array items: type: object description: A representation of a single metric to build a line in a graph properties: metric: description: A key value set representing the metric type: object properties: appName: description: Name of the application this metric relates to type: string example: mySdk endpoint: description: Which endpoint has been accessed type: string example: /api/frontend values: description: 'An array of arrays. Each element of the array is an array of size 2 consisting of the 2 axis for the graph: in position zero the x axis represented as a number and position one the y axis represented as string' type: array items: type: array description: Either the x axis represented as a number or the y axis represented as a string items: anyOf: - type: string description: An identifier for the line in the graph - type: number description: The number of requests at this point in time requestsPerSecondSegmentedSchema: type: object description: Get usage metrics separated by client and admin paths properties: clientMetrics: $ref: '#/components/schemas/requestsPerSecondSchema' adminMetrics: $ref: '#/components/schemas/requestsPerSecondSchema' resetPasswordSchema: type: object description: Data used to provide users a way to reset their passwords. additionalProperties: false required: - resetPasswordUrl properties: resetPasswordUrl: description: A URL pointing to a location where the user can reset their password type: string format: uri example: https://unleash.reset.com resourceLimitsSchema: type: object description: A map of resource names and their limits. required: - segmentValues - strategySegments - actionSetActions - actionSetsPerProject - actionSetFilters - actionSetFilterValues - signalEndpoints - signalTokensPerEndpoint - featureEnvironmentStrategies - constraintValues - environments - projects - apiTokens - segments - featureFlags - constraints - releaseTemplates additionalProperties: false properties: segmentValues: type: integer example: 10 description: The maximum number of values per segment allowed. strategySegments: type: integer example: 10 description: The maximum number of strategy segments allowed. actionSetActions: type: integer example: 10 description: The maximum number of actions per action set allowed. actionSetsPerProject: type: integer example: 10 description: The maximum number of action set definitions per project allowed. actionSetFilters: type: integer example: 10 description: The maximum number of filters per action set allowed. actionSetFilterValues: type: integer example: 10 description: The maximum number of filter values inside an action set allowed. signalEndpoints: type: integer example: 10 description: The maximum number of signal endpoints allowed. signalTokensPerEndpoint: type: integer example: 10 description: The maximum number of signal tokens per endpoint allowed. featureEnvironmentStrategies: type: integer example: 30 description: The maximum number of feature environment strategies allowed. constraintValues: type: integer example: 250 description: The maximum number of values for a single constraint. constraints: type: integer example: 30 description: The maximum number of constraints in a single strategy. environments: type: integer minimum: 1 example: 50 description: The maximum number of environments allowed. apiTokens: type: integer minimum: 0 example: 2000 description: The maximum number of SDK and admin API tokens you can have at the same time. This limit applies only to backend and frontend SDK tokens and to admin tokens. Personal access tokens are not subject to this limit. The limit applies to the total number of tokens across all projects in your organization. projects: type: integer minimum: 1 example: 500 description: The maximum number of projects allowed. segments: type: integer example: 300 description: The maximum number of segments allowed. featureFlags: type: integer minimum: 1 example: 5000 description: The maximum number of feature flags you can have at the same time. Archived flags do not count towards this limit. releaseTemplates: type: integer example: 5 description: The maximum number of release templates allowed. readOnlyUsers: type: integer example: 50 description: The maximum number of read-only users allowed. minimum: 0 roleSchema: type: object description: A role holds permissions to allow Unleash to decide what actions a role holder is allowed to perform additionalProperties: false required: - id - type - name properties: id: type: integer description: The role id example: 9 minimum: 0 type: description: A role can either be a global root role (applies to all projects) or a project role type: string example: root name: description: The name of the role type: string example: Editor description: description: A more detailed description of the role and what use it's intended for type: string example: Users with the editor role have access to most features in Unleash but can not manage users and roles in the global scope. Editors will be added as project owners when creating projects and get superuser rights within the context of these projects. Users with the editor role will also get access to most permissions on the default project by default. project: description: What project the role belongs to type: string nullable: true example: default rolesSchema: type: object description: A list of roles additionalProperties: false required: - version - roles properties: version: type: integer description: The version of the role schema used minimum: 1 example: 1 roles: type: array items: $ref: '#/components/schemas/roleSchema' description: A list of roles safeguardSchema: type: object required: - id - action - triggerCondition - impactMetric description: A safeguard configuration for a release plan. additionalProperties: false properties: id: type: string description: The unique ULID identifier for this safeguard example: 01JB9GGTGQYEQ9D40R17T3YVW1 action: type: object required: - type - id additionalProperties: false description: The action to take when the safeguard is triggered. properties: type: type: string description: The type of action to perform. example: pauseReleasePlanProgressions id: type: string description: The ID of the release plan this safeguard applies to. example: 01JB9GGTGQYEQ9D40R17T3YVW2 triggerCondition: $ref: '#/components/schemas/safeguardTriggerConditionSchema' description: The condition that triggers the safeguard. impactMetric: type: object required: - id - metricName - timeRange - aggregationMode - labelSelectors additionalProperties: false properties: id: type: string description: The unique identifier for this impact metric example: 01JB9GGTGQYEQ9D40R17T3YVW1 metricName: type: string description: The Prometheus metric series to query. It includes both unleash prefix and metric type and display name example: unleash_counter_feature_toggle_usage_total timeRange: type: string enum: - hour - day - week - month description: The time range for the metric data. example: day aggregationMode: type: string description: The aggregation mode for the metric data. enum: - rps - count - avg - sum - p95 - p99 - p50 example: rps labelSelectors: type: object additionalProperties: type: array items: type: string description: The selected labels and their values for filtering the metric data. example: environment: - development project: - default description: The metric configuration used to evaluate the safeguard condition. safeguardTriggerConditionSchema: type: object required: - operator - threshold additionalProperties: false description: The condition that triggers the safeguard. properties: operator: type: string enum: - '>' - < description: The comparison operator for the threshold check. example: '>' threshold: type: number description: The threshold value to compare against. example: 100 sdkContextSchema: description: The Unleash context as modeled in client SDKs type: object required: - appName additionalProperties: true properties: appName: type: string minLength: 1 example: My cool application. description: The name of the application. currentTime: type: string format: date-time example: '2022-07-05T12:56:41+02:00' description: A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user. environment: type: string deprecated: true description: The environment the app is running in. properties: type: object additionalProperties: type: string description: Additional Unleash context properties example: customContextField: this is one! otherCustomField: '3' remoteAddress: type: string example: 192.168.1.1 description: The app's IP address sessionId: type: string example: b65e7b23-fec0-4814-a129-0e9861ef18fc description: An identifier for the current session userId: type: string example: username@provider.com description: An identifier for the current user sdkFlatContextSchema: description: The Unleash context with flattened properties type: object required: - appName additionalProperties: true properties: appName: type: string minLength: 1 example: My cool application. description: The name of the application. currentTime: type: string format: date-time example: '2022-07-05T12:56:41+02:00' description: A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user. environment: type: string deprecated: true description: The environment the app is running in. remoteAddress: type: string example: 192.168.1.1 description: The app's IP address sessionId: type: string example: b65e7b23-fec0-4814-a129-0e9861ef18fc description: An identifier for the current session userId: type: string example: username@provider.com description: An identifier for the current user searchFeaturesSchema: type: object additionalProperties: false required: - features description: A list of features matching search and filter criteria. properties: features: type: array items: $ref: '#/components/schemas/featureSearchResponseSchema' description: The full list of features in this project matching search and filter criteria. total: type: number description: Total count of the features matching search and filter criteria example: 10 segmentSchema: type: object description: Represents a segment of users defined by a set of constraints. additionalProperties: false required: - id - constraints properties: id: type: number description: The segment's id. name: type: string description: The name of the segment. example: segment A constraints: type: array description: List of constraints that determine which users are part of the segment items: $ref: '#/components/schemas/constraintSchema' description: type: string nullable: true description: The description of the segment. example: Segment A description createdAt: type: string format: date-time description: The time the segment was created as a RFC 3339-conformant timestamp. example: '2023-07-05T12:56:00.000Z' createdBy: type: string description: Which user created this segment example: johndoe project: type: string nullable: true description: The project the segment relates to, if applicable. example: default segmentStrategiesSchema: type: object required: - strategies description: A collection of strategies belonging to a specified segment. additionalProperties: false properties: strategies: description: The list of strategies type: array items: type: object required: - id - featureName - projectId - environment - strategyName properties: id: type: string description: The ID of the strategy example: e465c813-cffb-4232-b184-82b1d6fe9d3d featureName: type: string description: The name of the feature flag that this strategy belongs to. example: new-signup-flow projectId: type: string description: The ID of the project that the strategy belongs to. example: red-vista environment: type: string description: The ID of the environment that the strategy belongs to. example: development strategyName: type: string description: The name of the strategy's type. example: flexibleRollout changeRequestStrategies: description: A list of strategies that use this segment in active change requests. type: array items: type: object required: - featureName - projectId - environment - strategyName properties: id: type: string description: The ID of the strategy. Not present on new strategies that haven't been added to the feature flag yet. example: e465c813-cffb-4232-b184-82b1d6fe9d3d featureName: type: string description: The name of the feature flag that this strategy belongs to. example: new-signup-flow projectId: type: string description: The ID of the project that the strategy belongs to. example: red-vista environment: type: string description: The ID of the environment that the strategy belongs to. example: development strategyName: type: string description: The name of the strategy's type. example: flexibleRollout segmentsSchema: description: Data containing a list of [segments](https://docs.getunleash.io/concepts/segments) type: object properties: segments: type: array description: A list of segments items: $ref: '#/components/schemas/adminSegmentSchema' setCorsSchema: type: object additionalProperties: false description: Unleash CORS configuration. properties: frontendApiOrigins: description: The list of origins that the front-end API should accept requests from. example: - '*' type: array items: type: string setStrategySortOrderSchema: type: array description: An array of strategies with their new sort order items: type: object additionalProperties: false required: - id - sortOrder description: A strategy with its new sort order properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the strategy sortOrder: type: number example: 1 description: The new sort order of the strategy sortOrderSchema: type: object description: A map of object IDs and their corresponding sort orders. additionalProperties: type: integer description: Sort order for the object whose ID is the key used for this property. example: 6 splashRequestSchema: type: object description: Data related to a user having seen a splash screen. required: - userId - splashId properties: userId: type: integer description: The ID of the user that was shown the splash screen. example: 1 splashId: type: string description: The ID of the splash screen that was shown. example: new-splash-screen splashResponseSchema: type: object description: Data related to a user having seen a splash screen. required: - userId - splashId - seen properties: userId: type: integer description: The ID of the user that was shown the splash screen. example: 1 splashId: type: string description: The ID of the splash screen that was shown. example: new-splash-screen seen: type: boolean description: Indicates whether the user has seen the splash screen or not. example: true additionalProperties: false strategiesSchema: type: object additionalProperties: false required: - version - strategies description: List of strategies properties: version: type: integer enum: - 1 example: 1 description: Version of the strategies schema strategies: type: array items: $ref: '#/components/schemas/strategySchema' description: List of strategies strategySchema: description: The [activation strategy](https://docs.getunleash.io/concepts/activation-strategies) schema type: object additionalProperties: false required: - name - displayName - description - editable - deprecated - parameters properties: title: type: string nullable: true description: An optional title for the strategy example: GradualRollout - Prod25 name: type: string description: The name (type) of the strategy example: flexibleRollout displayName: type: string description: A human friendly name for the strategy example: Gradual Rollout nullable: true description: type: string nullable: true description: A short description of the strategy example: Gradual rollout to logged in users editable: type: boolean description: Whether the strategy can be edited or not. Strategies bundled with Unleash cannot be edited. example: true deprecated: type: boolean description: '' example: true parameters: type: array description: A list of relevant parameters for each strategy items: type: object additionalProperties: false properties: name: type: string example: percentage type: type: string example: percentage description: type: string example: Gradual rollout to logged in users required: type: boolean example: true strategyVariantSchema: type: object additionalProperties: false description: This is an experimental property. It may change or be removed as we work on it. Please don't depend on it yet. A strategy variant allows you to attach any data to strategies instead of only returning `true`/`false`. Strategy variants take precedence over feature variants. required: - name - weight - weightType - stickiness properties: name: type: string description: The variant name. Must be unique for this feature flag example: blue_group weight: type: integer description: 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information minimum: 0 maximum: 1000 weightType: description: 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight). type: string example: fix enum: - variable - fix stickiness: type: string description: The [stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-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: type: object required: - type - value description: Extra data configured for this variant properties: type: description: The type of the value. Commonly used types are string, number, json and csv. type: string enum: - json - csv - string - number value: description: The actual value of payload type: string example: type: json value: '{"color": "red"}' tagSchema: type: object description: Representation of a [tag](https://docs.getunleash.io/concepts/feature-flags#tags) additionalProperties: false required: - value - type properties: value: type: string description: The value of the tag. minLength: 2 maxLength: 50 example: a-tag-value type: type: string minLength: 2 maxLength: 50 description: The [type](https://docs.getunleash.io/concepts/feature-flags#tags) of the tag example: simple color: type: string description: The hexadecimal color code for the tag type. example: '#FFFFFF' pattern: ^#[0-9A-Fa-f]{6}$ nullable: true tagTypeSchema: type: object additionalProperties: false description: A tag type. required: - name properties: name: type: string description: The name of the tag type. example: color description: type: string description: The description of the tag type. example: A tag type for describing the color of a tag. icon: type: string nullable: true description: The icon of the tag type. example: not-really-used color: type: string nullable: true description: The hexadecimal color code for the tag type. example: '#FFFFFF' pattern: ^#[0-9A-Fa-f]{6}$ tagTypesSchema: type: object additionalProperties: false required: - version - tagTypes description: A list of tag types with a version number representing the schema used to model the tag types. properties: version: type: integer description: The version of the schema used to model the tag types. example: 1 tagTypes: type: array description: The list of tag types. items: $ref: '#/components/schemas/tagTypeSchema' tagWithVersionSchema: type: object additionalProperties: false required: - version - tag description: A tag with a version number representing the schema used to model the tag. properties: version: type: integer description: The version of the schema used to model the tag. example: 1 tag: $ref: '#/components/schemas/tagSchema' tagsBulkAddSchema: description: Represents tag changes to be applied to a list of features. type: object additionalProperties: false required: - features - tags properties: features: description: The list of features that will be affected by the tag changes. type: array items: type: string minLength: 1 tags: description: The tag changes to be applied to the features. $ref: '#/components/schemas/updateTagsSchema' tagsSchema: description: A list of tags with a version number type: object additionalProperties: false required: - version - tags properties: version: type: integer description: The version of the schema used to model the tags. tags: type: array description: A list of tags. items: $ref: '#/components/schemas/tagSchema' telemetrySettingsSchema: type: object additionalProperties: false required: - versionInfoCollectionEnabled - featureInfoCollectionEnabled description: Contains information about which settings are configured for version info collection and feature usage collection. properties: versionInfoCollectionEnabled: type: boolean description: Whether collection of version info is enabled/active. example: true featureInfoCollectionEnabled: type: boolean description: Whether collection of feature usage metrics is enabled/active. example: true toggleMaintenanceSchema: type: object description: Data used when to activate or deactivate maintenance mode for Unleash. required: - enabled properties: enabled: description: '`true` if you want to activate maintenance mode, `false` if you want to deactivate it.' type: boolean example: true tokenStringListSchema: type: object description: A list of unleash tokens to validate against known tokens required: - tokens properties: tokens: description: Tokens that we want to get access information about type: array items: type: string example: - aproject:development.randomstring - '[]:production.randomstring' tokenUserSchema: type: object additionalProperties: false description: A user identified by a token required: - id - email - token - createdBy - role properties: id: type: integer description: The user id example: 7 name: description: The name of the user type: string example: Test McTest email: description: The email of the user type: string example: test@example.com token: description: A token uniquely identifying a user type: string example: user:xyzrandomstring createdBy: description: A username or email identifying which user created this token type: string nullable: true example: admin@example.com role: $ref: '#/components/schemas/roleSchema' transitionConditionSchema: type: object additionalProperties: false required: - intervalMinutes description: A transition condition for milestone progression properties: intervalMinutes: type: integer minimum: 1 description: The interval in minutes before transitioning example: 30 uiConfigSchema: type: object additionalProperties: false description: A collection of properties used to configure the Unleash Admin UI. required: - version - unleashUrl - baseUriPath - versionInfo properties: slogan: type: string description: The slogan to display in the UI footer. example: The enterprise-ready feature flag service. name: type: string description: The name of this Unleash instance. Used to build the text in the footer. example: Unleash enterprise version: type: string description: The current version of Unleash example: 5.3.0-main environment: type: string description: 'What kind of Unleash instance it is: Enterprise, Pro, or Open source' example: Enterprise billing: type: string description: The billing model in use for this Unleash instance. example: subscription enum: - subscription - pay-as-you-go edgeUrl: type: string description: The URL of the Unleash Edge instance. example: https://yourcompany.edge.getunleash.io unleashUrl: type: string description: The URL of the Unleash instance. example: https://unleash.mycompany.com/enterprise baseUriPath: type: string description: The base URI path at which this Unleash instance is listening. example: /enterprise feedbackUriPath: type: string description: The URI path at which the feedback endpoint is listening. example: /feedback disablePasswordAuth: type: boolean description: Whether password authentication should be disabled or not. example: false emailEnabled: type: boolean description: Whether this instance can send out emails or not. example: true maintenanceMode: type: boolean description: Whether maintenance mode is currently active or not. example: false resourceLimits: $ref: '#/components/schemas/resourceLimitsSchema' description: A map of resource names and their limits. example: segmentValues: 10 strategySegments: 10 actionSetActions: 10 actionSetsPerProject: 10 actionSetFilters: 10 actionSetFilterValues: 10 signalEndpoints: 10 signalTokensPerEndpoint: 10 featureEnvironmentStrategies: 30 constraintValues: 250 constraints: 30 environments: 50 apiTokens: 2000 projects: 500 segments: 300 featureFlags: 5000 releaseTemplates: 5 readOnlyUsers: 50 prometheusAPIAvailable: type: boolean description: Whether a Prometheus API is available. example: true frontendApiOrigins: type: array description: The list of origins that the front-end API should accept requests from. example: - '*' items: type: string flags: type: object description: Additional (largely experimental) features that are enabled in this Unleash instance. example: messageBanner: name: disabled enabled: false featuresExportImport: true additionalProperties: anyOf: - type: boolean - $ref: '#/components/schemas/variantFlagSchema' links: description: Relevant links to use in the UI. example: - value: Documentation icon: library_books href: https://docs.getunleash.io/docs title: User documentation - value: GitHub icon: c_github href: https://github.com/Unleash/unleash title: Source code on GitHub x-enforcer-exception-skip-codes: WSCH006 type: array items: type: object authenticationType: type: string description: The type of authentication enabled for this Unleash instance example: enterprise enum: - open-source - demo - enterprise - hosted - custom - none versionInfo: $ref: '#/components/schemas/versionSchema' oidcConfiguredThroughEnv: type: boolean description: Whether the OIDC configuration is set through environment variables or not. example: false samlConfiguredThroughEnv: type: boolean description: Whether the SAML configuration is set through environment variables or not. example: false maxSessionsCount: type: number description: The maximum number of sessions that a user has. example: 10 unleashContext: type: object description: The context object used to configure the Unleash instance. unknownFlagSchema: type: object additionalProperties: false required: - name - lastSeenAt description: An unknown flag report properties: name: type: string description: The name of the unknown flag. example: my-unknown-flag lastSeenAt: type: string format: date-time description: The date and time when the unknown flag was last reported. example: '2023-10-01T12:00:00Z' lastEventAt: type: string format: date-time description: The date and time when the last event for the unknown flag name occurred, if any. example: '2023-10-01T12:00:00Z' nullable: true reports: type: array description: The list of reports for this unknown flag. items: type: object additionalProperties: false required: - appName - environments properties: appName: type: string description: The name of the application that reported the unknown flag. example: my-app environments: type: array description: The list of environments where this application reported the unknown flag. items: type: object additionalProperties: false required: - environment - seenAt properties: environment: type: string description: The environment in which the unknown flag was reported. example: production seenAt: type: string format: date-time description: The date and time when the unknown flag was last seen in this environment. example: '2023-10-01T12:00:00Z' unknownFlagsResponseSchema: type: object additionalProperties: false required: - unknownFlags description: A list of unknown flag reports properties: unknownFlags: description: The list of recently reported unknown flags. type: array items: $ref: '#/components/schemas/unknownFlagSchema' updateApiTokenSchema: type: object required: - expiresAt description: An object with fields to updated for a given API token. properties: expiresAt: description: The new time when this token should expire. example: '2023-09-04T11:26:24+02:00' type: string format: date-time updateContextFieldSchema: type: object description: Data to update an existing context field configuration. properties: description: type: string description: A description of the context field example: The user's subscription tier stickiness: type: boolean description: '`true` if this field should be available for use with [custom stickiness](https://docs.getunleash.io/concepts/stickiness#custom-stickiness), otherwise `false`' example: false sortOrder: type: integer description: How this context field should be sorted if no other sort order is selected example: 2 legalValues: type: array description: A list of allowed values for this context field example: - value: gold - value: silver - value: crystal items: $ref: '#/components/schemas/legalValueSchema' project: description: The project this context field belongs to (if it is project-specific) type: string example: my-project updateFeatureSchema: type: object description: Data used for updating a feature flag properties: description: type: string example: Controls disabling of the comments section in case of an incident description: Detailed description of the feature type: enum: - experiment - kill-switch - release - operational - permission example: kill-switch description: Type of the flag e.g. experiment, kill-switch, release, operational, permission stale: type: boolean example: true description: '`true` if the feature is archived' archived: type: boolean example: true description: If `true` the feature flag will be moved to the [archive](https://docs.getunleash.io/concepts/feature-flags#archive-a-feature-flag) with a property `archivedAt` set to current time impressionData: type: boolean example: false description: '`true` if the impression data collection is enabled for the feature' updateFeatureStrategySchema: type: object description: Update a strategy configuration in a feature properties: name: type: string description: The name of the strategy type sortOrder: type: number description: The order of the strategy in the list in feature environment configuration constraints: type: array items: $ref: '#/components/schemas/constraintSchema' description: A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints title: type: string nullable: true description: A descriptive title for the strategy example: Gradual Rollout 25-Prod disabled: type: boolean description: A toggle to disable the strategy. defaults to true. Disabled strategies are not evaluated or returned to the SDKs example: false nullable: true parameters: $ref: '#/components/schemas/parametersSchema' updateFeatureStrategySegmentsSchema: type: object required: - projectId - strategyId - environmentId - segmentIds description: Data required to update segments for a strategy. properties: projectId: type: string description: The ID of the project that the strategy belongs to. example: red-vista strategyId: type: string description: The ID of the strategy to update segments for. example: 15d1e20b-6310-4e17-a0c2-9fb84de3053a environmentId: type: string description: The ID of the strategy environment. example: development segmentIds: type: array description: The new list of segments (IDs) to use for this strategy. Any segments not in this list will be removed from the strategy. example: - 1 - 5 - 6 items: type: integer minimum: 0 updateFeatureTypeLifetimeSchema: type: object required: - lifetimeDays description: Data used when updating the lifetime of a [feature flag type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types). properties: lifetimeDays: description: The new lifetime (in days) that you want to assign to the feature flag type. If the value is `null` or `0`, then the feature flags of that type will never be marked as potentially stale. Otherwise, they will be considered potentially stale after the number of days indicated by this property. example: 7 type: integer nullable: true minimum: 0 maximum: 2147483647 updateStrategySchema: type: object description: The data required to update a strategy type. required: - parameters properties: description: type: string description: A description of the strategy type. example: Enable the feature for users who have not logged in before. parameters: type: array description: The parameter list lets you pass arguments to your custom activation strategy. These will be made available to your custom strategy implementation. items: type: object required: - name - type properties: name: type: string description: The name of the parameter example: Rollout percentage type: type: string description: The [type of the parameter](https://docs.getunleash.io/concepts/activation-strategies#parameters) enum: - string - percentage - list - number - boolean example: percentage description: type: string description: A description of this strategy parameter. Use this to indicate to the users what the parameter does. example: How many percent of users should see this feature? required: type: boolean description: Whether this parameter must be configured when using the strategy. Defaults to `false` example: false updateTagTypeSchema: type: object description: The request body for updating a tag type. properties: description: type: string description: The description of the tag type. example: A tag type for describing the color of a tag. icon: type: string description: The icon of the tag type. example: not-really-used color: type: string description: The hexadecimal color code for the tag type. example: '#FFFFFF' pattern: ^#[0-9A-Fa-f]{6}$ updateTagsSchema: type: object description: Represents a set of changes to a feature's tags, such as adding or removing tags. additionalProperties: false required: - addedTags - removedTags properties: addedTags: type: array description: Tags to add to the feature. items: $ref: '#/components/schemas/tagSchema' removedTags: type: array description: Tags to remove from the feature. items: $ref: '#/components/schemas/tagSchema' example: addedTags: - value: tag-to-add type: simple removedTags: - value: tag-to-remove type: simple updateUserSchema: type: object description: All fields that can be directly changed for the user properties: email: description: The user's email address. Must be provided if username is not provided. type: string example: user@example.com name: description: The user's name (not the user's username). type: string example: Sam Seawright rootRole: description: The role to assign to the user. Can be either the role's ID or its unique name. oneOf: - type: integer example: 1 minimum: 0 - type: string example: Admin enum: - Admin - Editor - Viewer - Owner - Member - Reader upsertSegmentSchema: type: object description: Data used to create or update a segment required: - name - constraints properties: name: description: The name of the segment example: beta-users type: string description: type: string nullable: true description: A description of what the segment is for example: Users willing to help us test and build new features. project: type: string nullable: true description: The project the segment belongs to if any. example: red-vista constraints: type: array description: The list of constraints that make up this segment items: $ref: '#/components/schemas/constraintSchema' userAccessOverviewSchema: type: object required: - overview - user - rootRole - projectRoles additionalProperties: false description: Describes the access overview (list of permissions and metadata) for a user. properties: overview: type: object required: - root - project - environment additionalProperties: false description: The access overview (list of permissions) for the user properties: root: type: array description: The list of root permissions items: type: object required: - id - name - displayName - type - hasPermission additionalProperties: false properties: id: type: integer description: The ID of the permission example: 1 name: type: string description: The name of the permission example: CREATE_FEATURE_STRATEGY displayName: type: string description: The display name of the permission example: Create activation strategies type: type: string description: The type of the permission example: environment environment: type: string nullable: true description: The environment that the permission applies to example: dev hasPermission: type: boolean description: Whether the user has this permission example: true project: type: array description: The list of project permissions items: type: object required: - id - name - displayName - type - hasPermission additionalProperties: false properties: id: type: integer description: The ID of the permission example: 1 name: type: string description: The name of the permission example: CREATE_FEATURE_STRATEGY displayName: type: string description: The display name of the permission example: Create activation strategies type: type: string description: The type of the permission example: environment environment: type: string nullable: true description: The environment that the permission applies to example: dev hasPermission: type: boolean description: Whether the user has this permission example: true environment: type: array description: The list of environment permissions items: type: object required: - id - name - displayName - type - hasPermission additionalProperties: false properties: id: type: integer description: The ID of the permission example: 1 name: type: string description: The name of the permission example: CREATE_FEATURE_STRATEGY displayName: type: string description: The display name of the permission example: Create activation strategies type: type: string description: The type of the permission example: environment environment: type: string nullable: true description: The environment that the permission applies to example: dev hasPermission: type: boolean description: Whether the user has this permission example: true user: description: The user that this access overview is for $ref: '#/components/schemas/userSchema' rootRole: description: The name of the root role that this user has $ref: '#/components/schemas/roleSchema' projectRoles: type: array description: The list of project roles that this user has in the selected project items: type: object required: - id - type - name - permissions additionalProperties: false properties: id: type: integer description: The role id example: 9 minimum: 0 type: description: A role can either be a global root role (applies to all projects) or a project role type: string example: root name: description: The name of the role type: string example: Editor description: description: A more detailed description of the role and what use it's intended for type: string example: Users with the editor role have access to most features in Unleash but can not manage users and roles in the global scope. Editors will be added as project owners when creating projects and get superuser rights within the context of these projects. Users with the editor role will also get access to most permissions on the default project by default. project: description: What project the role belongs to type: string nullable: true example: default permissions: type: array description: The permissions that this role has items: type: object required: - id - name - displayName - type additionalProperties: false properties: id: type: integer description: The ID of the permission example: 1 name: type: string description: The name of the permission example: CREATE_FEATURE_STRATEGY displayName: type: string description: The display name of the permission example: Create activation strategies type: type: string description: The type of the permission example: environment environment: type: string nullable: true description: The environment that the permission applies to example: dev userSchema: type: object additionalProperties: false description: An Unleash user required: - id properties: id: description: The user id type: integer example: 123 name: description: Name of the user type: string example: User nullable: true email: description: Email of the user type: string example: user@example.com username: description: A unique username for the user type: string example: hunter nullable: true imageUrl: description: URL used for the user profile image type: string example: https://example.com/242x200.png inviteLink: description: If the user is actively inviting other users, this is the link that can be shared with other users type: string example: http://localhost:4242/invite-link/some-secret loginAttempts: description: How many unsuccessful attempts at logging in has the user made type: integer minimum: 0 example: 3 emailSent: description: Is the welcome email sent to the user or not type: boolean example: false rootRole: description: Which [root role](https://docs.getunleash.io/concepts/rbac#predefined-roles) this user is assigned type: integer example: 1 minimum: 0 seenAt: description: The last time this user logged in type: string format: date-time nullable: true example: '2023-06-30T11:42:00.345Z' createdAt: description: The user was created at this time type: string format: date-time example: '2023-06-30T11:41:00.123Z' accountType: description: A user is either an actual User or a Service Account type: string enum: - User - Service Account example: User permissions: description: Deprecated type: array items: type: string scimId: description: The SCIM ID of the user, only present if managed by SCIM type: string nullable: true example: 01HTMEXAMPLESCIMID7SWWGHN6 seatType: description: The seat type of this user type: string nullable: true example: Regular activeSessions: description: Count of active browser sessions for this user type: integer nullable: true example: 2 deletedSessions: description: Experimental. The number of deleted browser sessions after last login type: number example: 1 usersGroupsBaseSchema: type: object additionalProperties: false description: An overview of user groups and users. properties: groups: type: array description: A list of user groups and their configuration. items: $ref: '#/components/schemas/groupSchema' example: - id: 1 name: unleash-e2e-7095756699593281 userCount: 1 rootRole: null users: type: array items: $ref: '#/components/schemas/userSchema' description: A list of users. example: - id: 4 name: unleash-e2e-user2-7095756699593281 email: unleash-e2e-user2-7095756699593281@test.com accountType: User - id: 1 username: admin accountType: User usersSchema: type: object additionalProperties: false description: Users and root roles required: - users properties: users: type: array description: A list of users in the Unleash instance. items: $ref: '#/components/schemas/userSchema' rootRoles: type: array description: A list of [root roles](https://docs.getunleash.io/concepts/rbac#predefined-roles) in the Unleash instance. items: $ref: '#/components/schemas/roleSchema' usersSearchSchema: type: array description: A list of users items: $ref: '#/components/schemas/userSchema' validateArchiveFeaturesSchema: type: object additionalProperties: false description: Validation details for features archive operation required: - parentsWithChildFeatures - hasDeletedDependencies properties: parentsWithChildFeatures: type: array items: type: string description: List of parent features that would orphan child features that are not part of the archive operation example: - my-feature-4 - my-feature-5 - my-feature-6 hasDeletedDependencies: type: boolean description: Whether any dependencies will be deleted as part of archive example: true validateFeatureSchema: type: object required: - name description: Data used to validate a feature flag's name. properties: name: description: The feature name to validate. type: string example: my-feature-3 projectId: description: The id of the project that the feature flag will belong to. If the target project has a feature naming pattern defined, the name will be validated against that pattern. nullable: true type: string example: project-y validatePasswordSchema: type: object additionalProperties: false required: - password description: Used to validate passwords obeying [Unleash password guidelines](https://docs.getunleash.io/using-unleash/deploy/configuring-unleash#securing-unleash) properties: password: description: The password to validate type: string example: hunter2 validateTagTypeSchema: type: object required: - valid - tagType description: The result of validating a tag type. properties: valid: type: boolean description: Whether or not the tag type is valid. example: true tagType: $ref: '#/components/schemas/tagTypeSchema' validatedEdgeTokensSchema: type: object additionalProperties: false required: - tokens description: A object containing a list of valid Unleash tokens. properties: tokens: description: The list of Unleash token objects. Each object contains the token itself and some additional metadata. type: array items: $ref: '#/components/schemas/edgeTokenSchema' variantFlagSchema: type: object additionalProperties: false description: A representation of an evaluated Unleash feature variant. properties: name: description: The name of the variant. Will always be disabled if `enabled` is false. example: blue type: string enabled: type: boolean description: Whether the variant is enabled or not. example: true payload: type: object description: Additional data associated with this variant. additionalProperties: false properties: type: description: The type of data contained. type: string enum: - string - json - csv - number example: json value: description: The actual associated data type: string example: '{ "starter": "squirtle" }' feature_enabled: type: boolean description: Whether the feature is enabled or not. example: true featureEnabled: deprecated: true type: boolean description: Use `feature_enabled` instead. example: true variantSchema: type: object additionalProperties: false description: A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/concepts/feature-flag-variants#what-are-variants) for a more detailed description required: - name - weight properties: name: type: string description: The variants name. Is unique for this feature flag example: blue_group weight: type: number description: 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information minimum: 0 maximum: 1000 weightType: description: 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 type: string example: variable enum: - variable - fix stickiness: type: string description: '[Stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time' example: custom.context.field payload: type: object required: - type - value description: Extra data configured for this variant additionalProperties: false properties: type: description: The type of the value. Commonly used types are string, number, json and csv. type: string enum: - json - csv - string - number value: description: The actual value of payload type: string example: type: json value: '{"color": "red"}' overrides: description: 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. type: array items: $ref: '#/components/schemas/overrideSchema' variantsSchema: type: array description: A list of variants items: $ref: '#/components/schemas/variantSchema' versionSchema: type: object additionalProperties: false description: Detailed information about an Unleash version required: - current - latest - isLatest properties: current: type: object additionalProperties: false description: The current version of Unleash. properties: oss: description: The OSS version used when building this Unleash instance, represented as a git revision belonging to the [main Unleash git repo](https://github.com/Unleash/unleash/) example: 5.3.0-main type: string enterprise: description: The Enterpris version of Unleash used to build this instance, represented as a git revision belonging to the [Unleash Enterprise](https://github.com/ivarconr/unleash-enterprise) repository. Will be an empty string if no enterprise version was used, example: 5.3.0-main+2105.45ed03c9 type: string latest: type: object additionalProperties: false description: Information about the latest available Unleash releases. Will be an empty object if no data is available. properties: oss: description: The latest available OSS version of Unleash type: string example: 5.1.5 enterprise: description: The latest available Enterprise version of Unleash type: string example: 5.1.5 isLatest: type: boolean description: Whether the Unleash server is running the latest release (`true`) or if there are updates available (`false`) example: true instanceId: type: string description: The instance identifier of the Unleash instance example: 0d652a82-43db-4144-8e02-864b0b030710 buildDate: description: The date and time of when this Unleash instance version was built type: string format: date-time nullable: true example: '2023-06-30T11:41:00.123Z' actionableChangeRequestsSchema: type: object description: Data related to actionable change requests in a project. required: - total properties: total: type: integer minimum: 0 description: The number of actionable change requests in the project. adminPermissionSchema: type: object required: - id - name - displayName - type additionalProperties: false description: Describes a single permission properties: id: type: integer description: The identifier for this permission example: 3 name: type: string description: The name of this permission example: UPDATE_FEATURE displayName: type: string description: The name to display in listings of permissions example: Update feature flags type: type: string description: What level this permission applies to. Either root, project or the name of the environment it applies to example: project environment: description: Which environment this permission applies to type: string example: development nullable: true adminPermissionsSchema: type: object required: - permissions - version additionalProperties: false description: What kind of permissions are available properties: permissions: type: object required: - project - environments additionalProperties: false description: Returns permissions available at all three levels (root|project|environment) properties: root: type: array description: Permissions available at the root level, i.e. not connected to any specific project or environment items: $ref: '#/components/schemas/adminPermissionSchema' project: type: array description: Permissions available at the project level items: $ref: '#/components/schemas/adminPermissionSchema' environments: type: array description: A list of environments with available permissions per environment items: type: object required: - name - permissions additionalProperties: false properties: name: type: string description: The name of the environment example: development permissions: type: array description: Permissions available for this environment items: $ref: '#/components/schemas/adminPermissionSchema' version: type: integer minimum: 1 enum: - 1 - 2 description: The api version of this response. A natural increasing number. Only increases if format changes example: 1 changeProjectSchema: type: object description: Data required to move a feature flag to a project. required: - newProjectId properties: newProjectId: type: string description: The project to move the feature flag to. example: newProject cloneEnvironmentSchema: type: object required: - name - type description: Data used to clone an environment. properties: name: type: string example: development description: The name of the new cloned environment, this cannot be changed later type: type: string example: development description: Updates the type of environment (i.e. development or production). projects: type: array description: A list of projects that should be included in the cloned environment. items: type: string clonePermissions: type: boolean description: Copies the RBAC permissions from the source environment if true. Defaults to true createEnvironmentSchema: type: object required: - name - type description: Data required to create a new [environment](https://docs.getunleash.io/concepts/environments) properties: name: type: string description: The name of the environment. Must be a URL-friendly string according to [RFC 3968, section 2.3](https://www.rfc-editor.org/rfc/rfc3986#section-2.3) pattern: ^[a-zA-Z0-9~_.-]+$ type: type: string minLength: 1 description: 'The [type of environment](https://docs.getunleash.io/concepts/environments#environment-types) you would like to create. Unleash officially recognizes the following values: - `development` - `test` - `preproduction` - `production` If you pass a string that is not one of the recognized values, Unleash will accept it, but it will carry no special semantics.' enabled: type: boolean description: Newly created environments are enabled by default. Set this property to `false` to create the environment in a disabled state. sortOrder: type: integer description: Defines where in the list of environments to place this environment. The list uses an ascending sort, so lower numbers are shown first. You can change this value later. requiredApprovals: type: integer description: Experimental field. The number of approvals required before a change request can be applied in this environment. minimum: 1 example: 3 nullable: true createProjectSchema: type: object required: - name description: Data used to create a new [project](https://docs.getunleash.io/concepts/projects). properties: id: deprecated: true description: The project's identifier. If this property is not present or is an empty string, Unleash will generate the project id automatically. This property is deprecated. type: string pattern: '[A-Za-z0-9_~.-]*' example: pet-shop name: description: The project's name. The name must contain at least one non-whitespace character. type: string pattern: ^(?!\s*$).+ example: Pet shop description: description: The project's description. type: string nullable: true example: This project contains features related to the new pet shop. mode: type: string enum: - open - protected - private example: open default: open description: A mode of the project affecting what actions are possible in this project defaultStickiness: type: string example: userId default: default description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy environments: type: array items: type: string example: production description: A list of environments that should be enabled for this project. If this property is missing, Unleash will default to enabling all non-deprecated environments for the project. An empty list will result in no environment enabled for the project. example: - production - development changeRequestEnvironments: type: array description: A list of environments that should have change requests enabled. If the list includes environments not in the `environments` list, they will still have change requests enabled. items: type: object required: - name properties: name: type: string example: production description: The name of the environment to configure change requests for. requiredApprovals: type: integer example: 3 default: 1 description: The number of approvals required for a change request to be fully approved and ready to applied in this environment. If no value is provided, it will be set to the default number, which is 1. Values will be clamped to between 1 and 10 inclusive. createRoleWithPermissionsSchema: type: object description: A write model for the custom role and permissions to allow Unleash to decide what actions a role holder is allowed to perform anyOf: - type: object required: - name properties: name: description: The name of the custom role type: string example: external-contributors description: description: A more detailed description of the custom role and what use it's intended for type: string example: Users with external-contributors role have limited access to most features in Unleash type: description: '[Custom root roles](https://docs.getunleash.io/concepts/rbac#custom-root-roles) (type=root-custom) are root roles with a custom set of permissions. [Custom project roles](https://docs.getunleash.io/concepts/rbac#custom-project-roles) (type=custom) contain a specific set of permissions for project resources.' type: string enum: - root-custom - custom example: root-custom permissions: type: array description: A list of permissions assigned to this role items: type: object required: - name properties: name: description: The name of the permission type: string example: CREATE_PROJECT environment: type: string nullable: true example: development description: The environments of the permission if the permission is environment specific - type: object required: - name properties: name: description: The name of the custom role type: string example: external-contributors description: description: A more detailed description of the custom role and what use it's intended for type: string example: Users with external-contributors role have limited access to most features in Unleash type: description: '[Custom project roles](https://docs.getunleash.io/concepts/rbac#custom-project-roles) contain a specific set of permissions for project resources.' type: string enum: - custom example: custom permissions: type: array description: A list of permissions assigned to this role items: type: object required: - id properties: id: description: The id of the permission type: number example: 2 name: description: The name of the permission type: string example: CREATE_PROJECT environment: type: string nullable: true example: development description: The environments of the permission if the permission is environment specific invoicesSchema: type: array description: A list of invoices items: type: object description: Data describing an invoice required: - amountFormatted - paid - status - invoiceURL - invoicePDF additionalProperties: false properties: amountFormatted: type: string description: A formatted representation of the amount due. example: € 123.00 paid: type: boolean description: '`true` if the invoice has been paid, `false` if it has not.' example: true status: type: string description: The current status of the invoice example: pending dueDate: type: string description: When the invoice is due example: '2018-11-13' invoiceURL: type: string format: uri description: A URL pointing to where the invoice can be found. example: https://invoice.url invoicePDF: type: string format: uri description: A link to a PDF-version of the invoice. example: https://invoice.url/pdf oidcSettingsSchema: type: object description: Settings for configuring OpenID Connect as a login provider for Unleash oneOf: - required: - enabled - clientId - secret type: object properties: enabled: description: Whether to enable or disable OpenID Connect for this instance type: boolean example: true enum: - true discoverUrl: description: The [.well-known OpenID discover URL](https://swagger.io/docs/specification/authentication/openid-connect-discovery/) example: https://myoidchost.azure.com/.well-known/openid-configuration type: string format: uri clientId: description: The OIDC client ID of this application. example: FB87266D-CDDB-4BCF-BB1F-8392FD0EDC1B type: string secret: description: Shared secret from OpenID server. Used to authenticate login requests type: string example: qjcVfeFjEfoYAF3AEsX2IMUWYuUzAbXO autoCreate: description: Auto create users based on email addresses from login tokens type: boolean enableSingleSignOut: description: Support Single sign out when user clicks logout in Unleash. If `true` user is signed out of all OpenID Connect sessions against the clientId they may have active type: boolean defaultRootRole: description: '[Default role](https://docs.getunleash.io/concepts/rbac#standard-roles) granted to users auto-created from email. Only relevant if autoCreate is `true`' type: string enum: - Viewer - Editor - Admin defaultRootRoleId: description: Assign this root role to auto created users. Should be a role ID and takes precedence over `defaultRootRole`. type: number example: 2 emailDomains: description: Comma separated list of email domains that are automatically approved for an account in the server. Only relevant if autoCreate is `true` type: string example: getunleash.io,getunleash.ai acrValues: description: "Authentication Context Class Reference, used to request extra values in the acr claim returned from\ \ the server. If multiple values are required, they should be space separated. \n Consult [the OIDC reference](https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint)\ \ for more information \n" type: string example: urn:okta:loa:2fa:any phr idTokenSigningAlgorithm: description: The signing algorithm used to sign our token. Refer to the [JWT signatures](https://jwt.io/introduction) documentation for more information. type: string example: RS256 enum: - RS256 - RS384 - RS512 enableGroupSyncing: description: Should we enable group syncing. Refer to the documentation [Group syncing](https://docs.getunleash.io/guides/how-to-set-up-group-sso-sync) type: boolean example: false groupJsonPath: description: Specifies the path in the OIDC token response to read which groups the user belongs to from. type: string example: groups addGroupsScope: description: When enabled Unleash will also request the 'groups' scope as part of the login request. type: boolean example: false enablePkce: description: Enable PKCE (Proof Key for Code Exchange) for enhanced security. Recommended for public clients and provides additional protection against authorization code interception attacks. type: boolean example: false - type: object properties: enabled: description: Whether to enable or disable OpenID Connect for this instance type: boolean example: false enum: - false discoverUrl: description: The [.well-known OpenID discover URL](https://swagger.io/docs/specification/authentication/openid-connect-discovery/) example: https://myoidchost.azure.com/.well-known/openid-configuration type: string format: uri clientId: description: The OIDC client ID of this application. example: FB87266D-CDDB-4BCF-BB1F-8392FD0EDC1B type: string secret: description: Shared secret from OpenID server. Used to authenticate login requests type: string example: qjcVfeFjEfoYAF3AEsX2IMUWYuUzAbXO autoCreate: description: Auto create users based on email addresses from login tokens type: boolean enableSingleSignOut: description: Support Single sign out when user clicks logout in Unleash. If `true` user is signed out of all OpenID Connect sessions against the clientId they may have active type: boolean defaultRootRole: description: '[Default role](https://docs.getunleash.io/concepts/rbac#standard-roles) granted to users auto-created from email. Only relevant if autoCreate is `true`' type: string enum: - Viewer - Editor - Admin defaultRootRoleId: description: Assign this root role to auto created users. Should be a role ID and takes precedence over `defaultRootRole`. type: number example: 2 emailDomains: description: Comma separated list of email domains that are automatically approved for an account in the server. Only relevant if autoCreate is `true` type: string example: getunleash.io,getunleash.ai acrValues: description: "Authentication Context Class Reference, used to request extra values in the acr claim returned from\ \ the server. If multiple values are required, they should be space separated. \n Consult [the OIDC reference](https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint)\ \ for more information \n" type: string example: urn:okta:loa:2fa:any phr idTokenSigningAlgorithm: description: The signing algorithm used to sign our token. Refer to the [JWT signatures](https://jwt.io/introduction) documentation for more information. type: string example: RS256 enum: - RS256 - RS384 - RS512 enableGroupSyncing: description: Should we enable group syncing. Refer to the documentation [Group syncing](https://docs.getunleash.io/guides/how-to-set-up-group-sso-sync) type: boolean example: false groupJsonPath: description: Specifies the path in the OIDC token response to read which groups the user belongs to from. type: string example: groups addGroupsScope: description: When enabled Unleash will also request the 'groups' scope as part of the login request. type: boolean example: false enablePkce: description: Enable PKCE (Proof Key for Code Exchange) for enhanced security. Recommended for public clients and provides additional protection against authorization code interception attacks. type: boolean example: false passwordAuthSchema: type: object description: Does the server allow username/password authentication properties: disabled: description: Is username/password authentication disabled type: boolean example: false projectUsersSchema: type: object required: - roles - users description: An overview of users and available roles within a project. deprecated: true additionalProperties: false properties: users: type: array description: A list of users with access to this project and their role within it. items: $ref: '#/components/schemas/userWithProjectRoleSchema' roles: type: array description: A list of roles that are available for this project items: $ref: '#/components/schemas/roleSchema' projectAccessConfigurationSchema: type: object required: - roles description: An object describing roles for a project and what users and groups are part of that role. additionalProperties: false properties: roles: type: array description: A list of roles that are available within this project. items: type: object properties: id: type: integer description: The id of the role. example: 1 minimum: 1 groups: description: A list of group ids that will be assigned this role type: array items: type: integer example: - 1 - 2 - 3 users: type: array description: A list of user ids that will be assigned this role items: type: integer example: - 1 - 2 - 3 projectAccessSchema: type: object required: - roles - users - groups description: An object describing access permissions for a given project. additionalProperties: false properties: groups: description: A list of groups that have access to this project type: array items: $ref: '#/components/schemas/groupWithProjectRoleSchema' users: type: array description: A list of users and their roles within this project items: $ref: '#/components/schemas/userWithProjectRoleSchema' roles: type: array description: A list of roles that are available within this project. items: $ref: '#/components/schemas/roleSchema' projectAddAccessSchema: type: object required: - roles - groups - users description: An object containing a collection of roles, a collection of groups and a collection of users. properties: roles: description: A list of role IDs type: array items: type: integer minimum: 0 example: 5 description: A role ID groups: description: A list of group IDs type: array items: type: integer minimum: 0 example: 5 description: A group ID users: description: A list of user IDs type: array items: type: integer minimum: 0 example: 5 description: A user ID projectCreatedSchema: type: object required: - id - name description: Details about the newly created project. additionalProperties: false properties: id: description: The project's identifier. type: string pattern: '[A-Za-z0-9_~.-]+' example: pet-shop name: description: The project's name. type: string minLength: 1 example: Pet shop description: description: The project's description. type: string nullable: true example: This project contains features related to the new pet shop. featureLimit: type: integer nullable: true example: 100 description: A limit on the number of features allowed in the project. `null` if no limit. mode: type: string enum: - open - protected - private example: open description: A mode of the project affecting what actions are possible in this project defaultStickiness: type: string example: userId description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy environments: type: array items: type: string description: The environments enabled for the project. example: - production - staging changeRequestEnvironments: type: array description: The list of environments that have change requests enabled. items: type: object required: - name - requiredApprovals properties: name: type: string example: production description: The name of the environment this change request configuration applies to. requiredApprovals: type: integer example: 3 minimum: 1 default: 1 description: The number of approvals required for a change request to be fully approved and ready to applied in this environment. If no value is provided, it will be set to the default number, which is 1. The value must be greater than or equal to 1. projectRoleSchema: type: object description: An overview of how many users and groups are mapped to the specified project with the specified role. required: - project additionalProperties: false properties: project: type: string example: project-a description: The id of the project user and group count are counted for. role: type: integer example: 3 description: Id of the role the user and group count are counted for. userCount: type: integer example: 1 description: Number of users mapped to this project. minimum: 0 serviceAccountCount: type: integer example: 1 description: Number of service accounts mapped to this project. minimum: 0 groupCount: type: integer example: 1 description: Number of groups mapped to this project. minimum: 0 projectRoleUsageSchema: type: object description: A collection of projects with counts of users and groups mapped to them with specified roles. additionalProperties: false properties: projects: type: array description: A collection of projects with counts of users and groups mapped to them with specified roles. items: $ref: '#/components/schemas/projectRoleSchema' roleWithPermissionsSchema: type: object description: A read model for the role and permissions to allow Unleash to decide what actions a role holder is allowed to perform required: - id - type - name - permissions additionalProperties: false properties: id: description: The role id type: number example: 9 type: description: A role can either be a global `root` role, or a `project` role or a `custom` project role or a custom global `root-custom` role type: string example: root name: description: The name of the role type: string example: Editor description: description: A more detailed description of the role and what use it's intended for type: string example: Users with the editor role have access to most features in Unleash but can not manage users and roles in the global scope. Editors will be added as project owners when creating projects and get superuser rights within the context of these projects. Users with the editor role will also get access to most permissions on the default project by default. permissions: description: A list of permissions assigned to this role type: array items: $ref: '#/components/schemas/adminPermissionSchema' roleWithVersionSchema: type: object required: - version - roles description: A single user role received after creation or update of a role additionalProperties: false properties: version: description: The version of this schema type: integer example: 1 minimum: 1 roles: $ref: '#/components/schemas/roleSchema' description: A single role rolesWithVersionSchema: type: object required: - version - roles description: A collection of user roles additionalProperties: false properties: version: description: The version of this schema type: integer example: 1 minimum: 1 roles: type: array items: $ref: '#/components/schemas/roleSchema' description: A list of roles samlSettingsSchema: type: object description: Settings used to authenticate via SAML oneOf: - required: - entityId - signOnUrl - certificate type: object properties: enabled: description: Whether to enable or disable SAML 2.0 for this instance type: boolean example: true enum: - true entityId: description: The SAML 2.0 entity ID type: string example: http://localhost:8080/auth/realms/master signOnUrl: description: Which URL to use for Single Sign On type: string example: http://localhost:8080/auth/realms/master/protocol/saml certificate: description: The X509 certificate used to validate requests type: string example: 'MIIE/zCCBGgCAg4CMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw ODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs ZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I nrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa e7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr fSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf epfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2 SfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC IQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR 69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa /KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv w8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S fIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef 0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4 FzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn nf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz cPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP IOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf HTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9 /Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD gYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC JGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9 3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q= ' signOutUrl: description: Which URL to use for Single Sign Out type: string example: http://localhost:8080/auth/realms/master/protocol/saml spCertificate: description: Signing certificate for sign out requests type: string example: 'MIIE/zCCBGgCAg4CMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw ODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs ZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I nrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa e7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr fSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf epfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2 SfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC IQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR 69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa /KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv w8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S fIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef 0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4 FzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn nf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz cPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP IOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf HTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9 /Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD gYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC JGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9 3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q= ' autoCreate: description: Should Unleash create users based on the emails coming back in the authentication reply from the SAML server type: boolean example: true emailDomains: description: A comma separated list of email domains that Unleash will auto create user accounts for. type: string example: getunleash.io,unleash-hosted.com defaultRootRole: description: Assign this root role to auto created users type: string enum: - Viewer - Editor - Admin example: Editor defaultRootRoleId: description: Assign this root role to auto created users. Should be a role ID and takes precedence over `defaultRootRole`. type: number example: 2 enableGroupSyncing: description: Should we enable group syncing. Refer to the documentation [Group syncing](https://docs.getunleash.io/guides/how-to-set-up-group-sso-sync) type: boolean example: false groupJsonPath: description: Specifies the path in the SAML token response from which to read the groups the user belongs to. type: string example: groups - type: object properties: enabled: description: Whether to enable or disable SAML 2.0 for this instance type: boolean example: false enum: - false entityId: description: The SAML 2.0 entity ID type: string example: http://localhost:8080/auth/realms/master signOnUrl: description: Which URL to use for Single Sign On type: string example: http://localhost:8080/auth/realms/master/protocol/saml certificate: description: The X509 certificate used to validate requests type: string example: 'MIIE/zCCBGgCAg4CMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw ODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs ZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I nrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa e7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr fSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf epfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2 SfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC IQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR 69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa /KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv w8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S fIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef 0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4 FzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn nf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz cPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP IOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf HTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9 /Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD gYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC JGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9 3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q= ' signOutUrl: description: Which URL to use for Single Sign Out type: string example: http://localhost:8080/auth/realms/master/protocol/saml spCertificate: description: Signing certificate for sign out requests type: string example: 'MIIE/zCCBGgCAg4CMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw ODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs ZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I nrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa e7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr fSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf epfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2 SfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC IQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR 69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa /KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv w8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S fIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef 0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4 FzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn nf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz cPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP IOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf HTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9 /Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD gYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC JGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9 3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q= ' autoCreate: description: Should Unleash create users based on the emails coming back in the authentication reply from the SAML server type: boolean example: true emailDomains: description: A comma separated list of email domains that Unleash will auto create user accounts for. type: string example: getunleash.io,unleash-hosted.com defaultRootRole: description: Assign this root role to auto created users type: string enum: - Viewer - Editor - Admin example: Editor defaultRootRoleId: description: Assign this root role to auto created users. Should be a role ID and takes precedence over `defaultRootRole`. type: number example: 2 enableGroupSyncing: description: Should we enable group syncing. Refer to the documentation [Group syncing](https://docs.getunleash.io/guides/how-to-set-up-group-sso-sync) type: boolean example: false groupJsonPath: description: Specifies the path in the SAML token response from which to read the groups the user belongs to. type: string example: groups changeRequestCreateSchema: type: object description: Data used to create a [change request](https://docs.getunleash.io/concepts/change-requests) for a single feature or segment change. oneOf: - type: object required: - payload - action properties: action: type: string enum: - updateSegment description: The name of this action. payload: required: - id $ref: '#/components/schemas/upsertSegmentSchema' type: object properties: id: type: integer description: The ID of the segment to update. example: 1 - type: object required: - payload - action properties: action: type: string enum: - deleteSegment description: The name of this action. payload: required: - id type: object description: Required data to delete a segment. properties: id: type: integer description: The ID of the segment to delete. example: 1 - type: object description: Update the enabled state for a feature. required: - feature - payload - action properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - updateEnabled description: The name of this action. payload: required: - enabled type: object properties: enabled: type: boolean example: true description: The new state of the feature. shouldActivateDisabledStrategies: type: boolean example: true description: Only relevant when ALL the strategies are disabled. If `true`, all the disabled strategies will be enabled. If `false`, the default strategy will be added - type: object required: - feature - payload - action description: Add a strategy to the feature properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addStrategy description: The name of this action. payload: required: - constraints - parameters - name $ref: '#/components/schemas/createFeatureStrategySchema' type: object - type: object required: - feature - payload - action description: Update a strategy belonging to this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - updateStrategy description: The name of this action. payload: required: - id $ref: '#/components/schemas/updateFeatureStrategySchema' type: object properties: id: type: string example: 0103487d-8788-4cda-af59-0a68642dbc5a description: The ID of the strategy to update. - type: object required: - feature - payload - action description: Delete a strategy from this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteStrategy description: The name of this action. payload: required: - id type: object properties: id: type: string example: 0103487d-8788-4cda-af59-0a68642dbc5a description: The ID of the strategy to update. - type: object required: - feature - action description: Archive a feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - archiveFeature description: The name of this action. - type: object required: - feature - payload - action description: Update variants for this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - patchVariant description: The name of this action. payload: type: object required: - variants properties: variants: type: array items: $ref: '#/components/schemas/variantSchema' - type: object required: - feature - payload - action description: Reorder strategies for this feature properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - reorderStrategy description: The name of this action. payload: $ref: '#/components/schemas/setStrategySortOrderSchema' - type: object required: - feature - payload - action description: Add a parent feature dependency. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addDependency description: The name of this action. payload: $ref: '#/components/schemas/createDependentFeatureSchema' type: object - type: object required: - feature - action description: Remove a parent feature dependency or all dependencies if no payload. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteDependency description: The name of this action. - type: object required: - feature - payload - action description: Add a release plan to this feature environment. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addReleasePlan description: The name of this action. payload: $ref: '#/components/schemas/releasePlanTemplateIdSchema' type: object - type: object required: - feature - payload - action description: Start milestone of feature environment release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - startMilestone description: The name of this action. payload: type: object required: - milestoneId - planId description: The ID of the release plan and which of its milestones to start. properties: milestoneId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the milestone to start. This ID is an ulid planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid - type: object required: - feature - payload - action description: Remove a release plan from feature environment. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteReleasePlan description: The name of this action. payload: type: object required: - planId description: The Id of the release plan to remove. properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The Id of the release plan. This id is an ulid - type: object required: - feature - payload - action description: Create or update milestone progression from one milestone to another. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - changeMilestoneProgression description: The name of this action. payload: type: object required: - sourceMilestone - targetMilestone - transitionCondition properties: sourceMilestone: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the source milestone targetMilestone: type: string example: 11K7NXD655W7R89659K58RE07B description: The ID of the target milestone transitionCondition: $ref: '#/components/schemas/transitionConditionSchema' description: The condition configuration for the transition - type: object required: - feature - payload - action description: Delete milestone progression. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteMilestoneProgression description: The name of this action. payload: type: object required: - sourceMilestone properties: sourceMilestone: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the source milestone with progression to delete. - type: object required: - feature - payload - action description: Resume paused milestone progressions for a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - resumeMilestoneProgression description: The name of this action. payload: type: object required: - planId properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The release plan's unique identifier (ULID format) - type: object required: - feature - payload - action description: Create or update a safeguard for a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - changeSafeguard description: The name of this action. payload: type: object required: - planId - safeguard properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid safeguard: $ref: '#/components/schemas/createSafeguardSchema' - type: object required: - feature - payload - action description: Delete a safeguard from a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteSafeguard description: The name of this action. payload: type: object required: - planId - safeguardId properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid safeguardId: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the safeguard to delete. changeRequestOneOrManyCreateSchema: description: Either a single change or a list of changes to create a change request from. oneOf: - type: object required: - payload - action properties: action: type: string enum: - updateSegment description: The name of this action. payload: required: - id $ref: '#/components/schemas/upsertSegmentSchema' type: object properties: id: type: integer description: The ID of the segment to update. example: 1 - type: object required: - payload - action properties: action: type: string enum: - deleteSegment description: The name of this action. payload: required: - id type: object description: Required data to delete a segment. properties: id: type: integer description: The ID of the segment to delete. example: 1 - type: object description: Update the enabled state for a feature. required: - feature - payload - action properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - updateEnabled description: The name of this action. payload: required: - enabled type: object properties: enabled: type: boolean example: true description: The new state of the feature. shouldActivateDisabledStrategies: type: boolean example: true description: Only relevant when ALL the strategies are disabled. If `true`, all the disabled strategies will be enabled. If `false`, the default strategy will be added - type: object required: - feature - payload - action description: Add a strategy to the feature properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addStrategy description: The name of this action. payload: required: - constraints - parameters - name $ref: '#/components/schemas/createFeatureStrategySchema' type: object - type: object required: - feature - payload - action description: Update a strategy belonging to this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - updateStrategy description: The name of this action. payload: required: - id $ref: '#/components/schemas/updateFeatureStrategySchema' type: object properties: id: type: string example: 0103487d-8788-4cda-af59-0a68642dbc5a description: The ID of the strategy to update. - type: object required: - feature - payload - action description: Delete a strategy from this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteStrategy description: The name of this action. payload: required: - id type: object properties: id: type: string example: 0103487d-8788-4cda-af59-0a68642dbc5a description: The ID of the strategy to update. - type: object required: - feature - action description: Archive a feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - archiveFeature description: The name of this action. - type: object required: - feature - payload - action description: Update variants for this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - patchVariant description: The name of this action. payload: type: object required: - variants properties: variants: type: array items: $ref: '#/components/schemas/variantSchema' - type: object required: - feature - payload - action description: Reorder strategies for this feature properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - reorderStrategy description: The name of this action. payload: $ref: '#/components/schemas/setStrategySortOrderSchema' - type: object required: - feature - payload - action description: Add a parent feature dependency. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addDependency description: The name of this action. payload: $ref: '#/components/schemas/createDependentFeatureSchema' type: object - type: object required: - feature - action description: Remove a parent feature dependency or all dependencies if no payload. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteDependency description: The name of this action. - type: object required: - feature - payload - action description: Add a release plan to this feature environment. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addReleasePlan description: The name of this action. payload: $ref: '#/components/schemas/releasePlanTemplateIdSchema' type: object - type: object required: - feature - payload - action description: Start milestone of feature environment release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - startMilestone description: The name of this action. payload: type: object required: - milestoneId - planId description: The ID of the release plan and which of its milestones to start. properties: milestoneId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the milestone to start. This ID is an ulid planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid - type: object required: - feature - payload - action description: Remove a release plan from feature environment. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteReleasePlan description: The name of this action. payload: type: object required: - planId description: The Id of the release plan to remove. properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The Id of the release plan. This id is an ulid - type: object required: - feature - payload - action description: Create or update milestone progression from one milestone to another. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - changeMilestoneProgression description: The name of this action. payload: type: object required: - sourceMilestone - targetMilestone - transitionCondition properties: sourceMilestone: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the source milestone targetMilestone: type: string example: 11K7NXD655W7R89659K58RE07B description: The ID of the target milestone transitionCondition: $ref: '#/components/schemas/transitionConditionSchema' description: The condition configuration for the transition - type: object required: - feature - payload - action description: Delete milestone progression. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteMilestoneProgression description: The name of this action. payload: type: object required: - sourceMilestone properties: sourceMilestone: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the source milestone with progression to delete. - type: object required: - feature - payload - action description: Resume paused milestone progressions for a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - resumeMilestoneProgression description: The name of this action. payload: type: object required: - planId properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The release plan's unique identifier (ULID format) - type: object required: - feature - payload - action description: Create or update a safeguard for a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - changeSafeguard description: The name of this action. payload: type: object required: - planId - safeguard properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid safeguard: $ref: '#/components/schemas/createSafeguardSchema' - type: object required: - feature - payload - action description: Delete a safeguard from a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteSafeguard description: The name of this action. payload: type: object required: - planId - safeguardId properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid safeguardId: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the safeguard to delete. - type: array items: $ref: '#/components/schemas/changeRequestCreateSchema' changeRequestFeatureSchema: additionalProperties: false description: A feature and all its suggested changes. type: object required: - name - changes properties: name: type: string example: my-feature description: The name of the feature conflict: type: string example: Feature has been archived description: A string describing the conflicts related to this change. Only present if there are any concflicts on the feature level. changes: type: array description: List of changes inside change request. This list may be empty when listing all change requests for a project. items: $ref: '#/components/schemas/changeRequestChangeSchema' defaultChange: $ref: '#/components/schemas/changeRequestDefaultChangeSchema' changeRequestCreateFeatureSchema: type: object description: Data used to create a [change request](https://docs.getunleash.io/concepts/change-requests) for a single feature change. oneOf: - type: object description: Update the enabled state for a feature. required: - feature - payload - action properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - updateEnabled description: The name of this action. payload: required: - enabled type: object properties: enabled: type: boolean example: true description: The new state of the feature. shouldActivateDisabledStrategies: type: boolean example: true description: Only relevant when ALL the strategies are disabled. If `true`, all the disabled strategies will be enabled. If `false`, the default strategy will be added - type: object required: - feature - payload - action description: Add a strategy to the feature properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addStrategy description: The name of this action. payload: required: - constraints - parameters - name $ref: '#/components/schemas/createFeatureStrategySchema' type: object - type: object required: - feature - payload - action description: Update a strategy belonging to this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - updateStrategy description: The name of this action. payload: required: - id $ref: '#/components/schemas/updateFeatureStrategySchema' type: object properties: id: type: string example: 0103487d-8788-4cda-af59-0a68642dbc5a description: The ID of the strategy to update. - type: object required: - feature - payload - action description: Delete a strategy from this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteStrategy description: The name of this action. payload: required: - id type: object properties: id: type: string example: 0103487d-8788-4cda-af59-0a68642dbc5a description: The ID of the strategy to update. - type: object required: - feature - action description: Archive a feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - archiveFeature description: The name of this action. - type: object required: - feature - payload - action description: Update variants for this feature. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - patchVariant description: The name of this action. payload: type: object required: - variants properties: variants: type: array items: $ref: '#/components/schemas/variantSchema' - type: object required: - feature - payload - action description: Reorder strategies for this feature properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - reorderStrategy description: The name of this action. payload: $ref: '#/components/schemas/setStrategySortOrderSchema' - type: object required: - feature - payload - action description: Add a parent feature dependency. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addDependency description: The name of this action. payload: $ref: '#/components/schemas/createDependentFeatureSchema' type: object - type: object required: - feature - action description: Remove a parent feature dependency or all dependencies if no payload. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteDependency description: The name of this action. - type: object required: - feature - payload - action description: Add a release plan to this feature environment. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - addReleasePlan description: The name of this action. payload: $ref: '#/components/schemas/releasePlanTemplateIdSchema' type: object - type: object required: - feature - payload - action description: Start milestone of feature environment release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - startMilestone description: The name of this action. payload: type: object required: - milestoneId - planId description: The ID of the release plan and which of its milestones to start. properties: milestoneId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the milestone to start. This ID is an ulid planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid - type: object required: - feature - payload - action description: Remove a release plan from feature environment. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteReleasePlan description: The name of this action. payload: type: object required: - planId description: The Id of the release plan to remove. properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The Id of the release plan. This id is an ulid - type: object required: - feature - payload - action description: Create or update milestone progression from one milestone to another. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - changeMilestoneProgression description: The name of this action. payload: type: object required: - sourceMilestone - targetMilestone - transitionCondition properties: sourceMilestone: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the source milestone targetMilestone: type: string example: 11K7NXD655W7R89659K58RE07B description: The ID of the target milestone transitionCondition: $ref: '#/components/schemas/transitionConditionSchema' description: The condition configuration for the transition - type: object required: - feature - payload - action description: Delete milestone progression. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteMilestoneProgression description: The name of this action. payload: type: object required: - sourceMilestone properties: sourceMilestone: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the source milestone with progression to delete. - type: object required: - feature - payload - action description: Resume paused milestone progressions for a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - resumeMilestoneProgression description: The name of this action. payload: type: object required: - planId properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The release plan's unique identifier (ULID format) - type: object required: - feature - payload - action description: Create or update a safeguard for a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - changeSafeguard description: The name of this action. payload: type: object required: - planId - safeguard properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid safeguard: $ref: '#/components/schemas/createSafeguardSchema' - type: object required: - feature - payload - action description: Delete a safeguard from a release plan. properties: feature: type: string example: my-best-feature description: The name of the feature that this change applies to. action: type: string enum: - deleteSafeguard description: The name of this action. payload: type: object required: - planId - safeguardId properties: planId: type: string example: 01JB9GGTGQYEQ9D40R17T3YVW3 description: The ID of the release plan. This ID is an ulid safeguardId: type: string example: 01K7NXD655W7R89659K58RE07A description: The ID of the safeguard to delete. changeRequestCreateSegmentSchema: type: object description: Data used to create a [change request](https://docs.getunleash.io/concepts/change-requests) for a single segment change. oneOf: - type: object required: - payload - action properties: action: type: string enum: - updateSegment description: The name of this action. payload: required: - id $ref: '#/components/schemas/upsertSegmentSchema' type: object properties: id: type: integer description: The ID of the segment to update. example: 1 - type: object required: - payload - action properties: action: type: string enum: - deleteSegment description: The name of this action. payload: required: - id type: object description: Required data to delete a segment. properties: id: type: integer description: The ID of the segment to delete. example: 1 changeRequestApprovalSchema: additionalProperties: false type: object description: Information about a [change request](https://docs.getunleash.io/concepts/change-requests) approval. required: - createdBy - createdAt properties: createdBy: type: object description: Information about the user who gave this approval. properties: id: type: number example: 33 description: The ID of the user who gave this approval. username: type: string example: unleash-user description: The approving user's username. imageUrl: type: string format: uri description: The URL where the user's image can be found. createdAt: type: string format: date-time example: '2022-12-12T12:13:24.218Z' description: When the approval was given. changeRequestConfigSchema: type: array description: A list of environment-specific [change request](https://docs.getunleash.io/concepts/change-requests) configurations. items: $ref: '#/components/schemas/changeRequestEnvironmentConfigSchema' changeRequestEnvironmentConfigSchema: additionalProperties: false description: The [change request](https://docs.getunleash.io/concepts/change-requests) configuration for a specific environment. type: object required: - environment - type - changeRequestEnabled - requiredApprovals properties: environment: type: string example: my-dev-environment description: The environment that this configuration applies to. type: type: string example: development description: The [type of the environment](https://docs.getunleash.io/concepts/environments#environment-types) listed in `environment`. changeRequestEnabled: type: boolean description: '`true` if this environment has change requests enabled, otherwise `false`.' example: true requiredApprovals: type: number nullable: true example: 2 description: The number of approvals that are required for a change request to be fully approved and ready to be applied in this environment. changeRequestAddCommentSchema: additionalProperties: false type: object description: Data used to add a comment to a [change request](https://docs.getunleash.io/concepts/change-requests). required: - text properties: text: type: string example: This is a comment description: The content of the comment. changeRequestCommentSchema: additionalProperties: false type: object description: A comment belonging to a [change request](https://docs.getunleash.io/concepts/change-requests). required: - text - createdBy - createdAt properties: id: type: number example: 33 description: The comment's ID. Unique per change request. text: type: string example: This is a comment description: The content of the comment. createdBy: type: object description: Information about the user who posted the comment properties: username: type: string nullable: true example: unleash-user description: The user's username. imageUrl: type: string nullable: true format: uri description: The URL where the user's image can be found. createdAt: type: string format: date-time example: '2022-12-12T12:13:24.218Z' description: When the comment was made. updateChangeRequestEnvironmentConfigSchema: type: object description: Data used to update change request in an environment required: - changeRequestsEnabled properties: changeRequestsEnabled: type: boolean description: '`true` if change requests should be enabled, otherwise `false`.' requiredApprovals: type: integer description: The number of approvals required before a change request can be applied in this environment. minimum: 0 example: 3 changeRequestChangeSchema: type: object additionalProperties: false description: A change request change, containing info about the type of change and the specific changes. required: - id - action properties: id: type: number example: 33 description: The ID of this change. action: type: string example: updateStrategy description: The kind of action that the change contains information about. conflict: type: string example: Strategy has been deleted description: A description of the conflict caused by this change. Only present if there are any conflicts. payload: description: The data required to perform this action. oneOf: - type: string - type: boolean - type: object - type: number - $ref: '#/components/schemas/setStrategySortOrderSchema' createdBy: type: object description: The user who created this change. properties: username: type: string nullable: true description: The user's username. imageUrl: type: string nullable: true format: uri description: The URL where the user's image can be found. createdAt: description: When this change was suggested type: string format: date-time example: '2023-07-31T13:22:03+02:00' scheduleConflicts: description: Information about scheduled change requests that would casue conflicts with this change if applied. type: object required: - changeRequests properties: changeRequests: type: array description: The list of scheduled change requests that would cause conflict with this change. items: type: object required: - id properties: id: type: number description: The ID of the change request. title: type: string description: The title of the change request, if any. Only present if there is a title. changeRequestSegmentChangeSchema: type: object additionalProperties: false description: A change request segment change, containing info about the type of segment change and the specific changes. required: - id - action - payload - name properties: id: type: number example: 33 description: The ID of this change. action: type: string example: updateStrategy description: The kind of action that the change contains information about. conflict: type: string example: Strategy has been deleted description: A description of the conflict caused by this change. Only present if there are any conflicts. payload: description: The data required to perform this action. oneOf: - type: string - type: boolean - type: object - type: number - $ref: '#/components/schemas/setStrategySortOrderSchema' createdBy: type: object description: The user who created this change. properties: username: type: string nullable: true description: The user's username. imageUrl: type: string nullable: true format: uri description: The URL where the user's image can be found. createdAt: description: When this change was suggested type: string format: date-time example: '2023-07-31T13:22:03+02:00' scheduleConflicts: description: Information about scheduled change requests that would casue conflicts with this change if applied. type: object required: - changeRequests properties: changeRequests: type: array description: The list of scheduled change requests that would cause conflict with this change. items: type: object required: - id properties: id: type: number description: The ID of the change request. title: type: string description: The title of the change request, if any. Only present if there is a title. name: type: string example: beta-users description: The current name of the segment changeRequestSetApproversSchema: type: object required: - reviewers description: Data used to update a [change request](https://docs.getunleash.io/concepts/change-requests)'s requested approvers. properties: reviewers: type: array description: An array of user ids to request approval from. This will replace the current approvers. items: type: number description: The ids of users to request approval from. example: 1 changeRequestDefaultChangeSchema: type: object description: 'A description of a default change that will be applied with the change request to prevent invalid states. Default changes are changes that are applied in addition to explicit user-specified changes when a change request is applied. Any default changes are applied in the background and are not a real part of the change request.' additionalProperties: false required: - action - payload properties: action: type: string example: addStrategy description: The kind of action this is. payload: type: object description: The necessary data to perform this change. x-enforcer-exception-skip-codes: WSCH006 example: name: flexibleRollout title: '' disabled: false segments: [] parameters: groupId: my-feature rollout: '100' stickiness: default constraints: - values: - ux inverted: false operator: STR_CONTAINS contextName: userId caseInsensitive: false changeRequestSchema: type: object description: A [change request](https://docs.getunleash.io/concepts/change-requests) oneOf: - required: - id - environment - state - minApprovals - project - features - segments - createdAt - createdBy - stateTimestamps additionalProperties: false properties: id: type: number example: 3 description: This change requests's ID. title: type: string example: Increasing gradual rollout description: A title describing the change request's content. environment: type: string example: development description: The environment in which the changes should be applied. minApprovals: type: number example: 2 description: The minimum number of approvals required before this change request can be applied. project: type: string example: unleash-project description: The project this change request belongs to. features: type: array description: The list of features and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestFeatureSchema' segments: type: array description: The list of segments and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestSegmentChangeSchema' approvals: type: array description: A list of approvals that this change request has received. items: $ref: '#/components/schemas/changeRequestApprovalSchema' rejections: type: array description: 'A list of rejections that this change request has received. ' items: $ref: '#/components/schemas/changeRequestApprovalSchema' comments: type: array description: All comments that have been made on this change request. items: $ref: '#/components/schemas/changeRequestCommentSchema' createdBy: description: The user who created this change request. type: object properties: username: type: string nullable: true example: Hunter imageUrl: type: string format: uri nullable: true description: The URL of the user's profile image. createdAt: description: When this change request was created. type: string format: date-time example: '2023-07-31T13:33:02Z' stateTimestamps: type: object description: A mapping of each state this change request has entered to the most recent time when it entered that state. If a change request has entered the same state multiple times, only the most recent timestamp will be included. additionalProperties: type: string format: date-time example: '2023-08-01T10:15:30Z' example: Draft: '2023-07-31T13:33:02Z' In review: '2023-08-01T10:15:30Z' Approved: '2023-08-02T09:01:00Z' state: type: string enum: - Draft - In review - Approved - Applied - Cancelled - Rejected description: The current state of the change request. - required: - id - environment - state - minApprovals - project - features - segments - createdAt - createdBy - stateTimestamps - schedule additionalProperties: false properties: id: type: number example: 3 description: This change requests's ID. title: type: string example: Increasing gradual rollout description: A title describing the change request's content. environment: type: string example: development description: The environment in which the changes should be applied. minApprovals: type: number example: 2 description: The minimum number of approvals required before this change request can be applied. project: type: string example: unleash-project description: The project this change request belongs to. features: type: array description: The list of features and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestFeatureSchema' segments: type: array description: The list of segments and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestSegmentChangeSchema' approvals: type: array description: A list of approvals that this change request has received. items: $ref: '#/components/schemas/changeRequestApprovalSchema' rejections: type: array description: 'A list of rejections that this change request has received. ' items: $ref: '#/components/schemas/changeRequestApprovalSchema' comments: type: array description: All comments that have been made on this change request. items: $ref: '#/components/schemas/changeRequestCommentSchema' createdBy: description: The user who created this change request. type: object properties: username: type: string nullable: true example: Hunter imageUrl: type: string format: uri nullable: true description: The URL of the user's profile image. createdAt: description: When this change request was created. type: string format: date-time example: '2023-07-31T13:33:02Z' stateTimestamps: type: object description: A mapping of each state this change request has entered to the most recent time when it entered that state. If a change request has entered the same state multiple times, only the most recent timestamp will be included. additionalProperties: type: string format: date-time example: '2023-08-01T10:15:30Z' example: Draft: '2023-07-31T13:33:02Z' In review: '2023-08-01T10:15:30Z' Approved: '2023-08-02T09:01:00Z' state: type: string enum: - Scheduled description: The current state of the change request. schedule: $ref: '#/components/schemas/changeRequestScheduleSchema' changeRequestSearchResponseSchema: type: object description: Response containing a list of change requests and total count. required: - changeRequests - total additionalProperties: false properties: changeRequests: type: array description: List of change requests matching the search criteria. items: $ref: '#/components/schemas/changeRequestSearchItemSchema' total: type: number description: Total number of change requests matching the search criteria. example: 42 changeRequestSearchItemSchema: type: object description: A single change request item in search results. oneOf: - required: - id - environment - project - createdBy - createdAt - features - segments - state additionalProperties: false properties: id: type: number description: Unique identifier for the change request. example: 1368 title: type: string description: Title of the change request. Only present if a custom title is set for this change request. example: Increase rollout to 65% environment: type: string description: Environment where the change request applies. example: production project: type: string description: Project ID where the change request belongs. example: dx createdBy: type: object description: User who created the change request. required: - id additionalProperties: false properties: id: type: number description: Unique identifier of the user. example: 42 username: type: string description: Username of the user. example: Tymek Czech imageUrl: type: string format: uri description: Avatar image URL for the user. example: https://gravatar.com/avatar/8f5a1ce5f210eb56f8d9a2ba1a5940c224c916d5e91159d4036fb46cc6d059dd?s=42&d=retro&r=g createdAt: type: string format: date-time description: Date and time when the change request was created. example: '2025-04-30T13:04:48.482Z' features: type: array description: List of feature names affected by this change request. items: type: string example: - feature-a - feature-b segments: type: array description: List of segment names affected by this change request. items: type: string example: - segment-a - segment-b state: type: string description: The current state of the change request. enum: - Draft - Approved - In review - Applied - Rejected - Cancelled example: Applied - required: - id - environment - project - createdBy - createdAt - features - segments - state - schedule additionalProperties: false properties: id: type: number description: Unique identifier for the change request. example: 1368 title: type: string description: Title of the change request. Only present if a custom title is set for this change request. example: Increase rollout to 65% environment: type: string description: Environment where the change request applies. example: production project: type: string description: Project ID where the change request belongs. example: dx createdBy: type: object description: User who created the change request. required: - id additionalProperties: false properties: id: type: number description: Unique identifier of the user. example: 42 username: type: string description: Username of the user. example: Tymek Czech imageUrl: type: string format: uri description: Avatar image URL for the user. example: https://gravatar.com/avatar/8f5a1ce5f210eb56f8d9a2ba1a5940c224c916d5e91159d4036fb46cc6d059dd?s=42&d=retro&r=g createdAt: type: string format: date-time description: Date and time when the change request was created. example: '2025-04-30T13:04:48.482Z' features: type: array description: List of feature names affected by this change request. items: type: string example: - feature-a - feature-b segments: type: array description: List of segment names affected by this change request. items: type: string example: - segment-a - segment-b state: type: string description: The current state of the change request. enum: - Scheduled example: Scheduled schedule: $ref: '#/components/schemas/changeRequestScheduleSchema' changeRequestsCountSchema: type: object additionalProperties: false required: - total - applied - rejected - reviewRequired - approved - scheduled description: Count of change requests in different stages of the [process](https://docs.getunleash.io/concepts/change-requests#change-request-flow). properties: total: type: number description: The number of total change requests in this project example: 10 applied: type: number description: The number of applied change requests example: 5 rejected: type: number description: The number of rejected change requests example: 2 reviewRequired: type: number description: The number of change requests awaiting the review example: 2 approved: type: number description: The number of approved change requests example: 1 scheduled: type: number description: The number of scheduled change requests example: 1 changeRequestsSchema: type: array description: A list of change requests items: type: object description: A simplified change request overview oneOf: - required: - id - environment - state - project - features - segments - createdAt - createdBy additionalProperties: false properties: id: type: number example: 3 description: This change requests's ID. title: type: string example: Increasing gradual rollout description: A title describing the change request's content. environment: type: string example: development description: The environment in which the changes should be applied. minApprovals: type: number example: 2 description: The minimum number of approvals required before this change request can be applied. deprecated: true project: type: string example: unleash-project description: The project this change request belongs to. features: type: array description: The list of features and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestFeatureSchema' segments: type: array description: The list of segments and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestSegmentChangeSchema' approvals: type: array description: A list of approvals that this change request has received. items: $ref: '#/components/schemas/changeRequestApprovalSchema' deprecated: true rejections: type: array description: 'A list of rejections that this change request has received. ' items: $ref: '#/components/schemas/changeRequestApprovalSchema' deprecated: true comments: type: array description: All comments that have been made on this change request. items: $ref: '#/components/schemas/changeRequestCommentSchema' deprecated: true createdBy: description: The user who created this change request. type: object properties: username: type: string nullable: true example: Hunter imageUrl: type: string format: uri nullable: true description: The URL of the user's profile image. createdAt: description: When this change request was created. type: string format: date-time example: '2023-07-31T13:33:02Z' state: type: string enum: - Draft - In review - Approved - Applied - Cancelled - Rejected description: The current state of the change request. - required: - id - environment - state - project - features - segments - createdAt - createdBy - schedule additionalProperties: false properties: id: type: number example: 3 description: This change requests's ID. title: type: string example: Increasing gradual rollout description: A title describing the change request's content. environment: type: string example: development description: The environment in which the changes should be applied. minApprovals: type: number example: 2 description: The minimum number of approvals required before this change request can be applied. deprecated: true project: type: string example: unleash-project description: The project this change request belongs to. features: type: array description: The list of features and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestFeatureSchema' segments: type: array description: The list of segments and their changes that relate to this change request. items: $ref: '#/components/schemas/changeRequestSegmentChangeSchema' approvals: type: array description: A list of approvals that this change request has received. items: $ref: '#/components/schemas/changeRequestApprovalSchema' deprecated: true rejections: type: array description: 'A list of rejections that this change request has received. ' items: $ref: '#/components/schemas/changeRequestApprovalSchema' deprecated: true comments: type: array description: All comments that have been made on this change request. items: $ref: '#/components/schemas/changeRequestCommentSchema' deprecated: true createdBy: description: The user who created this change request. type: object properties: username: type: string nullable: true example: Hunter imageUrl: type: string format: uri nullable: true description: The URL of the user's profile image. createdAt: description: When this change request was created. type: string format: date-time example: '2023-07-31T13:33:02Z' state: type: string enum: - Scheduled description: The current state of the change request. schedule: $ref: '#/components/schemas/changeRequestScheduleSchema' changeRequestScheduleSchema: description: A schedule for a change request's application. The schedule can either be pending, failed, or suspended. The schedule will always contain the state of the schedule and the last scheduled time, but other data varies between the different states. type: object oneOf: - required: - scheduledAt - status additionalProperties: false description: A pending schedule for a change request. properties: scheduledAt: description: When this change request will be applied. type: string format: date-time example: '2023-07-31T13:33:02Z' status: description: The status of the schedule. type: string enum: - pending example: pending - required: - scheduledAt - status - reason additionalProperties: false description: A failed schedule for a change request. properties: scheduledAt: description: When Unleash last attempted to apply this change request. type: string format: date-time example: '2023-07-31T13:33:02Z' status: description: The status of the schedule. type: string enum: - failed example: failed reason: description: The reason the scheduled failed to apply. type: string example: conflicts failureReason: deprecated: true description: The reason the scheduled failed to apply. Deprecated in favor of the `reason` property. type: string nullable: true example: conflicts - required: - scheduledAt - status - reason additionalProperties: false description: A suspended schedule for a change request. properties: scheduledAt: description: When Unleash would have attempted to apply this change request if the schedule was not suspended. type: string format: date-time example: '2023-07-31T13:33:02Z' status: description: The status of the schedule. type: string enum: - suspended example: suspended reason: description: Why the schedule was suspended. type: string example: 'The user who scheduled this change request (user id: 123) has been deleted from this Unleash instance.' changeRequestUpdateTitleSchema: type: object description: Data used to update a [change request](https://docs.getunleash.io/concepts/change-requests)'s title. required: - title properties: title: type: string example: Increasing gradual rollout description: The new title to use for this change request. scheduledChangeRequestViewModelSchema: type: object additionalProperties: false required: - id - environment description: A change request view model, used in the UI to identify change requests in conflict properties: id: type: number description: The change request id example: 1 environment: type: string description: The environment of the change request example: production title: type: string description: The change request title example: My awesome change changeRequestScheduledQueryParamsSchema: type: object description: Query parameters used to modify the list of scheduled change requests returned. For each parameter you add, the list will add any scheduled change requests matching that parameter. properties: feature: oneOf: - type: array items: type: string example: - myFeature1 - myFeature2 - type: string example: myFeature description: The name of one or more feature flags. strategyId: oneOf: - type: array items: type: string example: - 976ecee6-7629-4d5d-96dd-859c2cb15b89 - type: string example: 976ecee6-7629-4d5d-96dd-859c2cb15b89 description: One or more strategy IDs. variantForFlag: oneOf: - type: array items: type: string example: - MyFeature1 - MyFeature2 - type: string example: MyFeature1 description: One or more features whose variants have been changed in a scheduled change request. This applies to flag-level variants. For changes to strategy variants, use the `strategyId` query parameter with the relevant strategy's ID. changeRequestScheduledResultSchema: description: A list of scheduled change request view models type: array items: $ref: '#/components/schemas/scheduledChangeRequestViewModelSchema' updateEnvironmentSchema: type: object description: Data used to update an [environment](https://docs.getunleash.io/concepts/environments). properties: type: type: string description: Updates the type of environment (i.e. development or production). sortOrder: type: integer description: Changes the sort order of this environment. requiredApprovals: type: integer description: Experimental field. The number of approvals required before a change request can be applied in this environment. minimum: 1 example: 3 nullable: true updateProjectSchema: type: object description: Data used to update a [project](https://docs.getunleash.io/concepts/projects) required: - name properties: name: description: The new name of the project. The name must contain at least one non-whitespace character. type: string pattern: ^(?!\s*$).+ example: my-renamed-project description: type: string description: A new description for the project example: Anything related to the new UI mode: type: string enum: - open - protected - private example: open description: A mode of the project affecting what actions are possible in this project defaultStickiness: type: string example: userId description: A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy updateProjectEnterpriseSettingsSchema: type: object description: Data used to update a [project](https://docs.getunleash.io/concepts/projects) settings properties: mode: type: string enum: - open - protected - private example: open description: A mode of the project affecting what actions are possible in this project featureNaming: $ref: '#/components/schemas/createFeatureNamingPatternSchema' linkTemplates: type: array description: A list of link templates that can be automatically added to new feature flags. items: $ref: '#/components/schemas/projectLinkTemplateSchema' userWithProjectRoleSchema: type: object description: Data about a user including their project role required: - id properties: isAPI: type: boolean description: Whether this user is authenticated through Unleash tokens or logged in with a session deprecated: true example: false name: type: string description: The name of the user example: Hunter Burgan email: type: string nullable: true description: The user's email address example: hunter@hunter.com id: type: integer minimum: 0 description: The user's ID in the Unleash system example: 1 imageUrl: type: string nullable: true format: uri description: A URL pointing to the user's image. addedAt: type: string description: When this user was added to the project format: date-time example: '2023-08-01T14:35:16Z' roleId: description: The ID of the role this user has in the given project type: integer minimum: 0 example: 5 roles: type: array description: A list of roles this user has in the given project items: type: integer minimum: 0 example: 5 groupWithProjectRoleSchema: type: object description: Data about a group including their project role additionalProperties: false required: - id properties: name: type: string description: The name of the group example: DX team id: type: integer minimum: 0 description: The group's ID in the Unleash system example: 1 addedAt: type: string description: When this group was added to the project format: date-time example: '2023-08-01T14:35:16Z' roleId: description: The ID of the role this group has in the given project type: integer minimum: 0 example: 5 roles: type: array description: A list of roles this user has in the given project items: type: integer minimum: 0 example: 5 description: description: A custom description of the group type: string nullable: true example: Current members of the DX squad mappingsSSO: description: A list of SSO groups that should map to this Unleash group type: array items: type: string example: - SSOGroup1 - SSOGroup2 rootRole: type: number nullable: true description: A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. example: 1 createdBy: description: A user who created this group type: string nullable: true example: admin createdAt: description: When was this group created type: string format: date-time nullable: true example: '2023-06-30T11:41:00.123Z' users: type: array description: A list of users belonging to this group items: $ref: '#/components/schemas/groupUserModelSchema' scimId: description: The SCIM ID of the group, only present if managed by SCIM type: string nullable: true example: 01HTMEXAMPLESCIMID7SWWGHN7 validateProjectSchema: type: object description: Data used to validate a project ID required: - id properties: id: description: The project ID to validate type: string example: new-project-id projectSettingsSchema: type: object additionalProperties: false description: Project settings for a given project required: - defaultStickiness - mode properties: defaultStickiness: type: string enum: - default - sessionId - userId - random description: The [default stickiness for this project](https://docs.getunleash.io/concepts/stickiness#project-default-stickiness) nullable: true mode: type: string enum: - open - protected nullable: true description: The project's [collaboration mode](https://docs.getunleash.io/concepts/project-collaboration-mode). changeRequestStateSchema: type: object description: Data used to update the state of a [change request](https://docs.getunleash.io/concepts/change-requests). oneOf: - required: - state properties: state: type: string enum: - Draft - In review - Approved - Applied - Cancelled - Rejected description: The new desired state for the change request comment: type: string example: This is a comment for my change request description: Any comments accompanying the state changed. Used when sending a draft to review. - required: - state - scheduledAt properties: state: type: string enum: - Scheduled description: The new desired state for the change request scheduledAt: type: string format: date-time description: The time at which the change request should be applied. comment: type: string example: This is a comment for my change request description: Any comments accompanying the state changed. Used when sending a draft to review. serviceAccountSchema: type: object additionalProperties: false required: - id description: Represents a [service account](https://docs.getunleash.io/concepts/service-accounts). Service accounts are used to let systems interact with the Unleash API. properties: id: type: number description: The service account id example: 54321 isAPI: type: boolean deprecated: true example: false description: 'Deprecated: for internal use only, should not be exposed through the API' name: type: string description: The name of the service account example: My Service Account email: type: string example: noemail@getunleash.io deprecated: true description: 'Deprecated: service accounts don''t have emails associated with them' username: type: string description: The service account username example: my-service-account imageUrl: type: string description: The service account image url example: https://example.com/my-service-account.png inviteLink: type: string deprecated: true example: https://example.com/invite-link description: 'Deprecated: service accounts cannot be invited via an invitation link' loginAttempts: type: number deprecated: true example: 0 description: 'Deprecated: service accounts cannot log in to Unleash' emailSent: type: boolean deprecated: true example: false description: 'Deprecated: internal use only' rootRole: type: integer description: The root role id associated with the service account example: 1 seenAt: type: string format: date-time example: null nullable: true deprecated: true description: Deprecated. This property is always `null`. To find out when a service account was last seen, check its `tokens` list and refer to each token's `lastSeen` property instead. createdAt: type: string format: date-time description: The service account creation date example: '2021-01-01T00:00:00.000Z' tokens: type: array description: The list of tokens associated with the service account items: $ref: '#/components/schemas/patSchema' serviceAccountsSchema: type: object additionalProperties: false required: - serviceAccounts description: Represents a list of service accounts, and includes a list of root roles they reference properties: serviceAccounts: description: A list of service accounts type: array items: $ref: '#/components/schemas/serviceAccountSchema' rootRoles: description: A list of root roles that are referenced from service account objects in the `serviceAccounts` list type: array items: $ref: '#/components/schemas/roleSchema' createServiceAccountSchema: type: object required: - username - name - rootRole description: Describes the properties required to create a new service account properties: username: type: string description: The username of the service account example: service-account-1 name: type: string description: The name of the service account example: Service Account 1 rootRole: type: integer description: The id of the root role for the service account example: 1 updateServiceAccountSchema: type: object description: Describes the properties required to update a service account additionalProperties: true properties: name: type: string description: The name of the service account example: Service Account 1 rootRole: type: integer description: The id of the root role for the service account example: 1 notificationsSchema: type: array description: A list of [notifications](https://docs.getunleash.io/concepts/notifications) items: type: object additionalProperties: false required: - id - message - link - notificationType - createdBy - createdAt - readAt properties: id: type: number example: 1 description: The id of this notification message: type: string example: Your change request got approved description: The actual notification message link: type: string example: /myunleash/projects/myproject/change-requests/46 description: The link to change request or feature flag the notification refers to notificationType: enum: - change-request - toggle description: The type of the notification used e.g. for the graphical hints createdBy: type: object additionalProperties: false properties: username: type: string example: Jane Smith description: The name of the user who triggered the notification nullable: true imageUrl: type: string example: https://gravatar.com/avatar/758f27d1f066779a62a65665242b8780107df403509a62a9e8a5924df5469f68?s=42&d=retro&r=g description: The avatar url of the user who triggered the notification nullable: true createdAt: type: string format: date-time example: '2022-12-02T13:17:12.445Z' description: The date and time when the notification was created readAt: type: string format: date-time nullable: true example: '2022-12-02T13:17:12.445Z' description: The date and time when the notification was read or marked as read, otherwise `null` markNotificationsAsReadSchema: type: object description: Data used to mark notifications as being read required: - notifications properties: notifications: type: array description: A list of IDs belonging to the notifications you want to mark as read. items: type: integer description: A notification ID minimum: 0 example: 5 loginEventSchema: description: A model representing a single login event. type: object additionalProperties: false required: - id properties: id: description: The event's ID. Event IDs are incrementing integers. In other words, a more recent event will always have a higher ID than an older event. type: integer minimum: 1 example: 13 username: description: The username of the user that attempted to log in. Will return "Incorrectly configured provider" when attempting to log in using a misconfigured provider. type: string example: admin auth_type: description: The authentication type used to log in. example: simple type: string created_at: description: The date and time of when the login was attempted. type: string format: date-time example: '2023-03-01T12:04:26.061Z' successful: description: Whether the login was successful or not. type: boolean example: true ip: description: The IP address of the client that attempted to log in. type: string nullable: true example: ::ffff:127.0.0.1 failure_reason: description: The reason for the login failure. This property is only present if the login was unsuccessful. type: string nullable: true example: No user found loginHistorySchema: description: A response model with a list of login events. type: object additionalProperties: false required: - events properties: events: type: array description: A list of login events items: $ref: '#/components/schemas/loginEventSchema' accessOverviewSchema: description: Data containing an overview of all the projects and groups users have access to type: object properties: overview: type: array description: A list of user access details items: $ref: '#/components/schemas/userAccessSchema' userAccessSchema: type: object required: - userId - userEmail - accessibleProjects - groups - rootRole additionalProperties: false description: Describes a single set of access for a user properties: userId: type: integer description: The identifier for the user example: 3 createdAt: type: string nullable: true description: When the user was created format: date-time example: '2023-03-01T12:04:26.061Z' userName: type: string nullable: true description: The name of the user example: SomeUser lastSeen: type: string format: date-time nullable: true description: The last time the user logged in example: '2023-03-01T12:04:26.061Z' accessibleProjects: description: A list of project ids that this user has access to type: array items: type: string example: - default - project2 groups: description: A list of group names that this user is a member of type: array items: type: string example: - group1 - group2 rootRole: description: The name of the root role that this user has type: string example: ADMIN userEmail: description: The email address of the user type: string example: some-user@example.com createBannerSchema: type: object required: - message description: Describes the properties required to create or update a banner. additionalProperties: false properties: message: type: string description: The message to display to all users. Supports markdown. example: '**Reminder to everyone**: Maintenance is scheduled for *2337-12-27*.' enabled: type: boolean description: Whether the banner should be displayed currently. If not specified, defaults to true. example: true variant: type: string description: The variant of the banner. One of "info", "warning", "error", or "success". If not specified, defaults to "info". example: info sticky: type: boolean description: Whether the banner should be sticky on the screen. If not specified, defaults to `false`. example: true icon: type: string description: The icon to display on the banner. Can be one of https://fonts.google.com/icons. If not specified, this will be the default icon for the variant. If "none", no icon will be displayed. example: build nullable: true link: type: string description: 'The link to display on the banner. Can either be an absolute or a relative link (e.g. absolute: "https://example.com" or relative: "/admin/service-accounts"). If "dialog", will display a dialog when clicked. If not specified, no link will be displayed.' example: dialog nullable: true linkText: type: string description: The text to display on the link. If not specified, will be displayed as "More info". example: Learn more nullable: true dialogTitle: type: string description: The title to display on the dialog. If not specified, this will be the same as `linkText`. example: Learn more about it here nullable: true dialog: type: string description: The markdown to display on the dialog. If not specified, no dialog will be displayed. example: '# Information Maintenance is **scheduled**. ## More details This is an example dialog that supports Markdown.' nullable: true bannerSchema: type: object required: - id - message - createdAt description: An object describing a banner to be displayed to all users. additionalProperties: false properties: id: type: integer description: The banner's ID. Banner IDs are incrementing integers. In other words, a more recently created banner will always have a higher ID than an older one. minimum: 1 example: 7 message: type: string description: The message to display to all users. Supports markdown. example: '**Reminder to everyone**: Maintenance is scheduled for *2337-12-27*.' enabled: type: boolean description: Whether the banner should be displayed currently. If not specified, defaults to true. example: true variant: type: string description: The variant of the banner. One of "info", "warning", "error", or "success". If not specified, defaults to "info". example: info sticky: type: boolean description: Whether the banner should be sticky on the screen. If not specified, defaults to `false`. example: true icon: type: string description: The icon to display on the banner. Can be one of https://fonts.google.com/icons. If not specified, this will be the default icon for the variant. If "none", no icon will be displayed. example: build nullable: true link: type: string description: 'The link to display on the banner. Can either be an absolute or a relative link (e.g. absolute: "https://example.com" or relative: "/admin/service-accounts"). If "dialog", will display a dialog when clicked. If not specified, no link will be displayed.' example: dialog nullable: true linkText: type: string description: The text to display on the link. If not specified, will be displayed as "More info". example: Learn more nullable: true dialogTitle: type: string description: The title to display on the dialog. If not specified, this will be the same as `linkText`. example: Learn more about it here nullable: true dialog: type: string description: The markdown to display on the dialog. If not specified, no dialog will be displayed. example: '# Information Maintenance is **scheduled**. ## More details This is an example dialog that supports Markdown.' nullable: true createdAt: type: string format: date-time description: The date and time of when the banner was created. example: '2023-12-27T13:37:00+01:00' bannersSchema: description: A response model with a list of banners. type: object additionalProperties: false required: - banners properties: banners: type: array description: A list of banners. items: $ref: '#/components/schemas/bannerSchema' createSignalEndpointSchema: type: object required: - name description: Describes the properties required to create or update a signal endpoint. properties: enabled: type: boolean description: Whether the signal endpoint is currently enabled. If not specified, defaults to true. example: true name: type: string description: The signal endpoint name. Must be URL-safe. example: cpu-over-90 description: type: string description: A more detailed description of the signal endpoint and its intended use. example: Notifies when CPU usage is over 90%. nullable: true signalEndpointSchema: type: object required: - id - enabled - name - createdAt - createdByUserId description: An object describing a signal endpoint. additionalProperties: false properties: id: type: integer description: The signal endpoint's ID. Signal endpoint IDs are incrementing integers. In other words, a more recently created signal endpoint will always have a higher ID than an older one. minimum: 1 example: 7 enabled: type: boolean description: Whether the signal endpoint is currently enabled. If not specified, defaults to true. example: true name: type: string description: The signal endpoint name. Must be URL-safe. example: cpu-over-90 description: type: string description: A more detailed description of the signal endpoint and its intended use. example: Notifies when CPU usage is over 90%. nullable: true createdAt: type: string format: date-time description: The date and time of when the signal endpoint was created. example: '2023-12-27T13:37:00+01:00' createdByUserId: type: integer description: The ID of the user that created this signal endpoint. example: 1337 url: type: string description: The full URL that should be used to call the signal endpoint. This property is only returned for newly created or updated signal endpoints. example: https://app.unleash-hosted.com/my-instance/signal-endpoint/cpu-over-90 tokens: type: array description: The list of tokens associated with the signal endpoint. items: $ref: '#/components/schemas/signalEndpointTokenSchema' signalEndpointsSchema: description: A response model with a list of signal endpoints. type: object additionalProperties: false required: - signalEndpoints properties: signalEndpoints: type: array description: A list of signal endpoints. items: $ref: '#/components/schemas/signalEndpointSchema' createSignalEndpointTokenSchema: type: object required: - name description: Describes the properties required to create or update a signal endpoint token. properties: name: type: string description: The signal endpoint token name. example: 'My external app #1' signalEndpointTokenSchema: type: object required: - id - name - signalEndpointId - createdAt - createdByUserId description: An object describing a signal endpoint token. additionalProperties: false properties: id: type: integer description: The signal endpoint token's ID. Signal endpoint token IDs are incrementing integers. In other words, a more recently created signal endpoint token will always have a higher ID than an older one. minimum: 1 example: 7 token: type: string description: The token used for authentication. It is automatically generated by Unleash when the token is created and that is the only time this property is returned. example: signal_xyzrandomstring name: type: string description: The signal endpoint token name. example: 'My external app #1' signalEndpointId: type: integer description: The signal endpoint ID that this token belongs to. example: 1337 createdAt: type: string format: date-time description: The date and time of when the signal endpoint token was created. example: '2023-12-27T13:37:00+01:00' createdByUserId: type: integer description: The ID of the user that created this signal endpoint token. example: 1337 signalEndpointTokensSchema: description: A response model with a list of signal endpoint tokens. type: object additionalProperties: false required: - signalEndpointTokens properties: signalEndpointTokens: type: array description: A list of signal endpoint tokens. items: $ref: '#/components/schemas/signalEndpointTokenSchema' feedbackSchema: additionalProperties: false description: Schema representing feedback information. type: object required: - id - category - userType - difficultyScore - positive - areasForImprovement - createdAt properties: id: type: number example: 123 description: The unique identifier of the feedback. createdAt: type: string format: date-time example: '2022-12-12T12:13:24.218Z' description: The date and time when the feedback was provided. category: type: string example: UI/UX description: The category of the feedback. userType: type: string nullable: true example: developer description: The type of user providing the feedback. difficultyScore: type: number nullable: true example: 5 description: A score indicating the difficulty experienced by the user. positive: type: string nullable: true example: Easy to navigate. description: This field is for users to mention what they liked. areasForImprovement: nullable: true type: string example: Slow response time. description: Details aspects of the service or product that could benefit from enhancements or modifications. Aids in pinpointing areas needing attention for improvement. feedbackListSchema: type: array description: A list of feedback items. items: $ref: '#/components/schemas/feedbackSchema' provideFeedbackSchema: additionalProperties: false description: Schema representing the creation of feedback information. type: object required: - category properties: category: type: string example: UI/UX description: The category of the feedback. userType: type: string nullable: true example: developer description: The type of user providing the feedback. difficultyScore: type: number nullable: true example: 5 description: A score indicating the difficulty experienced by the user. positive: type: string nullable: true example: Easy to navigate. description: This field is for users to mention what they liked. areasForImprovement: nullable: true type: string example: Slow response time. description: Details aspects of the service or product that could benefit from enhancements or modifications. Aids in pinpointing areas needing attention for improvement. licenseUpdateSchema: description: A model representing a set license token. type: object additionalProperties: false required: - token properties: token: description: The actual license token. type: string licenseReadSchema: description: A model representing a license response. type: object additionalProperties: false required: - isValid properties: token: description: The actual license token. type: string isValid: description: Whether the license is valid or not. type: boolean customer: description: Name of the customer that owns the license. This is the name of the company that purchased the license. type: string type: description: Type of license. type: string instanceName: description: Name of the Unleash instance where this license is valid. type: string instanceId: description: Identifier of the Unleash instance where this license is valid. type: string plan: description: Name of plan that the license is for. type: string resources: type: object description: The resources available in the license. additionalProperties: false properties: seats: description: Number of seats in the license. type: number releaseTemplates: description: Number of release templates in the license. type: number edgeInstances: description: Number of Edge instances in the license. type: number readOnlyUsers: description: Number of read-only users in the license. type: number expireAt: description: Date when the license expires. type: string format: date-time example: '2023-07-31T13:33:02Z' issuedAt: description: Date when the license was issued. type: string format: date-time example: '2023-07-31T13:33:02Z' licenseCheckSchema: description: A model representing a license check response. type: object additionalProperties: false required: - isValid properties: isValid: description: Whether or not the current Unleash license is considered valid type: boolean message: description: Message describing the current state of the Unleash license type: string example: Your license expired 3 days ago messageType: description: Type of messages, whether it is an informative or a warning type: string example: info enum: - info - warning - error edgeLicenseStateSchema: description: A model representing the Edge license state response. type: object additionalProperties: false required: - edgeLicenseState properties: edgeLicenseState: description: State of the current Enterprise Edge license type: string enum: - Valid - Invalid - Expired licensedUserSchema: description: A schema representing a single licensed user data point. type: object additionalProperties: false required: - date - count properties: date: type: string format: date-time description: The date associated with the licensed users count. example: '2024-10-01T00:00:00.000Z' count: type: integer description: The count of licensed users on the given date. minimum: 0 example: 100 licensedUsersSchema: description: A response model representing user license data. type: object additionalProperties: false required: - licensedUsers - seatCount properties: seatCount: type: integer minimum: 0 example: 25 description: The total number of licensed seats currently available for this Unleash instance. licensedUsers: type: object required: - history - current description: An object containing historical and current licensed user data. properties: history: type: array description: A monthly history of licensed user counts. items: $ref: '#/components/schemas/licensedUserSchema' current: description: The current number of licenses in use. type: integer minimum: 0 example: 25 signalSchema: type: object required: - id - createdAt - source - sourceId description: An object describing a signal. additionalProperties: false properties: id: type: integer description: The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. minimum: 1 example: 7 payload: type: object x-enforcer-exception-skip-codes: WSCH006 description: The payload of the signal. example: cpu: 92 memory: 85 createdAt: type: string format: date-time description: The date and time of when the signal was created. example: '2023-12-27T13:37:00+01:00' source: type: string enum: - signal-endpoint description: The signal source type. Should be used along with `sourceId` to uniquely identify the resource that created this signal. example: signal-endpoint sourceId: type: integer description: The ID of the source that created this signal. Should be used along with `source` to uniquely identify the resource that created this signal. example: 1337 createdBySourceTokenId: type: integer nullable: true description: The ID of the source token that created this signal. Only present if the signal was created by a signal endpoint. example: 1337 signalsSchema: description: A response model with a list of signals. type: object additionalProperties: false required: - signals properties: signals: type: array description: A list of signals. items: $ref: '#/components/schemas/signalSchema' createActionsSchema: type: object additionalProperties: false required: - name - actorId - actions - match description: An action set defines actions that Unleash performs when a signal is matched. properties: name: type: string description: The name of the action set example: Disable new features description: type: string description: The description of the action set example: Disables new features when error rate is above threshold nullable: true actorId: type: integer description: The id of the service account that will execute the action minimum: 1 example: 12 enabled: type: boolean description: Whether this action set is enabled or not example: true default: true actions: type: array description: The list of actions to execute in sequential order when the action set is triggered items: $ref: '#/components/schemas/createActionSchema' match: type: object additionalProperties: false required: - source - sourceId - payload description: Defines a matching rule for the signal that will trigger the action set properties: source: type: string description: Match the source of the signal example: signal-endpoint enum: - signal-endpoint sourceId: type: number description: Match the source id of the signal example: 123 payload: type: object x-enforcer-exception-skip-codes: WSCH006 description: Match the payload of the signal additionalProperties: true example: type: error-rate-above-threshold actionsSchema: description: A response model with an identifiable action set. type: object additionalProperties: false required: - id - project - createdAt - createdByUserId - name - actorId - actions - match properties: id: type: integer description: The ID of the action set. minimum: 1 example: 1 project: type: string description: The project that this action set belongs to. example: default createdAt: type: string format: date-time description: The date and time of when the action set was created. example: '2023-12-27T13:37:00+01:00' createdByUserId: type: integer description: The ID of the user that created this action set. example: 1 name: type: string description: The name of the action set example: Disable new features description: type: string description: The description of the action set example: Disables new features when error rate is above threshold nullable: true actorId: type: integer description: The id of the service account that will execute the action minimum: 1 example: 12 enabled: type: boolean description: Whether this action set is enabled or not example: true default: true actions: type: array description: The list of actions to execute in sequential order when the action set is triggered. items: $ref: '#/components/schemas/actionSchema' match: type: object additionalProperties: false required: - source - sourceId - payload description: Defines a matching rule for the signal that will trigger the action set properties: source: type: string description: Match the source of the signal example: signal-endpoint enum: - signal-endpoint sourceId: type: number description: Match the source id of the signal example: 123 payload: type: object x-enforcer-exception-skip-codes: WSCH006 description: Match the payload of the signal additionalProperties: true example: type: error-rate-above-threshold actionSchema: description: Represents a single action response type: object additionalProperties: false required: - id - createdAt - createdByUserId - action - sortOrder properties: id: type: integer description: The id of the action set minimum: 1 example: 1 createdAt: type: string format: date-time description: The date and time of when the action was created. example: '2023-12-27T13:37:00+01:00' createdByUserId: type: integer description: The id of user that created this action set example: 1 action: type: string description: The name of the action to execute example: disable-feature sortOrder: type: integer description: The order in which the action should be executed minimum: 1 example: 1 executionParams: type: object x-enforcer-exception-skip-codes: WSCH006 description: A map of parameters to pass to the action additionalProperties: true default: {} example: featureName: my-feature createActionSchema: description: Represents a single action type: object additionalProperties: false required: - action - sortOrder properties: action: type: string description: The name of the action to execute example: disable-feature sortOrder: type: integer description: The order in which the action should be executed minimum: 1 example: 1 executionParams: type: object x-enforcer-exception-skip-codes: WSCH006 description: A map of parameters to pass to the action additionalProperties: true default: {} example: featureName: my-feature actionsListSchema: description: A response model with a list of action sets. type: object additionalProperties: false required: - actions properties: actions: type: array description: A list of action sets. items: $ref: '#/components/schemas/actionsSchema' instanceInsightsSchema: additionalProperties: false description: A summary of this Unleash instance's usage statistics, including user and flag counts, and trends over time. type: object required: - userTrends - flagTrends - projectFlagTrends - metricsSummaryTrends - environmentTypeTrends - lifecycleTrends - creationArchiveTrends properties: userTrends: type: array description: How number of users changed over time items: type: object additionalProperties: false required: - date - total - active - inactive properties: date: type: string format: date-time example: '2024-01-12T23:59:59.999Z' description: A UTC date when the stats were captured. Time is the very end of a given day. total: type: number example: 100 description: The number of actual Unleash users on a particular day active: type: number example: 98 description: The number of active Unleash users on a particular day inactive: type: number example: 2 description: The number of inactive Unleash users on a particular day flagTrends: type: array description: How number of flags changed over time items: type: object additionalProperties: false required: - date - total - active - stale - potentiallyStale properties: date: type: string format: date-time example: '2024-01-12T23:59:59.999Z' description: A UTC date when the stats were captured. Time is the very end of a given day. total: type: number example: 100 description: The number of all flags on a particular day active: type: number example: 98 description: The number of active flags on a particular day stale: type: number example: 0 description: The number of user marked stale flags on a particular day potentiallyStale: type: number example: 2 description: The number of time calculated potentially stale flags on a particular day projectFlagTrends: type: array description: How number of flags per project changed over time items: type: object additionalProperties: false required: - project - date - total - active - stale - potentiallyStale - week - health properties: week: type: string example: 2024-40 description: Year and week in a given year for which the stats were calculated project: type: string example: default description: Project id of the project the flag trends belong to health: type: number example: 50 deprecated: true description: Use `technicalDebt` instead. technicalDebt: type: number example: 20 minimum: 0 maximum: 100 description: An indicator of the [project's technical debt](https://docs.getunleash.io/concepts/technical-debt) on a scale from 0 to 100 timeToProduction: type: number example: 10 description: The average time from when a feature was created to when it was enabled in the "production" environment during the current window date: type: string format: date-time example: '2024-01-12T23:59:59.999Z' description: A UTC date when the stats were captured. Time is the very end of a given day. total: type: number example: 100 description: The number of all flags on a particular day active: type: number example: 98 description: The number of active flags on a particular day stale: type: number example: 0 description: The number of user marked stale flags on a particular day potentiallyStale: type: number example: 2 description: The number of time calculated potentially stale flags on a particular day users: type: number example: 30 description: The number of users who have access to the project metricsSummaryTrends: type: array description: How metrics data per project changed over time items: type: object additionalProperties: false required: - week - date - project - totalRequests - totalYes - totalNo - totalApps - totalFlags - totalEnvironments properties: week: type: string example: 2024-01 description: Year and week in a given year for which the metrics summary was calculated date: type: string format: date-time example: '2024-01-12T23:59:59.999Z' description: A UTC date when metrics summary was captured. Time is the very end of a given day. project: type: string example: default description: Project id of the project the impressions summary belong to totalRequests: type: number example: 50 description: 'Total number of times all project flags were requested ' totalYes: type: number example: 50 description: Total number of times all project flags were exposed across all environments totalNo: type: number example: 50 description: Total number of times all project flags were not exposed across all environments totalApps: type: number example: 50 description: Total number of applications the impression data belong to totalFlags: type: number example: 50 description: Total number of flags the impression data belong to totalEnvironments: type: number example: 50 description: Total number of environments the impression data belong to environmentTypeTrends: type: array description: How updates per environment type changed over time items: type: object additionalProperties: false required: - date - week - environmentType - totalUpdates properties: date: type: string format: date-time example: '2024-01-12T23:59:59.999Z' description: A UTC date when the stats were captured. Time is the very end of a given day. week: type: string example: 2024-01 description: Year and week in a given year for which the stats were calculated environmentType: type: string example: production description: Environment type the data belongs too totalUpdates: type: number example: 50 description: 'Total number of times configuration has been updated in the environment type ' lifecycleTrends: type: array description: Weekly count of new flags entering production items: type: object additionalProperties: false required: - week - date - newProductionFlags - project properties: week: type: string example: 2024-15 description: Year and week in a given year for which the stats were calculated date: type: string format: date-time example: '2024-04-12T23:59:59.999Z' description: A UTC date when the stats were captured. Time is the very end of a given week. newProductionFlags: type: number example: 5 description: Number of flags that entered production during this week project: type: string example: default description: Project id that the flags belong to creationArchiveTrends: type: array description: Weekly count of created vs archived flags by project and flag type items: type: object additionalProperties: false required: - week - date - project - createdFlags - archivedFlags properties: week: type: string example: 2024-15 description: Year and week in a given year for which the stats were calculated date: type: string format: date-time example: '2024-04-12T23:59:59.999Z' description: A UTC date when the stats were captured. Time is the very end of a given week. project: type: string example: default description: Project id that the flags belong to createdFlags: type: object description: Count of newly created flags by flag type additionalProperties: type: number minimum: 0 example: experiment: 5 release: 2 operational: 1 archivedFlags: type: number example: 3 minimum: 0 description: Total count of archived flags during this week lifecycleTrendsSchema: additionalProperties: false description: Aggregated view of feature flag lifecycle trends across environments type: object required: - lifecycleTrends properties: lifecycleTrends: type: object description: Aggregated view of feature flag lifecycle across environments additionalProperties: false required: - develop - production - cleanup properties: develop: type: object required: - totalFlags - medianDaysInCurrentStage - medianDaysHistorically - categories additionalProperties: false properties: totalFlags: type: number example: 35 medianDaysInCurrentStage: type: number example: 28 medianDaysHistorically: type: number example: 25 categories: type: object required: - experimental - release - permanent additionalProperties: false properties: experimental: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 15 newFlagsThisWeek: type: number example: 13 release: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 13 newFlagsThisWeek: type: number example: 0 permanent: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 7 newFlagsThisWeek: type: number example: 0 production: type: object required: - totalFlags - medianDaysInCurrentStage - medianDaysHistorically - categories additionalProperties: false properties: totalFlags: type: number example: 10 medianDaysInCurrentStage: type: number example: 14 medianDaysHistorically: type: number example: 12 categories: type: object required: - experimental - release - permanent additionalProperties: false properties: experimental: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 2 newFlagsThisWeek: type: number example: 5 release: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 2 newFlagsThisWeek: type: number example: 1 permanent: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 3 newFlagsThisWeek: type: number example: 0 cleanup: type: object required: - totalFlags - medianDaysInCurrentStage - medianDaysHistorically - categories additionalProperties: false properties: totalFlags: type: number example: 5 medianDaysInCurrentStage: type: number example: 16 medianDaysHistorically: type: number example: 18 categories: type: object required: - experimental - release - permanent additionalProperties: false properties: experimental: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 0 newFlagsThisWeek: type: number example: 3 release: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 0 newFlagsThisWeek: type: number example: 1 permanent: type: object required: - flagsOlderThanWeek - newFlagsThisWeek additionalProperties: false properties: flagsOlderThanWeek: type: number example: 1 newFlagsThisWeek: type: number example: 0 signalEndpointSignalSchema: type: object required: - createdAt - source - sourceId description: An object describing a signal originated from a signal endpoint. additionalProperties: false properties: id: type: integer description: The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. minimum: 1 example: 7 payload: type: object x-enforcer-exception-skip-codes: WSCH006 description: The payload of the signal. example: cpu: 92 memory: 85 createdAt: type: string format: date-time description: The date and time of when the signal was created. example: '2023-12-27T13:37:00+01:00' source: type: string enum: - signal-endpoint description: The signal source type. Should be used along with `sourceId` to uniquely identify the resource that created this signal. example: signal-endpoint sourceId: type: integer description: The ID of the source that created this signal. Should be used along with `source` to uniquely identify the resource that created this signal. example: 1337 tokenName: type: string nullable: true description: The name of the token used to register this signal. example: signal-endpoint-token signalEndpointSignalsSchema: description: A response model with a list of signals originated from a signals endpoint. type: object additionalProperties: false required: - signalEndpointSignals properties: signalEndpointSignals: type: array description: A list of signals originated from a signals endpoint. items: $ref: '#/components/schemas/signalEndpointSignalSchema' actionEventSchema: type: object required: - id - createdAt - createdByUserId - action - sortOrder - state description: An object describing an action event. additionalProperties: false properties: id: type: integer description: The id of the action set minimum: 1 example: 1 createdAt: type: string format: date-time description: The date and time of when the action was created. example: '2023-12-27T13:37:00+01:00' createdByUserId: type: integer description: The id of user that created this action set example: 1 action: type: string description: The name of the action to execute example: disable-feature sortOrder: type: integer description: The order in which the action should be executed minimum: 1 example: 1 executionParams: type: object x-enforcer-exception-skip-codes: WSCH006 description: A map of parameters to pass to the action additionalProperties: true default: {} example: featureName: my-feature state: type: string description: The state of the action. Can be one of `not started`, `started`, `success`, or `failed`. enum: - not started - started - success - failed details: type: string nullable: true description: The details of the action event, if any. actionSetEventsSchema: description: A response model with a list of action set events. type: object additionalProperties: false required: - actionSetEvents properties: actionSetEvents: type: array description: A list of action set events. items: $ref: '#/components/schemas/actionSetEventSchema' actionSetEventSchema: type: object required: - id - actionSetId - signalId - createdAt - state - signal - actionSet description: An object describing an action event. additionalProperties: false properties: id: type: integer description: The action set event's ID. Action set event IDs are incrementing integers. In other words, a more recently created action set event will always have a higher ID than an older one. minimum: 1 example: 7 actionSetId: type: integer description: The ID of the action set that the action set event belongs to. example: 42 signalId: type: integer description: The ID of the signal that triggered this action set event. example: 1337 createdAt: type: string format: date-time description: The date and time of when the action set event was created. In other words, the date and time of when the action set started executing. example: '2023-12-27T13:37:00+01:00' state: type: string enum: - started - success - failed description: The state of the action set event. Can be one of `started`, `success`, or `failed`. example: started signal: $ref: '#/components/schemas/signalSchema' description: The signal that triggered this action set event. actionSet: type: object required: - id - project - createdAt - createdByUserId - name - actorId - actions - match description: The action set this action set event belongs to, where the individual actions are decorated with the respective action states. additionalProperties: false properties: id: type: integer description: The ID of the action set. minimum: 1 example: 1 project: type: string description: The project that this action set belongs to. example: default createdAt: type: string format: date-time description: The date and time of when the action set was created. example: '2023-12-27T13:37:00+01:00' createdByUserId: type: integer description: The ID of the user that created this action set. example: 1 name: type: string description: The name of the action set example: Disable new features description: type: string description: The description of the action set example: Disables new features when error rate is above threshold nullable: true actorId: type: integer description: The id of the service account that will execute the action minimum: 1 example: 12 enabled: type: boolean description: Whether this action set is enabled or not example: true default: true actions: type: array description: The list of actions executed in sequential order when the action set was triggered, decorated with the individual action states. items: $ref: '#/components/schemas/actionEventSchema' match: type: object additionalProperties: false required: - source - sourceId - payload description: Defines a matching rule for the signal that will trigger the action set properties: source: type: string description: Match the source of the signal example: signal-endpoint enum: - signal-endpoint sourceId: type: number description: Match the source id of the signal example: 123 payload: type: object x-enforcer-exception-skip-codes: WSCH006 description: Match the payload of the signal additionalProperties: true example: type: error-rate-above-threshold actionDefinitionParameterSchema: description: Defines a parameter for an action. type: object additionalProperties: false required: - name - label - type properties: name: type: string enum: - project - environment - featureName - tag description: The name of the parameter. example: project label: type: string description: The label of the parameter. example: Param name type: type: string enum: - select - hidden description: The parameter type. example: select optional: type: boolean default: true description: Whether the parameter is optional. example: true options: type: array description: Lists of options to be used for the parameter. items: type: string example: default actionDefinitionSchema: description: Configuration of a single action and its parameters. type: object additionalProperties: false required: - label - description - category - permissions - parameters properties: label: type: string description: The label of the action. example: Enable a feature description: type: string description: A description for the action. example: Enable a feature flag in a specific environment. category: type: string description: The category of the action. example: Feature flags permissions: type: array description: The permissions required to perform the action. items: type: string example: - UPDATE_FEATURE parameters: type: array description: The parameters required to perform the action. items: $ref: '#/components/schemas/actionDefinitionParameterSchema' actionDefinitionsConfigSchema: description: Configuration of different actions and their parameters. type: object additionalProperties: false properties: TOGGLE_FEATURE_ON: $ref: '#/components/schemas/actionDefinitionSchema' TOGGLE_FEATURE_OFF: $ref: '#/components/schemas/actionDefinitionSchema' TOGGLE_FEATURES_ON_BY_TAG: $ref: '#/components/schemas/actionDefinitionSchema' TOGGLE_FEATURES_OFF_BY_TAG: $ref: '#/components/schemas/actionDefinitionSchema' toggleFeatureActionSchema: description: Input data required for the action type: object required: - project - environment - featureName properties: project: type: string description: The project where the feature is located environment: type: string description: The environment we want to target featureName: type: string description: The name of the feature we want to target toggleFeaturesByTagActionSchema: description: Input data required for the action type: object required: - project - environment - tag properties: project: type: string description: The project where the feature is located example: default environment: type: string description: The environment we want to target example: development tag: type: string description: 'The tag we want to target, in the following format: `[TAG_TYPE]:[TAG_VALUE]`' example: simple:tag trafficUsageApiDataSchema: type: object additionalProperties: false description: Contains the recorded data usage for each API path, segmented by day and type of traffic required: - days - apiPath properties: days: type: array description: An array containing each day in the selected period that has data usage recorded items: type: object properties: day: type: string format: date-time example: '2023-04-19T00:00:00.000Z' description: The day of the period for which the usage is recorded trafficTypes: type: array description: Contains the recorded data usage for each type of traffic group items: type: object properties: group: type: string description: The traffic group example: successful-requests count: type: number description: The number of requests example: 100 required: - group - count required: - day - trafficTypes apiPath: type: string description: The path of the API that the recorded data usage is for example: /api/client/features trafficUsageApiMonthlyDataSchema: type: object additionalProperties: false description: Contains the recorded data usage for each API path, segmented by month and type of traffic required: - months - apiPath properties: months: type: array description: An array containing each month in the selected range that has data usage recorded items: type: object properties: month: type: string pattern: ^[0-9]{4}-[0-9]{2}$ example: 2023-04 description: The month this data usage is recorded for trafficTypes: type: array description: Contains the recorded data usage for each type of traffic group items: type: object properties: group: type: string description: The traffic group example: successful-requests count: type: number description: The number of requests example: 100 required: - group - count additionalProperties: false required: - month - trafficTypes additionalProperties: false apiPath: type: string description: The path of the API that the recorded data usage is for example: /api/client/features trafficUsageDataSegmentedCombinedSchema: type: object description: Contains the recorded data usage for each API path, segmented by day/month and type of traffic required: - dateRange - apiData - grouping additionalProperties: false properties: grouping: type: string enum: - monthly - daily description: Whether the data is aggregated by month or by day. example: monthly dateRange: type: object required: - from - to additionalProperties: false description: The date range there is data for. The range is inclusive and goes from the start of the `from` date to the end of the `to` date properties: from: type: string format: date example: '2023-04-01' description: The start of the dateRange to: type: string format: date example: '2023-04-30' description: The end of the dateRange apiData: type: array description: Contains the recorded daily/monthly data usage for each API path items: type: object required: - apiPath - dataPoints additionalProperties: false properties: apiPath: type: string example: /api/client description: The API path dataPoints: type: array description: The recorded data points for the API path items: type: object required: - period - trafficTypes additionalProperties: false properties: period: type: string pattern: ^\d{4}-\d{2}(-\d{2})?$ example: '2023-04-01' description: The date of the data point. Formatted as a full date (e.g. 2023-04-01) if the data is aggregated by day or as a month (e.g. 2023-04) if the data is aggregated by month. trafficTypes: type: array items: type: object required: - group - count additionalProperties: false properties: group: type: string example: successful-requests description: The type of traffic count: type: integer minimum: 0 example: 42 description: The number of requests description: The recorded traffic types for the data point meteredConnectionsSchema: type: object description: Contains the recorded metered groups connections segmented by day/month required: - dateRange - apiData - grouping additionalProperties: false properties: grouping: type: string enum: - monthly - daily description: Whether the data is aggregated by month or by day. example: monthly dateRange: type: object required: - from - to additionalProperties: false description: The date range there is data for. The range is inclusive and goes from the start of the `from` date to the end of the `to` date properties: from: type: string format: date example: '2023-04-01' description: The start of the dateRange to: type: string format: date example: '2023-04-30' description: The end of the dateRange apiData: type: array description: Contains the recorded daily/monthly connections for each metered group items: type: object required: - meteredGroup - dataPoints additionalProperties: false properties: meteredGroup: type: string example: default description: The metered group representing charging unit in the organization using Unleash dataPoints: type: array description: The recorded data points for the metered group items: type: object required: - period - connections additionalProperties: false properties: period: type: string pattern: ^\d{4}-\d{2}(-\d{2})?$ example: '2023-04-01' description: The date of the data point. Formatted as a full date (e.g. 2023-04-01) if the data is aggregated by day or as a month (e.g. 2023-04) if the data is aggregated by month. connections: type: number minimum: 0 example: 10.5 description: Number of connections. 1 connection = 7200 backend SDK requests per day meteredRequestsSchema: type: object description: Contains the recorded metered groups requests segmented by day/month required: - dateRange - apiData - grouping additionalProperties: false properties: grouping: type: string enum: - monthly - daily description: Whether the data is aggregated by month or by day. example: monthly dateRange: type: object required: - from - to additionalProperties: false description: The date range there is data for. The range is inclusive and goes from the start of the `from` date to the end of the `to` date properties: from: type: string format: date example: '2023-04-01' description: The start of the dateRange to: type: string format: date example: '2023-04-30' description: The end of the dateRange apiData: type: array description: Contains the recorded daily/monthly requests for each metered group items: type: object required: - meteredGroup - dataPoints additionalProperties: false properties: meteredGroup: type: string example: default description: The metered group representing charging unit in the organization using Unleash dataPoints: type: array description: The recorded data points for the metered group items: type: object required: - period - requests additionalProperties: false properties: period: type: string pattern: ^\d{4}-\d{2}(-\d{2})?$ example: '2023-04-01' description: The date of the data point. Formatted as a full date (e.g. 2023-04-01) if the data is aggregated by day or as a month (e.g. 2023-04) if the data is aggregated by month. requests: type: number minimum: 0 example: 1200 description: Number of requests scimSettingsSchema: type: object required: - enabled - hasToken description: An object describing settings for SCIM provisioning. additionalProperties: false properties: enabled: type: boolean description: Whether SCIM provisioning is currently enabled. example: true hasToken: type: boolean description: Whether a SCIM provisioning API token is currently set. example: true setScimSettingsSchema: type: object required: - enabled description: An object describing settings for SCIM provisioning. properties: enabled: type: boolean description: Whether SCIM provisioning is currently enabled. example: true scimTokenSchema: type: object required: - token description: An object describing a SCIM provisioning API token. additionalProperties: false properties: token: type: string description: The token used for SCIM API authentication. Can be revoked at a later stage by generating a new one. example: xyzrandomstring changeRequestPlaygroundRequestSchema: description: Data for the playground API to evaluate flags with change request applied in preview mode type: object required: - context properties: context: $ref: '#/components/schemas/sdkContextSchema' samlSettingsResponseSchema: type: object description: Response for SAML settings properties: enabled: description: Whether to enable or disable SAML 2.0 for this instance type: boolean example: true enum: - true entityId: description: The SAML 2.0 entity ID type: string example: http://localhost:8080/auth/realms/master signOnUrl: description: Which URL to use for Single Sign On type: string example: http://localhost:8080/auth/realms/master/protocol/saml certificate: description: The X509 certificate used to validate requests type: string example: 'MIIE/zCCBGgCAg4CMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw ODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs ZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I nrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa e7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr fSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf epfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2 SfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC IQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR 69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa /KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv w8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S fIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef 0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4 FzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn nf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz cPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP IOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf HTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9 /Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD gYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC JGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9 3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q= ' signOutUrl: description: Which URL to use for Single Sign Out type: string example: http://localhost:8080/auth/realms/master/protocol/saml spCertificate: description: Signing certificate for sign out requests type: string example: 'MIIE/zCCBGgCAg4CMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw ODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs ZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I nrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa e7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr fSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf epfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2 SfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC IQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR 69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa /KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv w8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S fIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef 0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4 FzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn nf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz cPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP IOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf HTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9 /Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD gYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC JGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9 3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q= ' autoCreate: description: Should Unleash create users based on the emails coming back in the authentication reply from the SAML server type: boolean example: true emailDomains: description: A comma separated list of email domains that Unleash will auto create user accounts for. type: string example: getunleash.io,unleash-hosted.com defaultRootRole: description: Assign this root role to auto created users type: string enum: - Viewer - Editor - Admin example: Editor defaultRootRoleId: description: Assign this root role to auto created users. Should be a role ID and takes precedence over `defaultRootRole`. type: number example: 2 enableGroupSyncing: description: Should we enable group syncing. Refer to the documentation [Group syncing](https://docs.getunleash.io/guides/how-to-set-up-group-sso-sync) type: boolean example: false groupJsonPath: description: Specifies the path in the SAML token response from which to read the groups the user belongs to. type: string example: groups oidcSettingsResponseSchema: type: object description: Response for OpenID Connect settings properties: enabled: description: Whether to enable or disable OpenID Connect for this instance type: boolean example: true enum: - true discoverUrl: description: The [.well-known OpenID discover URL](https://swagger.io/docs/specification/authentication/openid-connect-discovery/) example: https://myoidchost.azure.com/.well-known/openid-configuration type: string format: uri clientId: description: The OIDC client ID of this application. example: FB87266D-CDDB-4BCF-BB1F-8392FD0EDC1B type: string secret: description: Shared secret from OpenID server. Used to authenticate login requests type: string example: qjcVfeFjEfoYAF3AEsX2IMUWYuUzAbXO autoCreate: description: Auto create users based on email addresses from login tokens type: boolean enableSingleSignOut: description: Support Single sign out when user clicks logout in Unleash. If `true` user is signed out of all OpenID Connect sessions against the clientId they may have active type: boolean defaultRootRole: description: '[Default role](https://docs.getunleash.io/concepts/rbac#standard-roles) granted to users auto-created from email. Only relevant if autoCreate is `true`' type: string enum: - Viewer - Editor - Admin defaultRootRoleId: description: Assign this root role to auto created users. Should be a role ID and takes precedence over `defaultRootRole`. type: number example: 2 emailDomains: description: Comma separated list of email domains that are automatically approved for an account in the server. Only relevant if autoCreate is `true` type: string example: getunleash.io,getunleash.ai acrValues: description: "Authentication Context Class Reference, used to request extra values in the acr claim returned from\ \ the server. If multiple values are required, they should be space separated. \n Consult [the OIDC reference](https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint)\ \ for more information \n" type: string example: urn:okta:loa:2fa:any phr idTokenSigningAlgorithm: description: The signing algorithm used to sign our token. Refer to the [JWT signatures](https://jwt.io/introduction) documentation for more information. type: string example: RS256 enum: - RS256 - RS384 - RS512 enableGroupSyncing: description: Should we enable group syncing. Refer to the documentation [Group syncing](https://docs.getunleash.io/guides/how-to-set-up-group-sso-sync) type: boolean example: false groupJsonPath: description: Specifies the path in the OIDC token response to read which groups the user belongs to from. type: string example: groups addGroupsScope: description: When enabled Unleash will also request the 'groups' scope as part of the login request. type: boolean example: false enablePkce: description: Enable PKCE (Proof Key for Code Exchange) for enhanced security. Recommended for public clients and provides additional protection against authorization code interception attacks. type: boolean example: false signalQueryResponseSchema: type: object additionalProperties: false required: - signals - total description: A list of signals that have been registered by the system properties: signals: description: The list of signals type: array items: $ref: '#/components/schemas/signalQuerySignalSchema' total: type: integer description: The total count of signals minimum: 0 example: 842 signalQuerySignalSchema: type: object required: - id - createdAt - source - sourceId description: An object describing a signal enriched with source data. additionalProperties: false properties: id: type: integer description: The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. minimum: 1 example: 7 payload: type: object x-enforcer-exception-skip-codes: WSCH006 description: The payload of the signal. example: cpu: 92 memory: 85 createdAt: type: string format: date-time description: The date and time of when the signal was created. example: '2023-12-27T13:37:00+01:00' source: type: string enum: - signal-endpoint description: The signal source type. Should be used along with `sourceId` to uniquely identify the resource that created this signal. example: signal-endpoint sourceId: type: integer description: The ID of the source that created this signal. Should be used along with `source` to uniquely identify the resource that created this signal. example: 1337 tokenName: type: string nullable: true description: The name of the token used to register this signal. example: signal-endpoint-token sourceName: type: string nullable: true description: The name of the source that registered this signal. example: cpu-over-90 sourceDescription: type: string nullable: true description: A more detailed description of the source that registered this signal. example: Notifies when CPU usage is over 90%. createReleasePlanTemplateSchema: additionalProperties: false description: Schema representing the creation of a release template. type: object required: - name properties: name: type: string description: The name of the release template. example: My release plan description: type: string description: A description of the release template. example: This is my release plan nullable: true milestones: type: array description: A list of the milestones in this release template. items: $ref: '#/components/schemas/createReleasePlanMilestoneSchema' updateReleasePlanTemplateSchema: additionalProperties: false description: Schema representing the update of a release template. type: object required: - id - name properties: id: type: string description: The release plan/template's ID. Release template IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW2 nullable: false name: type: string description: The name of the release template. example: My release plan description: type: string description: A description of the release template. example: This is my release plan nullable: true milestones: type: array description: A list of the milestones in this release template. items: $ref: '#/components/schemas/createReleasePlanMilestoneSchema' nullable: true createReleasePlanMilestoneSchema: additionalProperties: false description: Schema representing the creation of a release plan milestone. type: object required: - name - sortOrder properties: name: type: string description: The name of the milestone. example: My milestone sortOrder: type: integer description: The order of the milestone in the release plan. example: 1 strategies: type: array description: A list of strategies that are attached to this milestone. items: $ref: '#/components/schemas/createReleasePlanMilestoneStrategySchema' updateReleasePlanMilestoneSchema: additionalProperties: false description: Schema representing the update of a release plan milestone. type: object required: - name - sortOrder - releasePlanDefinitionId properties: name: type: string description: The name of the milestone. example: My milestone sortOrder: type: integer description: The order of the milestone in the release plan. example: 1 releasePlanDefinitionId: type: string description: The ID of the release plan/template that this milestone belongs to. example: 01JB9GGTGQYEQ9D40R17T3YVW2 strategies: type: array description: A list of strategies that are attached to this milestone. items: $ref: '#/components/schemas/updateReleasePlanMilestoneStrategySchema' createReleasePlanMilestoneStrategySchema: additionalProperties: false description: Schema representing the creation of a release plan milestone strategy. type: object required: - sortOrder - strategyName properties: sortOrder: type: number description: The order of the strategy in the list example: 9999 title: type: string nullable: true description: A descriptive title for the strategy example: Gradual Rollout 25-Prod strategyName: type: string description: The name of the strategy type example: flexibleRollout parameters: description: An object containing the parameters for the strategy example: groupId: some_new rollout: '25' stickiness: sessionId $ref: '#/components/schemas/parametersSchema' constraints: type: array description: A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints example: - values: - '1' - '2' inverted: false operator: IN contextName: appName caseInsensitive: false items: $ref: '#/components/schemas/constraintSchema' variants: type: array description: Strategy level variants items: $ref: '#/components/schemas/createStrategyVariantSchema' segments: type: array description: Ids of segments to use for this strategy example: - 1 - 2 items: type: number updateReleasePlanMilestoneStrategySchema: additionalProperties: false description: Schema representing the update of a release plan milestone. type: object required: - milestoneId - sortOrder - strategyName properties: id: type: string description: The milestone strategy's ID. Milestone strategy IDs are ulids. example: 01JB9GGTGQYEQ9D40R17T3YVW3 milestoneId: type: string description: The ID of the milestone that this strategy belongs to. example: 01JB9GGTGQYEQ9D40R17T3YVW1 nullable: false sortOrder: type: number description: The order of the strategy in the list example: 9999 title: type: string nullable: true description: A descriptive title for the strategy example: Gradual Rollout 25-Prod strategyName: type: string description: The name of the strategy type example: flexibleRollout parameters: description: An object containing the parameters for the strategy example: groupId: some_new rollout: '25' stickiness: sessionId $ref: '#/components/schemas/parametersSchema' constraints: type: array description: A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints example: - values: - '1' - '2' inverted: false operator: IN contextName: appName caseInsensitive: false items: $ref: '#/components/schemas/constraintSchema' variants: type: array description: Strategy level variants items: $ref: '#/components/schemas/createStrategyVariantSchema' segments: type: array description: Ids of segments to use for this strategy example: - 1 - 2 items: type: number edgeEndpointTrafficSchema: type: object description: Represents traffic data for a single endpoint in Edge additionalProperties: false properties: requests200: description: Number of 20x requests type: number minimum: 0 requests304: description: Number of 30x requests type: number minimum: 0 edgeInstanceDataSchema: description: Represents Edge instance observability data. type: object required: - identifier - appName - edgeVersion - started - traffic - latencyUpstream - connectedStreamingClients - connectedEdges properties: identifier: type: string description: The ID of the Edge process, typically a ULID. Newly generated for each restart of the instance. example: 01ARZ3NDEKTSV4RRFFQ69G5FAV appName: type: string description: The name of the application, configured by the user, typically persistent across restarts of Edge. example: unleash-edge-us-east-1 region: type: string nullable: true description: Which region the Edge instance is running in. Set to AWS_REGION by default (if present). example: us-east-1 edgeVersion: type: string description: Which version (semver) of Edge is the Edge instance running. example: 19.6.3 processMetrics: type: object $ref: '#/components/schemas/edgeProcessMetricsSchema' nullable: true started: type: string format: date-time description: RFC3339 timestamp for when the Edge instance was started. traffic: type: object $ref: '#/components/schemas/edgeInstanceTrafficSchema' latencyUpstream: type: object $ref: '#/components/schemas/edgeUpstreamLatencySchema' connectedStreamingClients: type: number minimum: 0 description: How many streaming clients are connected to the Edge instance. connectedEdges: type: array description: A list of Edge instances connected to the Edge instance. items: $ref: '#/components/schemas/edgeInstanceDataSchema' requestsSinceLastReport: type: object description: Requests made to edge's endpoints since last report. Meant to be used for billing purposes. $ref: '#/components/schemas/edgeRequestStatsSchema' connectionConsumptionSinceLastReport: type: object description: Connection consumption data since last report, including features and metrics consumption. Used for long-lived backend SDKs with backend controlled number of instances. $ref: '#/components/schemas/connectionConsumptionSchema' requestConsumptionSinceLastReport: type: array description: Request consumption data since last report, grouped by metered group. Used for frontend SDKs with unpredictable and potentially large number of user devices running those SDKs. $ref: '#/components/schemas/requestConsumptionSchema' hosting: type: string enum: - hosted - self-hosted - enterprise-self-hosted description: A marker that tells Unleash whether this Edge instance is self-hosted, enterprise self-hosted, or hosted by Unleash. apiKeyRevisionIds: type: array description: List of API keys (represented by their environment and projects) and revision ids to make it easier to track sync state of edge items: $ref: '#/components/schemas/edgeApiKeyRevisionIdSchema' nullable: true edgeInstanceTrafficSchema: description: Represents requests to the Edge instance (/api/client/features, /api/frontend, etc.) type: object additionalProperties: false required: - get - post - accessDenied - cachedResponses properties: get: type: object description: A map containing GET requests. additionalProperties: type: object nullable: true $ref: '#/components/schemas/edgeLatencyMetricsSchema' post: type: object description: A map containing POST requests. additionalProperties: type: object nullable: true $ref: '#/components/schemas/edgeLatencyMetricsSchema' accessDenied: type: object description: A map containing requests that were denied. additionalProperties: type: object nullable: true $ref: '#/components/schemas/edgeLatencyMetricsSchema' cachedResponses: type: object description: A map containing requests that had cached responses. additionalProperties: type: object nullable: true $ref: '#/components/schemas/edgeLatencyMetricsSchema' edgeLatencyMetricsSchema: description: Representing latency for an Edge operation. type: object additionalProperties: false required: - avg - count - p99 properties: avg: type: number description: Average time per request in milliseconds. minimum: 0 count: type: number description: Total number of requests made. minimum: 0 p99: type: number description: 99% of requests finished within this amount of milliseconds. minimum: 0 example: 34.5 edgeProcessMetricsSchema: description: Represents Edge instance resource usage data. type: object required: - cpuUsage - memoryUsage properties: cpuUsage: type: number description: CPU usage, in seconds, since start of process. minimum: 0 example: 54.54 memoryUsage: type: number description: Current process_resident_memory (in bytes) usage. minimum: 0 example: 34000432 edgeRequestStatsSchema: description: Represents Edge traffic data. type: object properties: /api/client/features: description: 20x and 30x requests to the client features endpoint type: object $ref: '#/components/schemas/edgeEndpointTrafficSchema' /api/frontend: description: Traffic to the frontend endpoint type: object $ref: '#/components/schemas/edgeEndpointTrafficSchema' /api/proxy: description: Traffic to the proxy endpoint (proxy endpoint is deprecated, use /api/frontend instead) type: object $ref: '#/components/schemas/edgeEndpointTrafficSchema' /api/client/metrics: description: Traffic to Edge Metrics (from SDKs) type: object $ref: '#/components/schemas/edgeEndpointTrafficSchema' /api/client/metrics/bulk: description: Traffic to Edge Metrics (from other Edge instances) type: object $ref: '#/components/schemas/edgeEndpointTrafficSchema' /api/client/metrics/edge: description: Traffic to Edge Metrics (from other Edge instances) type: object $ref: '#/components/schemas/edgeEndpointTrafficSchema' edgeUpstreamLatencySchema: description: Latencies for upstream actions from Edge (downloading/syncing new features, uploading metrics, uploading instance data) type: object additionalProperties: false required: - features - metrics - edge properties: features: $ref: '#/components/schemas/edgeLatencyMetricsSchema' metrics: $ref: '#/components/schemas/edgeLatencyMetricsSchema' edge: $ref: '#/components/schemas/edgeLatencyMetricsSchema' edgeApiKeyRevisionIdSchema: description: Represents Edge sync state of api keys type: object required: - environment - projects - revisionId properties: environment: description: The Unleash Environment this apiKey is synced for type: string projects: type: array description: The list of projects this key is valid for or * if valid for all projects items: type: string revisionId: description: The revision id of Edge's last successful sync of this key type: number minimum: 0 lastUpdated: description: The timestamp of the last successful sync of this key type: string format: date-time connectionConsumptionSchema: type: object required: - features - metrics properties: features: type: array items: $ref: '#/components/schemas/meteredGroupConsumptionSchema' description: Feature consumption data points metrics: type: array items: $ref: '#/components/schemas/meteredGroupConsumptionSchema' description: Metrics consumption data points consumptionDataPointSchema: type: object required: - interval - requests properties: interval: type: array items: type: integer minItems: 2 maxItems: 2 description: Time interval in milliseconds [start, end]. example: - 0 - 15000 requests: type: number description: Number of requests in this interval meteredGroupConsumptionSchema: type: object required: - meteredGroup - dataPoints properties: meteredGroup: type: string description: Name of the metered group example: default dataPoints: type: array items: $ref: '#/components/schemas/consumptionDataPointSchema' description: Array of consumption data points requestConsumptionSchema: type: array items: type: object required: - meteredGroup - requests properties: meteredGroup: type: string description: Name of the metered group example: default requests: type: number description: Total number of requests for this metered group example: 10000 cdnApiTokenSchema: description: The data required to create an CDN API token. type: object required: - tokenName - environment properties: tokenName: type: string description: The name of the token. example: token-64522 project: type: string description: The project that the token should be valid for. Defaults to "*" meaning every project. example: project-851 environment: type: string description: The environment that the token should be valid for. example: development expiresAt: type: string format: date-time description: The time when this token should expire. example: '2023-07-04T11:26:24+02:00' nullable: true cdnApiTokensSchema: description: List of CDN tokens. type: object properties: tokens: type: array description: List of tokens for CDN items: $ref: '#/components/schemas/cdnApiTokenSchema' changeRequestReviewerSchema: additionalProperties: false type: object description: Information about a user available to review a change request required: - id - email properties: id: type: number description: Id of the user available to review example: 23 email: type: string example: email@example.com description: The email of the approving user username: type: string example: unleash-user nullable: true description: The username of the approving user name: type: string example: Reviewer Approver nullable: true description: The name of the approving user imageUrl: type: string nullable: true format: uri description: The URL where the user's image can be found. changeRequestAvailableReviewersSchema: additionalProperties: false type: object description: A list of users available to review a change request. required: - reviewers properties: reviewers: type: array description: a list of reviewers items: $ref: '#/components/schemas/changeRequestReviewerSchema' impactMetricsConfigSchema: type: object required: - metricName - timeRange - yAxisMin - aggregationMode - labelSelectors - type - displayName - id description: Describes the configuration for a single impact metric chart. additionalProperties: false properties: id: type: string description: The unique ULID identifier for this impact metric configuration. Generated automatically if not provided. example: 01ARZ3NDEKTSV4RRFFQ69G5FAV metricName: type: string description: The Prometheus metric series to query. It includes both unleash prefix and metric type and display name example: unleash_counter_feature_toggle_usage_total timeRange: type: string enum: - hour - day - week - month description: The time range for the metric data. example: day aggregationMode: type: string description: The aggregation mode for the metric data. enum: - rps - count - avg - sum - p95 - p99 - p50 example: rps labelSelectors: type: object additionalProperties: type: array items: type: string description: The selected labels and their values for filtering the metric data. example: environment: - development project: - default type: type: string description: The type of metric enum: - counter - gauge - histogram - unknown example: counter displayName: type: string description: The human readable display name of the impact metric example: feature_toggle_usage_total yAxisMin: type: string enum: - auto - zero description: Whether the chart should begin at zero on the y-axis. example: auto step: type: string enum: - 1m - 15m - 3h - 1d description: The step interval for querying metrics data. This is automatically calculated from the timeRange and stored when the metric is created or updated. example: 15m nullable: true title: type: string description: Optional title for the impact metric chart. example: Feature Toggle Usage nullable: false mode: type: string enum: - read - write description: 'The access mode for this impact metric configuration: "read" when referenced by a safeguard, "write" otherwise.' example: write impactMetricsConfigListSchema: type: object required: - configs description: A list of impact metrics configurations for a feature flag. additionalProperties: false properties: configs: type: array description: The list of impact metrics configurations. items: $ref: '#/components/schemas/impactMetricsConfigSchema' createImpactMetricsConfigSchema: type: object required: - metricName - timeRange - yAxisMin - aggregationMode - labelSelectors description: Describes the configuration for a single impact metric chart. additionalProperties: true properties: id: type: string description: The unique ULID identifier for this impact metric configuration. Generated automatically if not provided. example: 01ARZ3NDEKTSV4RRFFQ69G5FAV metricName: type: string description: The Prometheus metric series to query. It includes both unleash prefix and metric type and display name example: unleash_counter_feature_toggle_usage_total timeRange: type: string enum: - hour - day - week - month description: The time range for the metric data. example: day yAxisMin: type: string enum: - auto - zero description: Whether the chart should begin at zero on the y-axis. example: auto aggregationMode: type: string description: The aggregation mode for the metric data. enum: - rps - count - avg - sum - p95 - p99 - p50 example: rps labelSelectors: type: object additionalProperties: type: array items: type: string description: The selected labels and their values for filtering the metric data. example: environment: - development project: - default title: type: string description: Optional title for the impact metric chart. example: Feature Toggle Usage nullable: false plausibleMetricsResponseSchema: type: object required: - data description: Response containing Plausible analytics data for favorite events. additionalProperties: false properties: data: type: array description: Array of analytics data points items: type: object required: - count - date additionalProperties: false properties: count: type: number description: Number of events for this time period example: 1 date: type: string description: Date and time of the event (hourly granularity) example: '2025-10-15 06:00:00' detailedInvoicesSchema: type: object description: Detailed invoices response with nested line items required: - invoices additionalProperties: false properties: planPrice: type: number description: The plan price example: 50 planCurrency: type: string description: The currency code for the plan price example: usd invoices: description: List of invoices with their line items type: array items: type: object required: - invoiceDate - status - totalAmount - subtotal - currency - taxAmount - taxPercentage - mainLines - usageLines - monthText additionalProperties: false properties: invoiceDate: type: string format: date-time description: When the invoice was created example: '2025-11-01T00:00:00.000Z' dueDate: type: string format: date-time description: When the invoice is due example: '2025-11-13T00:00:00.000Z' status: type: string description: The current status of the invoice example: upcoming totalAmount: type: number description: Total amount for the invoice example: 80 subtotal: type: number description: Subtotal amount for the invoice example: 70 currency: type: string description: The currency code for the invoice example: usd taxAmount: type: number description: Tax amount for the invoice example: 10 taxPercentage: type: number description: Tax percentage for the invoice example: 10 invoiceURL: type: string format: uri description: A URL pointing to where the invoice can be found. example: https://invoice.stripe.com/i/acct_.../test_...? invoicePDF: type: string format: uri description: A link to a PDF-version of the invoice. example: https://pay.stripe.com/invoice/acct_.../test_.../pdf?s=ap monthText: type: string description: Human-readable month label for the invoice period example: November 2025 mainLines: description: Primary line items (packages, seats, etc.) type: array items: $ref: '#/components/schemas/detailedInvoicesLineSchema' usageLines: description: Usage line items (traffic, consumption usage, overages) type: array items: $ref: '#/components/schemas/detailedInvoicesLineSchema' detailedInvoicesLineSchema: type: object required: - description - quantity - currency - lookupKey additionalProperties: false properties: description: type: string description: Description of the line item example: 1 x Unleash PAYG Seat (at $75.00 / month) quantity: type: number description: Quantity of the item example: 1 totalAmount: type: number description: Total amount for this line item in minor currency units example: 7500 currency: type: string description: Currency code example: usd lookupKey: type: string description: Lookup key identifying the product/pricing example: auth_app_payg_seat startDate: type: string format: date-time description: Optional start date for the metered period example: '2025-11-01T00:00:00.000Z' endDate: type: string format: date-time description: Optional end date for the metered period example: '2025-11-30T23:59:59.999Z' limit: type: number description: Optional limit associated with the line item example: 5 consumption: type: number description: Optional consumption associated with the line item example: 0 unitPrice: type: number description: Unit price for the line item example: 0.05 milestoneProgressionSchema: type: object additionalProperties: false required: - sourceMilestone - targetMilestone - transitionCondition description: A milestone progression configuration properties: sourceMilestone: type: string description: The ID of the source milestone example: milestone-1 targetMilestone: type: string description: The ID of the target milestone example: milestone-2 transitionCondition: $ref: '#/components/schemas/transitionConditionSchema' description: The condition that triggers the transition changeMilestoneProgressionSchema: type: object additionalProperties: true required: - targetMilestone - transitionCondition description: Request body to create or update a milestone progression properties: targetMilestone: type: string description: The ID of the target milestone example: 11K7NXD655W7R89659K58RE07B transitionCondition: $ref: '#/components/schemas/transitionConditionSchema' description: The condition configuration for the transition createSafeguardSchema: type: object required: - impactMetric - triggerCondition description: Request body to create a safeguard with metric-based alert condition. additionalProperties: false properties: impactMetric: type: object required: - metricName - timeRange - aggregationMode - labelSelectors properties: metricName: type: string description: The Prometheus metric series to query. It includes both unleash prefix and metric type and display name example: unleash_counter_feature_toggle_usage_total timeRange: type: string enum: - hour - day - week - month description: The time range for the metric data. example: day aggregationMode: type: string description: The aggregation mode for the metric data. enum: - rps - count - avg - sum - p95 - p99 - p50 example: rps labelSelectors: type: object additionalProperties: type: array items: type: string description: The selected labels and their values for filtering the metric data. example: environment: - development project: - default description: Metric configuration that should be evaluated for the safeguard. triggerCondition: $ref: '#/components/schemas/safeguardTriggerConditionSchema' description: The condition that triggers the safeguard. tags: - name: Client description: Endpoints for [Unleash backend clients](https://docs.getunleash.io/sdks). paths: /api/client/features/{featureName}: get: operationId: getClientFeature summary: Get a Single Feature Flag description: Gets all the client data for a single flag. Contains the exact same information about a flag as the `/api/client/features` endpoint does, but only contains data about the specified flag. All SDKs should use `/api/client/features` tags: - Client responses: '200': description: clientFeatureSchema content: application/json: schema: $ref: '#/components/schemas/clientFeatureSchema' parameters: - name: featureName in: path required: true schema: type: string /api/client/features: get: summary: Get All Flags (sdk) description: Returns the SDK configuration for all feature flags that are available to the provided API key. Used by SDKs to configure local evaluation operationId: getAllClientFeatures tags: - Client responses: '200': description: clientFeaturesSchema content: application/json: schema: $ref: '#/components/schemas/clientFeaturesSchema' /api/client/metrics: post: tags: - Client summary: Register Client Usage Metrics description: Registers usage metrics. Stores information about how many times each flag was evaluated to enabled and disabled within a time frame. If provided, this operation will also store data on how many times each feature flag's variants were displayed to the end user. operationId: registerClientMetrics requestBody: description: clientMetricsSchema required: true content: application/json: schema: $ref: '#/components/schemas/clientMetricsSchema' responses: '202': description: This response has no body. '204': description: This response has no body. '400': description: The request data does not match what we expect. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ValidationError description: The name of the error kind message: type: string example: The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []. description: A description of what went wrong. /api/client/metrics/custom: post: tags: - Client summary: Send Custom Metrics description: This operation accepts custom metrics from clients. These metrics will be exposed via Prometheus in Unleash. operationId: clientCustomMetrics requestBody: description: customMetricsSchema required: true content: application/json: schema: $ref: '#/components/schemas/customMetricsSchema' responses: '202': description: This response has no body. '400': description: The request data does not match what we expect. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ValidationError description: The name of the error kind message: type: string example: The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []. description: A description of what went wrong. /api/client/register: post: tags: - Client summary: Register a Client SDK description: Register a client SDK with Unleash. SDKs call this endpoint on startup to tell Unleash about their existence. Used to track custom strategies in use as well as SDK versions. operationId: registerClientApplication requestBody: description: clientApplicationSchema required: true content: application/json: schema: $ref: '#/components/schemas/clientApplicationSchema' responses: '202': description: This response has no body.