{"openapi":"3.0.3","servers":[{"url":"https://eu.app.unleash-hosted.com/hosted"}],"info":{"title":"Unleash API","version":"8.0.3"},"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.\n\nThe 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.\n\nThe default set of providers can be found in the [addons reference documentation](https://docs.getunleash.io/integrate). The default supported options are:\n- `datadog` for [Datadog](https://docs.getunleash.io/integrate/datadog)\n- `slack` for [Slack](https://docs.getunleash.io/integrate/slack)\n- `teams-workflow` for [Microsoft Teams Workflow](https://docs.getunleash.io/integrate/teams-workflow)\n- `webhook` for [webhooks](https://docs.getunleash.io/integrate/webhook)\n\nThe provider you choose for your addon dictates what properties the `parameters` object needs. Refer to the documentation for each provider for more information.\n","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":"my-app"},"displayName":{"type":"string","description":"The addon type's name as it should be displayed in the admin UI.","example":"App for Unleash"},"documentationUrl":{"type":"string","description":"A URL to where you can find more information about using this addon type.","example":"https://docs.getunleash.io/integrate/"},"description":{"type":"string","description":"A description of the addon type.","example":"The Unleash App for X."},"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":"addon-name","description":"Addon tag used by the addon to specify the unleash config.","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":"Addon URL","description":"(Required)","type":"url","required":true,"sensitive":true},{"name":"username","displayName":"Username","placeholder":"Unleash","description":"The username to use when using the addon.","type":"text","required":false,"sensitive":false},{"name":"emojiIcon","displayName":"Emoji Icon","placeholder":":unleash:","description":"The emoji_icon to use when posting messages. 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 addon-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-install.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 Unleash 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 Addon to initiate the installation procedure for the Unleash App for App 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 X installed."},"link":{"type":"object","additionalProperties":false,"required":["url"],"description":"An optional link to display at the end of the alert text.","properties":{"url":{"type":"string","description":"The URL of the link.","example":"https://docs.getunleash.io/integrate/slack-app"},"title":{"type":"string","nullable":true,"description":"The display title of the link.","example":"Read these instructions to migrate to new Slack App smoothly."}}}}}},"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:\n1. A list of all [addons](https://docs.getunleash.io/integrate) defined on this Unleash instance\n2. 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/integrate/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 be similar to the events format (https://docs.getunleash.io/concepts/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":"new-app","displayName":"Addon Name","description":"The App for X that can be combined with Unleash.","documentationUrl":"https://docs.getunleash.io/integrate/","parameters":[{"name":"accessToken","displayName":"Access token","description":"(Required)","type":"text","required":true,"sensitive":true},{"name":"defaultChannels","displayName":"Channels","description":"A comma-separated list of channels to post the configured events to. These channels are always notified, regardless of the event type or the presence of a addon tag.","type":"text","required":false,"sensitive":false}],"events":["addon-config-created","feature-created"],"tagTypes":[{"name":"tag-name","description":"A tag used by the X-addon to specify a configuration.","icon":"S"}]},{"name":"teams-workflow","displayName":"Microsoft Teams Workflow","description":"Allows Unleash to post updates to Microsoft Teams through a predefined Workflow","documentationUrl":"https://docs.getunleash.io/integrate/teams-workflow","parameters":[{"name":"url","displayName":"Microsoft Teams Workflow 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","feature-potentially-stale-on","change-added","change-discarded","change-edited","change-request-applied","change-request-approval-added","change-request-approved","change-request-cancelled","change-request-created","change-request-discarded","change-request-rejected","change-request-sent-to-review","change-request-scheduled","change-request-scheduled-application-success","change-request-scheduled-application-failure","change-request-schedule-suspended","release-plan-progressions-paused","release-plan-progressions-resumed"]},{"name":"teams","displayName":"Microsoft Teams","description":"Allows Unleash to post updates to Microsoft Teams.","deprecated":"This plugin is deprecated due to Microsoft no longer supporting direct incoming webhooks. Use teams-workflow instead","documentationUrl":"https://docs.getunleash.io/integrate/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/integrate/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-<language>:<version>\"","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 `<identifier>:<version>`","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"}},"seenTokens":{"description":"A list of API tokens observed by downstream providers. (Typically Unleash Edge)","type":"array","items":{"type":"string"}}}},"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 <client>:<version>","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-<language>:<version>\"","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"},"sdkFlavor":{"description":"The identifier of an integration built on top of an Unleash SDK (e.g. an OpenFeature provider). Sent so adoption of the integration can be tracked alongside sdkVersion.","type":"string","maxLength":256,"example":"unleash-openfeature-node-provider"},"sdkFlavorVersion":{"description":"The version of the integration identified by sdk flavor, that has been built on top of an Unleash SDK","type":"string","maxLength":32,"example":"1.0.1"},"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"],"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"},"sdkVersion":{"type":"string","description":"An SDK version identifier. Usually formatted as \"unleash-client-<language>:<version>\"","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"},"sdkFlavor":{"description":"The identifier of an integration built on top of an Unleash SDK (e.g. an OpenFeature provider). Sent so adoption of the integration can be tracked alongside sdkVersion.","type":"string","maxLength":256,"example":"unleash-openfeature-node-provider"},"sdkFlavorVersion":{"description":"The version of the integration identified by sdk flavor, that has been built on top of an Unleash SDK","type":"string","maxLength":32,"example":"1.0.1"},"bucket":{"type":"object","nullable":true,"required":["start","stop","toggles"],"description":"Holds all metrics gathered over a window of time. Typically 1 hour wide. May be omitted or null when the request only carries impact metrics.","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","SEMVER_GTE","SEMVER_LTE","REGEX"],"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":"<project>.<featureName>.<ticket>\n\nThe 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","sunset"],"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, permission, or sunset"},"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"},"companyRole":{"description":"The role of the user within the company.","type":"string","nullable":true,"example":"Developer"},"productUpdatesEmailConsent":{"type":"boolean","description":"Whether the user has consented to receive product update emails.","nullable":true,"example":false},"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"}}},"edgeEnvironmentProjectsListSchema":{"type":"object","description":"Schema to request api tokens for a list of environment -> projects tuples","required":["tokens"],"properties":{"tokens":{"type":"array","description":"A list of requested api tokens.","items":{"type":"object","additionalProperties":false,"description":"A list of requested environment -> projects tuples.","required":["environment","projects"],"properties":{"environment":{"type":"string","description":"The name of an existing environment","example":"development","nullable":false},"projects":{"type":"array","description":"The list of projects Edge wants access to, or '*' for a wildcard token","items":{"type":"string","example":"default"},"nullable":false}},"nullable":false},"nullable":false}}},"edgeTokenSchema":{"type":"object","additionalProperties":false,"required":["token","projects","type","environment"],"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"]},"environment":{"description":"The environment this token as access to","type":"string","example":"development"},"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. <project(s)>:<environment>.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","user-access-request-registered","user-access-request-approved","user-access-request-rejected","remote-mcp-server-settings-updated"],"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}}}},"featureEnvironmentSafeguardSchema":{"type":"object","required":["id","action","triggerCondition","impactMetric"],"description":"A safeguard configuration for a feature environment.","additionalProperties":false,"properties":{"id":{"type":"string","description":"The unique ULID identifier for this safeguard","example":"01JB9GGTGQYEQ9D40R17T3YVW1"},"action":{"type":"object","required":["type","featureName","environment","project"],"additionalProperties":false,"description":"Disable a feature in an environment when triggered.","properties":{"type":{"type":"string","description":"The type of action to perform.","example":"disableFeatureEnvironment"},"featureName":{"type":"string","description":"The feature flag name this safeguard applies to."},"environment":{"type":"string","description":"The environment this safeguard applies to."},"project":{"type":"string","description":"The project this safeguard applies to."}}},"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"]}},"source":{"type":"string","enum":["internal","external"],"description":"The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.","example":"internal"}},"description":"The metric configuration used to evaluate the safeguard condition."}}},"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","items":{"$ref":"#/components/schemas/releasePlanSchema"}},"safeguards":{"type":"array","description":"Safeguards for this feature environment","items":{"$ref":"#/components/schemas/featureEnvironmentSafeguardSchema"}},"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"}},"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/linkSchema"}}}},"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"},"environments":{"type":"array","items":{"$ref":"#/components/schemas/featureEnvironmentSchema"},"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"},"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","items":{"$ref":"#/components/schemas/releasePlanSchema"}},"safeguards":{"type":"array","description":"Safeguards for this feature environment","items":{"$ref":"#/components/schemas/featureEnvironmentSafeguardSchema"}},"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"},"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"}},"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"},"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"}}},"flagCreatorsSchema":{"type":"object","description":"A paginated list of users who have created flags across accessible projects.","required":["flagCreators","total"],"properties":{"total":{"type":"integer","example":50,"description":"The total number of flag creators matching the search and access filters."},"flagCreators":{"type":"array","description":"The flag creators returned in the current page.","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"}}}}}},"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"}}}},"groupItemSchema":{"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},"scimId":{"description":"The SCIM ID of the group, only present if managed by SCIM","type":"string","nullable":true,"example":"01HTMEXAMPLESCIMID7SWWGHN7"}}},"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"}}},"linkSchema":{"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"},"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"]}},"source":{"type":"string","enum":["internal","external"],"description":"The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.","example":"internal"}}},"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"}}},"onboardingStatusSchema":{"type":"object","description":"The current onboarding status of a project.","example":{"status":"first-flag-created","feature":"my-feature-flag"},"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["onboarding-started","sdk-connected","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}]},"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-<language>:<version>\"","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":{"$ref":"#/components/schemas/onboardingStatusSchema"},"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","SEMVER_GTE","SEMVER_LTE","REGEX"],"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","groups","features","subscriptions","canChangePassword"],"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"]},"groups":{"description":"Experimental: Which groups this user is a member of","type":"array","items":{"$ref":"#/components/schemas/groupItemSchema"},"example":[]},"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":[]},"canChangePassword":{"description":"Whether the current user has a local password that can be changed.","type":"boolean","example":true}}},"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","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"},"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":{"$ref":"#/components/schemas/onboardingStatusSchema"}}},"projectSchema":{"type":"object","additionalProperties":true,"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.\n\nStats are divided into current and previous **windows**.\n- The **current window** is the past 30 days.\n- 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","name","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"},"name":{"type":"string","description":"The name of the strategy type","example":"flexibleRollout"},"strategyName":{"type":"string","description":"The name of the strategy type","example":"flexibleRollout","deprecated":true},"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"}},"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}}},"releasePlanSafeguardSchema":{"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"]}},"source":{"type":"string","enum":["internal","external"],"description":"The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.","example":"internal"}},"description":"The metric configuration used to evaluate the safeguard condition."}}},"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/releasePlanSafeguardSchema"}}}},"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},"project":{"type":"string","description":"The project this release template belongs to. `null` for global release templates available in all projects.","example":"my-project","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}}},"releasePlanTemplatesSchema":{"description":"A collection of release plan templates","type":"array","items":{"$ref":"#/components/schemas/releasePlanTemplateSchema"}},"releasePlansSchema":{"description":"A collection of release plans","type":"array","items":{"$ref":"#/components/schemas/releasePlanSchema"}},"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"}}},"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"}}}},"signupDataSchema":{"type":"object","description":"An object describing the user and company signup data.","additionalProperties":false,"properties":{"shouldSetPassword":{"type":"boolean","description":"Whether the user should set a password as part of the signup process.","example":false},"name":{"type":"string","description":"The user's name.","example":"Mark Scout"},"companyRole":{"type":"string","description":"The role of the user within the company.","example":"Developer"},"companyName":{"type":"string","description":"The name of the company.","example":"Lumon Industries"},"companyIsNA":{"type":"boolean","description":"Whether the company is based in North America.","example":true},"productUpdatesEmailConsent":{"type":"boolean","description":"Whether the user has consented to receive product update emails.","example":true}}},"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\"}"}}}},"submitSignupDataSchema":{"type":"object","description":"An object describing the user and company signup data submission.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The user's name.","example":"Mark Scout"},"companyRole":{"type":"string","description":"The role of the user within the company.","example":"Developer"},"companyName":{"type":"string","description":"The name of the company.","example":"Lumon Industries"},"companyIsNA":{"type":"boolean","description":"Whether the company is based in North America.","example":true},"productUpdatesEmailConsent":{"type":"boolean","description":"Whether the user has consented to receive product update emails.","example":true},"password":{"type":"string","example":"k!5As3HquUrQ","description":"The user's new password."},"inviteEmails":{"type":"array","description":"A list of email addresses to invite.","items":{"type":"string"},"example":["marks@lumon.industries","hellyr@lumon.industries"]}}},"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"},"logRocketAppId":{"type":"string","description":"The LogRocket app ID used to initialize session replay in the admin UI. Only used when the `logRocketEnabled` flag is on.","example":"1knhci/unleash-sandbox"},"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},"impactMetrics":{"type":"string","enum":["disabled","unconfigured","external","internal","full"],"description":"Impact metrics availability for this instance. `disabled` when the killswitch is on; `unconfigured` when no source is set up yet; `internal`/`external`/`full` depending on which data sources are available.","example":"internal"},"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","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."},"storiesPageEnabled":{"type":"boolean","description":"Whether the internal `/_stories` component gallery route is enabled. Controlled by the `ENABLE_STORIES_PAGE` environment variable.","example":false}}},"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","sunset"],"example":"kill-switch","description":"Type of the flag e.g. experiment, kill-switch, release, operational, permission, sunset"},"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. This property is deprecated and the ability to change a strategy's type will be removed in a future release.","deprecated":true},"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},"variants":{"type":"array","description":"Strategy level variants","items":{"$ref":"#/components/schemas/strategyVariantSchema"}},"segments":{"type":"array","description":"A list of segment ids attached to the strategy","example":[1,2],"items":{"type":"number"}},"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","groups"],"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}}}},"groups":{"type":"array","description":"Experimental: The list of groups the user is in","items":{"$ref":"#/components/schemas/groupItemSchema"}},"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"},"companyRole":{"description":"The role of the user within the company.","type":"string","nullable":true,"example":"Developer"},"productUpdatesEmailConsent":{"type":"boolean","description":"Whether the user has consented to receive product update emails.","nullable":true,"example":false},"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:\n- `development`\n- `test`\n- `preproduction`\n- `production`\n\nIf 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/single-sign-on/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},"extraScopes":{"description":"Space-separated list of additional scopes to request during login, beyond the default `openid email profile` and `groups` if group syncing is enabled.","type":"string","example":"custom_scope1 custom_scope2"}}},{"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/single-sign-on/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},"extraScopes":{"description":"Space-separated list of additional scopes to request during login, beyond the default `openid email profile` and `groups` if group syncing is enabled.","type":"string","example":"custom_scope1 custom_scope2"}}}]},"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\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I\nnrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa\ne7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr\nfSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf\nepfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2\nSfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC\nIQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR\n69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa\n/KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv\nw8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S\nfIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef\n0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4\nFzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn\nnf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz\ncPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP\nIOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf\nHTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9\n/Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD\ngYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC\nJGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9\n3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q=\n"},"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\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I\nnrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa\ne7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr\nfSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf\nepfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2\nSfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC\nIQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR\n69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa\n/KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv\nw8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S\nfIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef\n0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4\nFzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn\nnf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz\ncPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP\nIOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf\nHTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9\n/Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD\ngYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC\nJGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9\n3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q=\n"},"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/single-sign-on/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\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I\nnrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa\ne7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr\nfSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf\nepfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2\nSfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC\nIQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR\n69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa\n/KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv\nw8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S\nfIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef\n0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4\nFzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn\nnf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz\ncPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP\nIOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf\nHTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9\n/Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD\ngYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC\nJGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9\n3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q=\n"},"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\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I\nnrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa\ne7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr\nfSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf\nepfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2\nSfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC\nIQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR\n69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa\n/KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv\nw8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S\nfIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef\n0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4\nFzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn\nnf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz\ncPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP\nIOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf\nHTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9\n/Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD\ngYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC\nJGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9\n3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q=\n"},"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/single-sign-on/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 milestone 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":["updateMilestoneStrategy"],"description":"The name of this action."},"payload":{"required":["id"],"$ref":"#/components/schemas/updateMilestoneStrategySchema","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":"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":["changeReleasePlanSafeguard"],"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":["deleteReleasePlanSafeguard"],"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":"object","required":["feature","payload","action"],"description":"Create or update a safeguard for a 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":["changeFeatureEnvSafeguard"],"description":"The name of this action."},"payload":{"type":"object","required":["safeguard"],"properties":{"safeguard":{"$ref":"#/components/schemas/createSafeguardSchema"}}}}},{"type":"object","required":["feature","payload","action"],"description":"Delete a safeguard from a 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":["deleteFeatureEnvSafeguard"],"description":"The name of this action."},"payload":{"type":"object","required":["safeguardId"],"properties":{"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 milestone 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":["updateMilestoneStrategy"],"description":"The name of this action."},"payload":{"required":["id"],"$ref":"#/components/schemas/updateMilestoneStrategySchema","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":"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":["changeReleasePlanSafeguard"],"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":["deleteReleasePlanSafeguard"],"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":"object","required":["feature","payload","action"],"description":"Create or update a safeguard for a 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":["changeFeatureEnvSafeguard"],"description":"The name of this action."},"payload":{"type":"object","required":["safeguard"],"properties":{"safeguard":{"$ref":"#/components/schemas/createSafeguardSchema"}}}}},{"type":"object","required":["feature","payload","action"],"description":"Delete a safeguard from a 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":["deleteFeatureEnvSafeguard"],"description":"The name of this action."},"payload":{"type":"object","required":["safeguardId"],"properties":{"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 conflicts 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 milestone 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":["updateMilestoneStrategy"],"description":"The name of this action."},"payload":{"required":["id"],"$ref":"#/components/schemas/updateMilestoneStrategySchema","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":"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":["changeReleasePlanSafeguard"],"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":["deleteReleasePlanSafeguard"],"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":"object","required":["feature","payload","action"],"description":"Create or update a safeguard for a 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":["changeFeatureEnvSafeguard"],"description":"The name of this action."},"payload":{"type":"object","required":["safeguard"],"properties":{"safeguard":{"$ref":"#/components/schemas/createSafeguardSchema"}}}}},{"type":"object","required":["feature","payload","action"],"description":"Delete a safeguard from a 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":["deleteFeatureEnvSafeguard"],"description":"The name of this action."},"payload":{"type":"object","required":["safeguardId"],"properties":{"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.\n\nDefault 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/api/get-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"},"type":{"description":"The type of event. `login` for sign-in attempts and `logout` for sign-outs.","type":"string","enum":["login","logout"],"example":"login"},"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"}}}},"userSessionSchema":{"description":"A model representing a single active user session.","type":"object","additionalProperties":false,"required":["id","createdAt"],"properties":{"id":{"description":"An opaque, non-reversible identifier for the session. Use this value to revoke the session; the underlying session id is never exposed.","type":"string","example":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"userId":{"description":"The id of the user the session belongs to.","type":"integer","nullable":true,"example":13},"username":{"description":"The username or email of the user.","type":"string","nullable":true,"example":"admin"},"email":{"description":"The email of the user, if known.","type":"string","nullable":true,"example":"admin@example.com"},"ip":{"description":"The IP address the session was first seen from. May be null for sessions created before IP capture was enabled.","type":"string","nullable":true,"example":"::ffff:127.0.0.1"},"browser":{"description":"The browser the session was started from, derived from the User-Agent. May be null when unknown or not captured.","type":"string","nullable":true,"example":"Chrome"},"deviceType":{"description":"The high-level device type the session was started from, derived from the User-Agent. May be null when unknown or not captured.","type":"string","enum":["desktop","mobile","tablet"],"nullable":true,"example":"desktop"},"createdAt":{"description":"When the session was created.","type":"string","format":"date-time","example":"2023-03-01T12:04:26.061Z"},"expiredAt":{"description":"When the session expires, if known.","type":"string","format":"date-time","nullable":true,"example":"2023-03-03T12:04:26.061Z"},"current":{"description":"Whether this is the session of the user making the request. Revoking it will log the caller out.","type":"boolean","example":false}}},"userSessionsSchema":{"description":"A response model with a list of active user sessions.","type":"object","additionalProperties":false,"required":["sessions"],"properties":{"sessions":{"type":"array","description":"A list of active user sessions","items":{"$ref":"#/components/schemas/userSessionSchema"}}}},"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\n\nMaintenance is **scheduled**.\n\n## More details\n\nThis 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\n\nMaintenance is **scheduled**.\n\n## More details\n\nThis 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}}},"remoteMcpSettingsSchema":{"type":"object","required":["enabled"],"description":"An object describing the remote MCP server settings.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether the remote MCP server is currently enabled."}}},"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\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I\nnrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa\ne7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr\nfSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf\nepfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2\nSfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC\nIQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR\n69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa\n/KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv\nw8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S\nfIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef\n0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4\nFzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn\nnf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz\ncPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP\nIOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf\nHTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9\n/Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD\ngYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC\nJGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9\n3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q=\n"},"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\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNzIyWhcNMTcwODIxMDcyNzIyWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wggNHMIICOQYHKoZIzjgEATCCAiwCggEBAMbmu6uSdZWRxnO5PteARz5I\nnrdM7vJadzJcY9Spf0cAhUDWyINCrUDn8h8QjbMiAxd+E7v5N85TbfvrW+/g7lYa\ne7DB0uX02Rw29yoK+TE/znNTNq6HdPn/H4ll77uJqpkWgQwXgAQ3qDKRv96QaTfr\nfSXYRxG9NvKzUBs9S7Woby7K6Pgh7/EmgeiOHKSX49XD+ihvkFRSFdeL5qV5hzDf\nepfk8Ghl0cyK9jpM/yKlRuUUkP1pSMwUrCrptyRpqqXmam0UfFuFhMT2SJyNTyo2\nSfnyZb78lbYcVLJQLJA+O3l469eOH3Odv/Pq7bvOstBKg96Q7imz5t0honf63EMC\nIQCw7FeY0QQbxWYy+MI8/0m2kiRzIruA8RUPcEs4il1mwwKCAQB4W3QLepQRTWhR\n69Xv+fC5JLEDyngw9KEalKorlg6o4Z9hASMbFMwECjlXZCxKd/NFjUMbtPcrMCoa\n/KuaqRvHLs2bqe94X5VR4lWCv0SgOunKBj58jnVuN/OkkLu4cSZQ/jia/yPkdcMv\nw8ZjF7zjPXGVhh9XC0QU9ipVfrreGaBSN+0zODKY5TyQI84FsZFZNetOTIT0HT2S\nfIDRGYaL/0xMfQx070Z07cdTTuibzJHVr38qjKqEDiwAUyjXVdE+GJ15ZD4d56Ef\n0qgRpzDmuvUjOtv1t8Hr2O2HTABqRMtAKZsLEVPjwnpKpcStixfg0uIPGVIKbej4\nFzHHpO6bA4IBBgACggEBAJNRaaTFe253sOVm/JmUgsO1QB5GI5hOEWLpC8KHxgwn\nnf/GQUaJLrN8TT4hXgJM2CdvdAkY6et1HpT6BUoz1cYTgsE3ToIsbH3SzPJvU7jz\ncPOvY1jQv+xVBrU8Ydw2D8pydbAcw/L6JZnGpFBqeHa1iFAQc0B8ToXEgxnmGAdP\nIOAKAHX0S4m6CrP5fKwYbmzu8WuWO4bRqvX7QJofrs2RaGFESulw0VrMFffJ/guf\nHTvhDaMW7TSCKo1tBZK9SdEbWCQN2stnfnRSyZFQ+v02oyQtLg+3vSuCx4PS9DM9\n/Uh3r9JDDH3GveUMbqw8Dmy6WH9iV3oOJt8aVF8F4CMwDQYJKoZIhvcNAQEFBQAD\ngYEAbxDoJM8vKVfhltpfG3YXmBKnoGb2UpdKpcjmxMt1/yX8lWJaRBwUDeiDqjVC\nJGi9gXO2SDAtXl7GI1cXTs/l7QlmoTmnc6kDwqk3pl6jC72rQH3E/Fpg7hBkSWL9\n3V1dbLU5id63lVD8sUEULyfWFGk3L+Uka5oiSsxwZhdIb/Q=\n"},"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/single-sign-on/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/single-sign-on/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},"extraScopes":{"description":"Space-separated list of additional scopes to request during login, beyond the default `openid email profile` and `groups` if group syncing is enabled.","type":"string","example":"custom_scope1 custom_scope2"}}},"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"],"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"},"name":{"type":"string","description":"The name of the strategy type","example":"flexibleRollout"},"strategyName":{"type":"string","description":"The name of the strategy type","example":"flexibleRollout","deprecated":true},"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"}}}},"updateMilestoneStrategySchema":{"type":"object","description":"Update a milestone strategy configuration for a feature flag","properties":{"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},"variants":{"type":"array","description":"Strategy level variants","items":{"$ref":"#/components/schemas/strategyVariantSchema"}},"segments":{"type":"array","description":"A list of segment ids attached to the strategy","example":[1,2],"items":{"type":"number"}},"parameters":{"$ref":"#/components/schemas/parametersSchema"}}},"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"}}}},"availableImpactMetricsSchema":{"type":"object","required":["metrics"],"description":"Response containing the available impact metrics and their metadata.","additionalProperties":false,"properties":{"metrics":{"type":"array","description":"The list of available impact metrics.","items":{"type":"object","required":["name","help","displayName","source"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The metric name.","example":"http_requests_total"},"help":{"type":"string","description":"The help text for the metric.","example":"Total number of HTTP requests."},"displayName":{"type":"string","description":"A human-readable display name.","example":"HTTP Requests Total"},"source":{"type":"string","enum":["internal","external"],"description":"Whether this metric comes from an internal or external source.","example":"internal"}}}}}},"impactMetricsDataSchema":{"type":"object","required":["start","end","step","series","labels"],"description":"Response containing time series data from a metrics source.","additionalProperties":false,"properties":{"start":{"type":"string","description":"The start of the queried time range as a Unix epoch timestamp in seconds.","example":"1712745600"},"end":{"type":"string","description":"The end of the queried time range as a Unix epoch timestamp in seconds.","example":"1712832000"},"step":{"type":"string","description":"The step interval between data points.","example":"15m"},"series":{"type":"array","description":"Array of time series results.","items":{"type":"object","required":["metric","data"],"additionalProperties":false,"properties":{"metric":{"type":"object","description":"Label key-value pairs identifying this series.","additionalProperties":{"type":"string"}},"data":{"type":"array","description":"Array of [timestamp, value] data points. Timestamps are Unix epoch seconds; values are strings.","items":{"type":"array","description":"A [timestamp, value] tuple. The first element is a Unix timestamp (number), the second is the metric value (string).","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number","description":"Unix timestamp in seconds."},{"type":"string","description":"Metric value as a string."}]}}}}}},"labels":{"type":"object","description":"Available label values for the queried metric, keyed by label name.","additionalProperties":{"type":"array","items":{"type":"string"}}},"debug":{"type":"object","description":"Internal debug information. This field is not part of the public API and may be removed without notice.","properties":{"query":{"type":"string","description":"The PromQL query that was executed."},"metricType":{"type":"string","description":"The resolved metric type."},"isTruncated":{"type":"boolean","description":"Whether the series data was truncated due to limits."}}}}},"impactMetricsConfigSchema":{"type":"object","required":["metricName","timeRange","yAxisMin","aggregationMode","labelSelectors","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"]}},"source":{"type":"string","enum":["internal","external"],"description":"The Prometheus data source for this metric. Defaults to internal.","example":"internal"},"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},"source":{"type":"string","enum":["internal","external"],"description":"The Prometheus data source for this metric. Defaults to internal.","example":"internal"}}},"registerImpactMetricSchema":{"type":"object","required":["name","type"],"description":"Describes a new impact metric to register with a zero initial value.","additionalProperties":false,"properties":{"name":{"type":"string","pattern":"^[a-zA-Z_:][a-zA-Z0-9_:]*$","description":"The metric name. Must start with a letter or underscore and contain only alphanumerics, underscores or colons.","example":"checkout_completions"},"type":{"type":"string","enum":["counter","gauge","histogram"],"description":"The type of metric to register.","example":"counter"}}},"externalImpactMetricsSourceSchema":{"description":"Configuration for connecting to an external impact-metrics source (any Prometheus-compatible endpoint). A valid URL must be supplied whenever `enabled` is true, including when re-enabling after a previous disable.","type":"object","additionalProperties":false,"required":["enabled"],"example":{"enabled":true,"url":"https://metrics.example.com"},"properties":{"enabled":{"type":"boolean","description":"Whether the external impact-metrics source is active. When `true`, `url` must be a valid non-empty URL.","example":true},"url":{"type":"string","description":"Base URL of the external impact-metrics source. Basic-Auth credentials may be embedded in the URL (e.g. `https://user:pass@metrics.example.com`); they are extracted into an `Authorization` header on outbound requests. Required (non-empty, valid URL) when `enabled` is true; an empty string is discarded when `enabled` is false.","example":"https://metrics.example.com"}}},"setExternalImpactMetricsSourceSchema":{"description":"Configuration for connecting to an external impact-metrics source (any Prometheus-compatible endpoint). A valid URL must be supplied whenever `enabled` is true, including when re-enabling after a previous disable.","type":"object","additionalProperties":false,"required":["enabled"],"example":{"enabled":true,"url":"https://metrics.example.com"},"properties":{"enabled":{"type":"boolean","description":"Whether the external impact-metrics source is active. When `true`, `url` must be a valid non-empty URL.","example":true},"url":{"type":"string","description":"Base URL of the external impact-metrics source. Basic-Auth credentials may be embedded in the URL (e.g. `https://user:pass@metrics.example.com`); they are extracted into an `Authorization` header on outbound requests. Required (non-empty, valid URL) when `enabled` is true; an empty string is discarded when `enabled` is false.","example":"https://metrics.example.com"}}},"validateExternalImpactMetricsSourceSchema":{"description":"Request body for validating an external impact-metrics source URL. The URL is checked on the fly and is not persisted.","type":"object","additionalProperties":false,"required":["url"],"example":{"url":"https://metrics.example.com"},"properties":{"url":{"type":"string","description":"Base URL of the external impact-metrics source to test. Basic-Auth credentials may be embedded in the URL (e.g. `https://user:pass@metrics.example.com`); they are extracted into an `Authorization` header on outbound requests.","example":"https://metrics.example.com"}}},"validateExternalImpactMetricsSourceResultSchema":{"description":"Result of validating an external impact-metrics source URL. The endpoint always returns 200; failures are reported in the `error` field while `metrics` is empty.","type":"object","additionalProperties":false,"required":["metrics"],"properties":{"metrics":{"type":"array","description":"List of metric names discovered at the supplied URL. Empty when the URL could not be validated.","items":{"type":"string"},"example":["http_requests_total","process_cpu_seconds_total"]},"error":{"type":"string","description":"Human-readable explanation of why the URL could not be validated. Omitted on success.","example":"External source returned HTTP 401"}}},"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"]}},"source":{"type":"string","enum":["internal","external"],"description":"The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.","example":"internal"}},"description":"Metric configuration that should be evaluated for the safeguard."},"triggerCondition":{"$ref":"#/components/schemas/safeguardTriggerConditionSchema","description":"The condition that triggers the safeguard."}}},"approveUserAccessRequestSchema":{"type":"object","required":["rootRole"],"description":"The data required to approve a user access request.","additionalProperties":false,"properties":{"rootRole":{"type":"integer","description":"The ID of the root role to assign to the new user.","example":2}}},"userAccessRequestSchema":{"type":"object","required":["id","email","requestedAt"],"description":"An object describing a user access request.","additionalProperties":false,"properties":{"id":{"type":"string","description":"The unique ULID identifier for this user access request.","example":"01JB9GGTGQYEQ9D40R17T3YVW1"},"email":{"type":"string","description":"The email address of the user requesting access.","example":"rocky@planet-erid.com"},"requestedAt":{"type":"string","format":"date-time","description":"The date and time of when the user access was requested.","example":"2023-12-27T13:37:00+01:00"},"imageUrl":{"type":"string","description":"The URL of the user profile image generated based on the email address.","example":"https://www.gravatar.com/avatar/abc123"}}},"userAccessRequestsSchema":{"description":"A response model with a list of user access requests.","type":"object","additionalProperties":false,"required":["userAccessRequests"],"properties":{"userAccessRequests":{"type":"array","description":"A list of user access requests.","items":{"$ref":"#/components/schemas/userAccessRequestSchema"}}}}}},"tags":[{"name":"Addons","description":"Create, update, and delete [Unleash addons](https://docs.getunleash.io/integrate)."},{"name":"Admin UI","description":"Configuration for the Unleash Admin UI. These endpoints should not be relied upon and can change at any point without prior notice."},{"name":"API tokens","description":"Create, update, and delete [Unleash API tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys)."},{"name":"Archive","description":"Revive or permanently delete [archived feature flags](https://docs.getunleash.io/concepts/technical-debt)."},{"name":"Auth","description":"Manage logins, passwords, etc."},{"name":"Banners","description":"Create, update, flag, and delete [banners](https://docs.getunleash.io/concepts/banners)."},{"name":"Change Requests","description":"API for managing [change requests](https://docs.getunleash.io/concepts/change-requests)."},{"name":"Client","description":"Endpoints for [Unleash backend clients](https://docs.getunleash.io/sdks)."},{"name":"Context","description":"Create, update, and delete [context fields](https://docs.getunleash.io/concepts/unleash-context) that Unleash is aware of."},{"name":"Dependencies","description":"Manage feature dependencies."},{"name":"Environments","description":"Create, update, delete, enable or disable [environments](https://docs.getunleash.io/concepts/environments) for this Unleash instance."},{"name":"Events","description":"Read events from this Unleash instance."},{"name":"Feature Types","description":"Manage [feature flag types](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types)."},{"name":"Features","description":"Create, update, and delete [feature flags](https://docs.getunleash.io/concepts/feature-flags)."},{"name":"Frontend API","description":"The [Frontend API](https://docs.getunleash.io/concepts/front-end-api) is used for connecting client-side (frontend) applications to Unleash."},{"name":"Import/Export","description":"[Import and export](https://docs.getunleash.io/concepts/import-export) the state of your Unleash instance."},{"name":"Instance Admin","description":"Instance admin endpoints used to manage the Unleash instance itself."},{"name":"Maintenance","description":"Enable/disable the maintenance mode of Unleash."},{"name":"Metrics","description":"Register, read, or delete metrics recorded by Unleash."},{"name":"Notifications","description":"API for managing [notifications](https://docs.getunleash.io/api/get-notifications)."},{"name":"Operational","description":"Endpoints related to the operational status of this Unleash instance."},{"name":"Personal access tokens","description":"Create, update, and delete [Personal access tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens)."},{"name":"Playground","description":"Evaluate an Unleash context against your feature flags."},{"name":"Projects","description":"Create, update, and delete [Unleash projects](https://docs.getunleash.io/concepts/projects)."},{"name":"Public signup tokens","description":"Create, update, and delete [Unleash Public Signup tokens](https://docs.getunleash.io/concepts/public-signup)."},{"name":"Release Templates","description":"API for managing [release templates](https://docs.getunleash.io/concepts/release-templates)."},{"name":"Search","description":"Search for features."},{"name":"Segments","description":"Create, update, delete, and manage [segments](https://docs.getunleash.io/concepts/segments)."},{"name":"Service Accounts","description":"Endpoints for managing [Service Accounts](https://docs.getunleash.io/concepts/service-accounts), which enable programmatic access to the Unleash API."},{"name":"Signup","description":"Endpoints related to signup and account setup."},{"name":"Strategies","description":"Create, update, delete, manage [custom strategies](https://docs.getunleash.io/concepts/activation-strategies#custom-strategies)."},{"name":"Tags","description":"Create, update, and delete [tags and tag types](https://docs.getunleash.io/concepts/feature-flags#tags)."},{"name":"Telemetry","description":"API for information about telemetry collection"},{"name":"Unknown Flags","description":"Endpoints related to unknown flags."},{"name":"Unleash Edge","description":"Endpoints related to [Unleash Edge](https://docs.getunleash.io/unleash-edge)."},{"name":"Users","description":"Manage users and passwords."}],"paths":{"/api/admin/projects":{"get":{"tags":["Projects"],"operationId":"getProjects","summary":"Get a list of all projects.","description":"This endpoint returns an list of all the projects in the Unleash instance.","parameters":[{"name":"archived","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"projectsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Projects"],"operationId":"createProject","summary":"Create project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreate a new [Unleash project](https://docs.getunleash.io/concepts/projects).","requestBody":{"description":"createProjectSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createProjectSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectCreatedSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/projects/validate":{"post":{"tags":["Projects"],"operationId":"validateProject","summary":"Validate project ID","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nValidate a project ID against Unleash's rules","requestBody":{"description":"validateProjectSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/validateProjectSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/projects/{projectId}":{"put":{"tags":["Projects"],"operationId":"updateProject","summary":"Update project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdate a project with new configuration. Any fields not provided are ignored.","requestBody":{"description":"updateProjectSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateProjectSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Projects"],"summary":"Delete project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nPermanently delete the provided project. All feature flags in the project must be archived before you can delete it. This permanently deletes the project and its archived flags. It can not be undone.","operationId":"deleteProject","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/settings":{"put":{"tags":["Projects"],"operationId":"updateProjectEnterpriseSettings","summary":"Update project enterprise settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdate project enterprise settings with new values. Any fields not provided are ignored.","requestBody":{"description":"updateProjectEnterpriseSettingsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateProjectEnterpriseSettingsSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/archive/{projectId}":{"post":{"tags":["Projects"],"summary":"Archive project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nArchive the provided project. All feature flags in the project must be archived before you can archive the project.","operationId":"archiveProject","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/revive/{projectId}":{"post":{"tags":["Projects"],"summary":"Revive project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRevive the specified project from the archive.","operationId":"reviveProject","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/access":{"get":{"tags":["Projects"],"summary":"Get users and groups in project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGet all groups, users and their roles, and available roles for the given project.","operationId":"getProjectAccess","responses":{"200":{"description":"projectAccessSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectAccessSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Projects"],"summary":"Set users and groups to roles in the current project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSets all groups, users and their roles for the given project, overriding any existing configuration.","operationId":"setProjectAccess","requestBody":{"description":"projectAccessConfigurationSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectAccessConfigurationSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Projects"],"summary":"Configure project access","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nConfigure project access for groups and single users. The provided users and groups will be given the roles specified in the payload.","operationId":"addAccessToProject","requestBody":{"description":"projectAddAccessSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectAddAccessSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/roles/{roleId}/access":{"get":{"tags":["Projects"],"summary":"Get project-role mappings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFor the provided role, retrieves a list of projects that use this role. For each project it also contains information about how the role used in that project, such as how many users, groups, or service accounts that use the role.","operationId":"getRoleProjectAccess","responses":{"200":{"description":"projectRoleUsageSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectRoleUsageSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/users/{userId}/roles":{"put":{"tags":["Projects"],"summary":"Sets roles for user","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSets the roles a user has in the project.","operationId":"setRolesForUser","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Projects"],"summary":"Remove project access for a user","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRemoves project access for a user by removing all of its roles for the project.","operationId":"removeUserAccess","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/groups/{groupId}/roles":{"put":{"tags":["Projects"],"summary":"Sets roles for group","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSets the roles a group has in the project.","operationId":"setRolesForGroup","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Projects"],"summary":"Remove project access for a group","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRemoves project access for a group by removing all of its roles for the project.","operationId":"removeGroupAccess","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/changeProject":{"post":{"tags":["Features"],"operationId":"changeProject","summary":"Move feature to project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nMoves the specified feature to the new project in the request schema. Requires you to have permissions to move the feature flag in both projects. Features that are included in any active change requests can not be moved.","requestBody":{"description":"changeProjectSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeProjectSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/permissions":{"get":{"tags":["Auth"],"operationId":"getPermissions","summary":"Gets available permissions","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns a list of available permissions","responses":{"200":{"description":"adminPermissionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adminPermissionsSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/metrics/rps":{"get":{"tags":["Metrics"],"operationId":"getRequestsPerSecond","summary":"Gets usage data","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets usage data per app/endpoint from a prometheus compatible metrics endpoint","responses":{"200":{"description":"requestsPerSecondSegmentedSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/requestsPerSecondSegmentedSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/metrics/traffic":{"get":{"tags":["Metrics"],"operationId":"getTrafficDataUsageForPeriod","summary":"Get aggregated traffic data for a given time period.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets traffic usage data for the selected period, either aggregated by day or by month.","parameters":[{"name":"grouping","in":"query","required":true,"schema":{"type":"string","enum":["daily","monthly"],"example":"daily"},"description":"Whether to aggregate the data by month or by day"},{"name":"from","schema":{"type":"string","format":"date","example":"2024-01-01"},"description":"The starting date of the traffic data usage search in IS:yyyy-MM-dd format","in":"query","required":true},{"name":"to","schema":{"type":"string","example":"2024-01-31","format":"date"},"description":"The starting date of the traffic data usage search in IS:yyyy-MM-dd format","in":"query","required":true}],"responses":{"200":{"description":"trafficUsageDataSegmentedCombinedSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trafficUsageDataSegmentedCombinedSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/metrics/connection":{"get":{"tags":["Metrics"],"operationId":"getConnectionsForPeriod","summary":"[BETA] Get aggregated metered connections for a given time period.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nGets metered connections count for the selected period, either aggregated by day or by month.","parameters":[{"name":"grouping","in":"query","required":true,"schema":{"type":"string","enum":["daily","monthly"],"example":"daily"},"description":"Whether to aggregate the data by month or by day"},{"name":"from","schema":{"type":"string","format":"date","example":"2024-01-01"},"description":"The starting date of the traffic data usage search in IS:yyyy-MM-dd format","in":"query","required":true},{"name":"to","schema":{"type":"string","example":"2024-01-31","format":"date"},"description":"The starting date of the traffic data usage search in IS:yyyy-MM-dd format","in":"query","required":true}],"responses":{"200":{"description":"meteredConnectionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/meteredConnectionsSchema"}}}}},"x-stability-level":"beta"}},"/api/admin/metrics/request":{"get":{"tags":["Metrics"],"operationId":"getRequestsForPeriod","summary":"[BETA] Get aggregated metered requests for a given time period.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nGets metered requests count for the selected period, either aggregated by day or by month.","parameters":[{"name":"grouping","in":"query","required":true,"schema":{"type":"string","enum":["daily","monthly"],"example":"daily"},"description":"Whether to aggregate the data by month or by day"},{"name":"from","schema":{"type":"string","format":"date","example":"2024-01-01"},"description":"The starting date of the traffic data usage search in IS:yyyy-MM-dd format","in":"query","required":true},{"name":"to","schema":{"type":"string","example":"2024-01-31","format":"date"},"description":"The starting date of the traffic data usage search in IS:yyyy-MM-dd format","in":"query","required":true}],"responses":{"200":{"description":"meteredRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/meteredRequestsSchema"}}}}},"x-stability-level":"beta"}},"/api/admin/notifications":{"get":{"summary":"Retrieves a list of notifications","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nA user may get relevant notifications from the projects they are a member of","tags":["Notifications"],"operationId":"getNotifications","responses":{"200":{"description":"notificationsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/notificationsSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/notifications/read":{"post":{"summary":"Mark notifications as read","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nAllow to select which notifications were read and saving a read date","tags":["Notifications"],"operationId":"markNotificationsAsRead","requestBody":{"description":"markNotificationsAsReadSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/markNotificationsAsReadSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable"}},"/api/admin/insights/lifecycle":{"get":{"tags":["Admin UI"],"operationId":"getLifecycleTrends","responses":{"200":{"description":"lifecycleTrendsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/lifecycleTrendsSchema"}}}}},"parameters":[{"name":"projects","schema":{"type":"string","example":"project1,project2,project3"},"description":"Comma-separated list of project IDs to filter lifecycle trends","in":"query","required":false}],"summary":"Get lifecycle trends","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets lifecycle trends information showing feature flag progression across development, production, and cleanup stages.","x-stability-level":"stable"}},"/api/admin/insights":{"get":{"tags":["Admin UI"],"operationId":"getInstanceInsights","responses":{"200":{"description":"instanceInsightsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/instanceInsightsSchema"}}}}},"parameters":[{"name":"from","schema":{"type":"string","example":"2024-01-01"},"description":"The beginning of the date range in yyyy-MM-dd format","in":"query"},{"name":"to","schema":{"type":"string","example":"2024-01-31"},"description":"The end of the date range in yyyy-MM-dd format","in":"query"}],"summary":"Get instance information","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets high level information about the usage of this Unleash instance, including user, project, and flag information.","x-stability-level":"stable"}},"/api/admin/email-subscription/{subscription}":{"put":{"tags":["Notifications"],"operationId":"subscribeEmailSubscription","responses":{"202":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"summary":"[BETA] Subscribe to email subscription","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nSubscribe to email subscription e.g. monthly productivity report. By default everyone is subscribed. This API is mostly used by hosted Unleash.","x-stability-level":"beta","parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Notifications"],"operationId":"unsubscribeEmailSubscription","responses":{"202":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"summary":"[BETA] Unsubscribe from email subscription","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nUnsubscribe from email subscription e.g. monthly productivity report. This API is mostly used by hosted Unleash.","x-stability-level":"beta","parameters":[{"name":"subscription","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/licensed-users":{"get":{"tags":["Users"],"operationId":"getAllLicensedUsers","summary":"Retrieves all licensed users data.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFetches an array of licensed users with date and count.","responses":{"200":{"description":"licensedUsersSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/licensedUsersSchema"}}}}},"x-stability-level":"stable"}},"/api/client/metrics/edge":{"post":{"summary":"Register Edge observability metrics.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRegisters Edge observability metrics from downstream Edge instances to aggregate a comprehensive status view of connected Edges.","tags":["Unleash Edge"],"operationId":"registerEdgeObservabilityMetrics","requestBody":{"description":"edgeInstanceDataSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/edgeInstanceDataSchema"}}}},"responses":{"202":{"description":"This response has no body."}},"x-stability-level":"stable"}},"/api/client/edge-licensing/heartbeat":{"post":{"summary":"Heartbeat for Enterprise Edge instances.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReports that an Enterprise Edge instance is alive and in use. This is related to billing and usage tracking.","tags":["Unleash Edge"],"operationId":"edgeInstanceHeartbeat","responses":{"202":{"description":"#/components/schemas/edgeLicenseStateSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/edgeLicenseStateSchema"}}}},"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."}}}}}}},"x-stability-level":"stable"}},"/auth/simple/login":{"post":{"tags":["Auth"],"summary":"Log in","description":"Logs in the user and creates an active session","operationId":"login","requestBody":{"description":"loginSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/loginSchema"}}}},"responses":{"200":{"description":"userSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/userSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/auth/saml/settings":{"get":{"tags":["Auth"],"summary":"Get SAML auth settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the current settings for SAML authentication","operationId":"getSamlSettings","responses":{"200":{"description":"samlSettingsResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/samlSettingsResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Auth"],"operationId":"setSamlSettings","summary":"Update SAML auth settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdates the settings for SAML Authentication","requestBody":{"description":"samlSettingsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/samlSettingsSchema"}}}},"responses":{"200":{"description":"samlSettingsResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/samlSettingsResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/auth/oidc/settings":{"get":{"tags":["Auth"],"summary":"Get OIDC auth settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the current settings for OIDC Authentication","operationId":"getOidcSettings","responses":{"200":{"description":"oidcSettingsResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oidcSettingsResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Auth"],"operationId":"setOidcSettings","summary":"Set OIDC settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nConfigure OpenID Connect as a login provider for Unleash.","requestBody":{"description":"oidcSettingsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/oidcSettingsSchema"}}}},"responses":{"200":{"description":"oidcSettingsResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oidcSettingsResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/auth/simple/settings":{"get":{"tags":["Auth"],"operationId":"getSimpleSettings","summary":"Get Simple auth settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nIs simple authentication (username/password) enabled for this server","responses":{"200":{"description":"passwordAuthSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/passwordAuthSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Auth"],"operationId":"setSimpleSettings","summary":"Update Simple auth settings","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nEnable or disable simple authentication (username/password)","requestBody":{"description":"passwordAuthSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/passwordAuthSchema"}}}},"responses":{"200":{"description":"passwordAuthSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/passwordAuthSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/groups":{"get":{"tags":["Users"],"operationId":"getGroups","summary":"Get a list of groups","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGet a list of user groups for Role-Based Access Control","responses":{"200":{"description":"groupsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/groupsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Users"],"operationId":"createGroup","summary":"Create a new group","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreate a new user group for Role-Based Access Control","requestBody":{"description":"createGroupSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createGroupSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/groupSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/groups/{groupId}":{"get":{"tags":["Users"],"operationId":"getGroup","summary":"Get a single group","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGet a single user group by group id","responses":{"200":{"description":"groupSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/groupSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Users"],"operationId":"updateGroup","summary":"Update a group","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdate existing user group by group id. It overrides previous group details.","requestBody":{"description":"createGroupSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createGroupSchema"}}}},"responses":{"200":{"description":"groupSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/groupSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Users"],"operationId":"deleteGroup","summary":"Delete a single group","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDelete a single user group by group id","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/groups/scim-groups":{"delete":{"tags":["Users"],"operationId":"deleteScimGroups","summary":"Delete all SCIM groups","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes all groups managed by SCIM","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/roles":{"get":{"tags":["Users"],"operationId":"getRoles","summary":"Get a list of roles","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGet a list of project, root and custom roles for Role-Based Access Control","responses":{"200":{"description":"rolesWithVersionSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rolesWithVersionSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Users"],"operationId":"createRole","summary":"Create a new role","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreate a new custom role for Role-Based Access Control","requestBody":{"description":"createRoleWithPermissionsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createRoleWithPermissionsSchema"}}}},"responses":{"200":{"description":"roleWithVersionSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/roleWithVersionSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/roles/{roleId}":{"get":{"tags":["Users"],"operationId":"getRoleById","summary":"Get a single role","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGet a single role by role id","responses":{"200":{"description":"roleWithPermissionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/roleWithPermissionsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Users"],"operationId":"updateRole","summary":"Update a role","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdate a custom role by role id","requestBody":{"description":"createRoleWithPermissionsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createRoleWithPermissionsSchema"}}}},"responses":{"200":{"description":"roleWithVersionSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/roleWithVersionSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Users"],"operationId":"deleteRole","summary":"Delete a custom role","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDelete a custom role by id. You cannot delete built-in roles or roles that are in use.","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"roleId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/roles/validate":{"post":{"tags":["Users"],"operationId":"validateRole","summary":"Validate a role","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCheck if the role matches schema and has a unique name","requestBody":{"description":"createRoleWithPermissionsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createRoleWithPermissionsSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/environments":{"post":{"summary":"Creates a new environment","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUses the details provided in the payload to create a new environment","tags":["Environments"],"operationId":"createEnvironment","requestBody":{"description":"createEnvironmentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createEnvironmentSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environmentSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"get":{"tags":["Environments"],"summary":"Get all environments","description":"Retrieves all environments that exist in this Unleash instance.","operationId":"getAllEnvironments","responses":{"200":{"description":"environmentsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environmentsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/environments/validate":{"post":{"summary":"Validates if an environment name exists","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUses the name provided in the body of the request to validate if the given name exists or not","tags":["Environments"],"operationId":"validateEnvironmentName","requestBody":{"description":"nameSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/nameSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/environments/update/{name}":{"put":{"summary":"Updates an environment by name","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGiven an environment by name updates the environment with the given payload. Note that `name`, `enabled` and `protected` cannot be changed by this API","tags":["Environments"],"operationId":"updateEnvironment","requestBody":{"description":"updateEnvironmentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateEnvironmentSchema"}}}},"responses":{"200":{"description":"environmentSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environmentSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/environments/{name}":{"delete":{"summary":"Deletes an environment by name","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGiven an existing environment by name, this endpoint will attempt to delete it","tags":["Environments"],"operationId":"removeEnvironment","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]},"get":{"tags":["Environments"],"operationId":"getEnvironment","summary":"Get the environment with `name`","description":"Retrieves the environment with `name` if it exists in this Unleash instance","responses":{"200":{"description":"environmentSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environmentSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/environments/{name}/clone":{"post":{"summary":"Clones an environment","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGiven an existing environment name and a set of options, this will create a copy of that environment","tags":["Environments"],"operationId":"cloneEnvironment","requestBody":{"description":"cloneEnvironmentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloneEnvironmentSchema"}}}},"responses":{"200":{"description":"environmentSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environmentSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/config":{"get":{"summary":"Retrieves change request configuration for a project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGiven a projectId, this endpoint will retrieve change request configuration for the project","tags":["Change Requests"],"operationId":"getProjectChangeRequestConfig","responses":{"200":{"description":"changeRequestConfigSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestConfigSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/environments/{environment}/change-requests/config":{"put":{"summary":"Updates change request configuration for an environment in the project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will change the change request configuration for a given environment, set it to either on/off and optionally configure the number of approvals needed. The minimum number of approvals is 1 and the maximum number is 10. If you provide a number higher than 10 or lower than 1, Unleash will clamp it to the allowed range.","tags":["Change Requests"],"operationId":"updateProjectChangeRequestConfig","requestBody":{"description":"updateChangeRequestEnvironmentConfigSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateChangeRequestEnvironmentConfigSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/scheduled":{"get":{"summary":"Get scheduled change requests matching a query.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint retrieves basic information about all scheduled change requests that match the search criteria provided in the query parameters. The endpoint will return any change request that matches one or more of the provided parameters. If you use no query parameters, you'll get an empty list.\n\nFor instance, to find all the scheduled change requests that either touch feature `MyFeature` or strategy `0D198067-7D55-460C-9EC7-DB86E3AE261A`, you would use the query string `feature=MyFeature&strategyId=0D198067-7D55-460C-9EC7-DB86E3AE261A`.","tags":["Change Requests"],"operationId":"getScheduledChangeRequests","responses":{"200":{"description":"changeRequestScheduledResultSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestScheduledResultSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/environments/{environment}/change-requests":{"post":{"summary":"Create/Add change to a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGiven a change request exists, this endpoint will attempt to add a change to\n\nan existing change request for the user. If a change request does not exist,\n\nit will attempt to create one.","tags":["Change Requests"],"operationId":"changeRequest","requestBody":{"description":"changeRequestOneOrManyCreateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestOneOrManyCreateSchema"}}}},"responses":{"200":{"description":"changeRequestSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestSchema"}}}},"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."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/count":{"get":{"summary":"Retrieves number of project change requests in each state","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will retrieve the number of project change requests that are: approved, applied, rejected, scheduled or awaiting review","tags":["Change Requests"],"operationId":"getChangeRequestsCount","responses":{"200":{"description":"changeRequestsCountSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestsCountSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/open":{"get":{"summary":"Retrieves pending change requests in configured environments","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will retrieve the pending change requests in the configured environments for the project, for the current user performing the request.","tags":["Change Requests"],"operationId":"getOpenChangeRequestsForUser","deprecated":true,"responses":{"200":{"description":"changeRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestsSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/pending":{"get":{"summary":"Retrieves pending change requests in configured environments","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will retrieve the pending change requests in the configured environments for the project, for the current user performing the request.","tags":["Change Requests"],"operationId":"getPendingChangeRequestsForUser","responses":{"200":{"description":"changeRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestsSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/actionable":{"get":{"summary":"Get the number of change requests you can do something with","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the number of change requests in this project that your user can move into the next stage by approving or applying them.","tags":["Change Requests"],"operationId":"getActionableChangeRequests","responses":{"200":{"description":"actionableChangeRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionableChangeRequestsSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests":{"get":{"summary":"Retrieves all change requests for a project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will retrieve all change requests regardless of status for a given project. There's an upper limit of last 300 change requests ordered by creation date.","tags":["Change Requests"],"operationId":"getChangeRequestsForProject","responses":{"200":{"description":"changeRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestsSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/pending/{featureName}":{"get":{"summary":"Retrieves all pending change requests referencing a feature in the project","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will retrieve all pending change requests (change requests with a status of Draft | In review | Approved) referencing the given feature flag name.","tags":["Change Requests"],"operationId":"getPendingChangeRequestsForFeature","responses":{"200":{"description":"changeRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestsSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/{id}":{"get":{"summary":"Retrieves one change request by id","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will retrieve one change request if it matches the provided id.","tags":["Change Requests"],"operationId":"getChangeRequest","responses":{"200":{"description":"changeRequestSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Deletes a change request by id","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will delete one change request if it matches the provided id.","tags":["Change Requests"],"operationId":"deleteChangeRequest","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/{changeRequestId}/changes/{changeId}":{"delete":{"summary":"Discards a change from a change request by change id","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will discard one change from a change request if it matches the provided id.","tags":["Change Requests"],"operationId":"deleteChange","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeRequestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"summary":"Edits a single change in a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will edit one change from a change request if it matches the provided id. The edit removes previous change and inserts a new one. You\n\nshould not rely on the changeId for subsequent edits and always check the most recent changeId.","tags":["Change Requests"],"operationId":"editChange","requestBody":{"description":"changeRequestCreateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestCreateSchema"}}}},"responses":{"200":{"description":"changeRequestSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeRequestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/{id}/state":{"put":{"summary":"This endpoint will update the state of a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will update the state of a change request if the business rules allow it. The state can be one of the following: Draft, In review, Approved, Cancelled, Applied. In order to be approved, the change request must have at least one change and the number of approvals must be greater than or equal to the number of approvals required for the environment.\n\nOnce a change request has been approved, it can be applied. Once a change request has been applied, it cannot be changed. Once a change request has been cancelled, it cannot be changed. Any change to a change request in the state of Approved will result in the state being set to In Review and the number of approvals will be reset.","tags":["Change Requests"],"operationId":"updateChangeRequestState","responses":{"200":{"description":"changeRequestSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/{id}/title":{"put":{"summary":"This endpoint will update the custom title of a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nChange requests get a default title e.g. Change Request #1. This endpoint allows to make the title\n\nmore meaningful and describe the intent behind the Change Request","tags":["Change Requests"],"operationId":"updateChangeRequestTitle","responses":{"204":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/{id}/approvers":{"put":{"summary":"This endpoint will update the reviewers of a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nChange requests can have requests for review from users. This endpoint allows to add or remove reviewers from a change request. The maximum number of reviewers is 10.","tags":["Change Requests"],"operationId":"addChangeRequestReviewers","responses":{"204":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"get":{"summary":"This endpoint fetches the requested approvers of a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nChange requests can have requests for review from users. This endpoint fetches the list of requested reviewers for a change request.","tags":["Change Requests"],"operationId":"getChangeRequestApprovers","responses":{"200":{"description":"changeRequestAvailableReviewersSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestAvailableReviewersSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/{id}/comments":{"post":{"summary":"This endpoint will add a comment to a change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will add a comment to a change request for the user making the request.","tags":["Change Requests"],"operationId":"addChangeRequestComment","requestBody":{"description":"changeRequestAddCommentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestAddCommentSchema"}}}},"responses":{"204":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/change-requests/available-reviewers/{environment}":{"get":{"summary":"This endpoint will return users available to review/approve this change request","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nThis endpoint will list users available to approve a change request in this project.","tags":["Change Requests"],"operationId":"getAvailableChangeRequestReviewers","responses":{"200":{"description":"changeRequestAvailableReviewersSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestAvailableReviewersSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/search/change-requests":{"get":{"tags":["Change Requests"],"summary":"Search change requests","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSearch and filter change requests by creator and approver.","operationId":"searchChangeRequests","parameters":[{"name":"createdBy","schema":{"type":"string","example":"IS:123"},"description":"Filter by change request creator user ID","in":"query"},{"name":"requestedApproverId","schema":{"type":"string","example":"IS:456"},"description":"Filter by requested approver user ID","in":"query"},{"name":"state","schema":{"type":"string","enum":["IS:open","IS:closed"],"example":"IS:open"},"description":"Filter by open / closed change requests. Change requests that are in 'draft', 'in review', 'approved', or 'scheduled' states are considered open. Change requests that are in 'cancelled', 'applied', or 'rejected' states are considered closed.","in":"query"},{"name":"offset","schema":{"type":"integer","minimum":0,"example":50,"default":0},"description":"The number of change requests to skip when returning a page. By default it is set to 0.","in":"query"},{"name":"limit","schema":{"type":"integer","minimum":1,"example":75,"default":50,"maximum":1000},"description":"The number of change requests to return in a page. By default it is set to 50. The maximum is 1000.","in":"query"}],"responses":{"200":{"description":"changeRequestSearchResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestSearchResponseSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/playground/change-request/{id}":{"post":{"operationId":"getChangeRequestPlayground","tags":["Playground"],"responses":{"200":{"description":"advancedPlaygroundResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/advancedPlaygroundResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"changeRequestPlaygroundRequestSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeRequestPlaygroundRequestSchema"}}}},"description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUse the provided `context` to evaluate toggles on this Unleash instance with a change request applied in preview mode. You can use comma-separated values to provide multiple values to each context field. Returns a combinatorial list of all toggles that match the parameters and what they evaluate to.","summary":"Evaluate an Unleash context against a change request preview.","x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/service-account":{"get":{"tags":["Service Accounts"],"operationId":"getServiceAccounts","summary":"List service accounts.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the list of all service accounts.","responses":{"200":{"description":"#/components/schemas/serviceAccountsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/serviceAccountsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Service Accounts"],"operationId":"createServiceAccount","summary":"Create a service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates a new service account.","requestBody":{"description":"#/components/schemas/createServiceAccountSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createServiceAccountSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/serviceAccountSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/service-account/{id}":{"put":{"tags":["Service Accounts"],"operationId":"updateServiceAccount","summary":"Update a service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdates an existing service account identified by its id.","requestBody":{"description":"#/components/schemas/updateServiceAccountSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateServiceAccountSchema"}}}},"responses":{"200":{"description":"#/components/schemas/serviceAccountSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/serviceAccountSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Service Accounts"],"operationId":"deleteServiceAccount","summary":"Delete a service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes an existing service account identified by its id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/service-account/{id}/token":{"get":{"tags":["Service Accounts"],"operationId":"getServiceAccountTokens","summary":"List all tokens for a service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the list of all tokens for a service account identified by the id.","responses":{"200":{"description":"#/components/schemas/patsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/patsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Service Accounts"],"operationId":"createServiceAccountToken","summary":"Create a token for a service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates a new token for the service account identified by the id.","requestBody":{"description":"#/components/schemas/createPatSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createPatSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/patSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/service-account/{id}/token/{tokenId}":{"delete":{"tags":["Service Accounts"],"operationId":"deleteServiceAccountToken","summary":"Delete a token for a service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes a token for the service account identified both by the service account's id and the token's id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"tokenId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/service-account/{id}/permissions":{"get":{"tags":["Auth"],"operationId":"getServiceAccountPermissions","summary":"Returns the list of permissions for the service account.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets a list of permissions for a service account. Project and environment can be specified.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"project","in":"query","required":false,"schema":{"type":"string"}},{"name":"environment","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/feedback":{"post":{"tags":["Admin UI"],"operationId":"createFeedback","summary":"Send Unleash feedback","description":"Sends feedback gathered from the Unleash UI to the Unleash server. Must be called with a token with an identifiable user (either from being sent from the UI or from using a [PAT](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens)).","requestBody":{"description":"feedbackCreateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/feedbackCreateSchema"}}}},"responses":{"200":{"description":"feedbackResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/feedbackResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/features-batch/export":{"post":{"tags":["Import/Export"],"operationId":"exportFeatures","requestBody":{"description":"exportQuerySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/exportQuerySchema"}}}},"responses":{"200":{"description":"exportResultSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/exportResultSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"description":"Exports all features listed in the `features` property from the environment specified in the request body. If set to `true`, the `downloadFile` property will let you download a file with the exported data. Otherwise, the export data is returned directly as JSON. Refer to the documentation for more information about [Unleash's export functionality](https://docs.getunleash.io/concepts/import-export#export-feature-flags).","summary":"Export feature flags from an environment","x-stability-level":"stable"}},"/api/admin/features-batch/validate":{"post":{"tags":["Import/Export"],"operationId":"validateImport","requestBody":{"description":"importTogglesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/importTogglesSchema"}}}},"responses":{"200":{"description":"importTogglesValidateSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/importTogglesValidateSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"summary":"Validate feature import data","description":"Validates a feature flag data set. Checks whether the data can be imported into the specified project and environment. The returned value is an object that contains errors, warnings, and permissions required to perform the import, as described in the [import documentation](https://docs.getunleash.io/concepts/import-export#import-feature-flags).","x-stability-level":"stable"}},"/api/admin/features-batch/import":{"post":{"tags":["Import/Export"],"operationId":"importToggles","requestBody":{"description":"importTogglesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/importTogglesSchema"}}}},"responses":{"200":{"description":"This response has no body."},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"summary":"Import feature flags","description":"[Import feature flags](https://docs.getunleash.io/concepts/import-export#import-feature-flags) into a specific project and environment.","x-stability-level":"stable"}},"/api/admin/logins":{"get":{"tags":["Instance Admin"],"operationId":"getLoginHistory","responses":{"200":{"description":"loginHistorySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loginHistorySchema"}},"text/csv":{"schema":{"type":"string"}}}},"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns **all** login events in the Unleash system. You can optionally get them in CSV format by specifying the `Accept` header as `text/csv`.","summary":"Get all login events.","x-stability-level":"stable"}},"/api/admin/access/overview":{"get":{"tags":["Auth"],"operationId":"getAccessOverview","summary":"Gets access overview","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets an overview of what access all users have to all projects and groups","responses":{"200":{"description":"accessOverviewSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/accessOverviewSchema"}},"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/banners":{"get":{"tags":["Banners"],"operationId":"getBanners","summary":"Get all banners.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns a list of all configured banners.","responses":{"200":{"description":"bannersSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bannersSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Banners"],"operationId":"createBanner","summary":"Create a banner.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates a new banner.","requestBody":{"description":"createBannerSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBannerSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bannerSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/banners/{id}":{"put":{"tags":["Banners"],"operationId":"updateBanner","summary":"Update a banner.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdates an existing banner identified by its id.","requestBody":{"description":"createBannerSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBannerSchema"}}}},"responses":{"200":{"description":"bannerSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bannerSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Banners"],"operationId":"deleteBanner","summary":"Delete a banner.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes an existing banner identified by its id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/banners/{id}/on":{"post":{"tags":["Banners"],"operationId":"enableBanner","summary":"Enables a banner.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nEnables an existing banner, identified by its id.","responses":{"200":{"description":"bannerSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bannerSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/banners/{id}/off":{"post":{"tags":["Banners"],"operationId":"disableBanner","summary":"Disables a banner.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDisables an existing banner, identified by its id.","responses":{"200":{"description":"bannerSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bannerSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signal-endpoints":{"get":{"tags":["Operational"],"operationId":"getSignalEndpoints","summary":"[BETA] Get all signal endpoints.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns a list of all configured signal endpoints.","responses":{"200":{"description":"#/components/schemas/signalEndpointsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"},"post":{"tags":["Operational"],"operationId":"createSignalEndpoint","summary":"[BETA] Create a signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nCreates a new signal endpoint.","requestBody":{"description":"#/components/schemas/createSignalEndpointSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSignalEndpointSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"}},"/api/admin/signal-endpoints/{id}":{"put":{"tags":["Operational"],"operationId":"updateSignalEndpoint","summary":"[BETA] Update a signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nUpdates an existing signal endpoint identified by its id.","requestBody":{"description":"#/components/schemas/createSignalEndpointSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSignalEndpointSchema"}}}},"responses":{"200":{"description":"#/components/schemas/signalEndpointSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Operational"],"operationId":"deleteSignalEndpoint","summary":"[BETA] Delete a signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nDeletes an existing signal endpoint identified by its id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signal-endpoints/{id}/on":{"post":{"tags":["Operational"],"operationId":"enableSignalEndpoint","summary":"[BETA] Enables a signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nEnables an existing signal endpoint, identified by its id.","responses":{"200":{"description":"#/components/schemas/signalEndpointSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signal-endpoints/{id}/off":{"post":{"tags":["Operational"],"operationId":"disableSignalEndpoint","summary":"[BETA] Disables a signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nDisables an existing signal endpoint, identified by its id.","responses":{"200":{"description":"#/components/schemas/signalEndpointSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signal-endpoints/{signalEndpointId}/tokens":{"get":{"tags":["Operational"],"operationId":"getSignalEndpointTokens","summary":"[BETA] Get all signal endpoint tokens for a specific signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns a list of all configured signal endpoint tokens for a specific signal endpoint, identified by its id.","responses":{"200":{"description":"#/components/schemas/signalEndpointTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointTokensSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"signalEndpointId","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Operational"],"operationId":"createSignalEndpointToken","summary":"[BETA] Create a signal endpoint token for a specific signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nCreates a new signal endpoint token for a specific signal endpoint, identified by its id.","requestBody":{"description":"#/components/schemas/createSignalEndpointTokenSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSignalEndpointTokenSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointTokenSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"signalEndpointId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signal-endpoints/{signalEndpointId}/tokens/{id}":{"put":{"tags":["Operational"],"operationId":"updateSignalEndpointToken","summary":"[BETA] Update a signal endpoint token.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nUpdates an existing signal endpoint token identified by its id.","requestBody":{"description":"#/components/schemas/createSignalEndpointTokenSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSignalEndpointTokenSchema"}}}},"responses":{"200":{"description":"#/components/schemas/signalEndpointTokenSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointTokenSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"signalEndpointId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Operational"],"operationId":"deleteSignalEndpointToken","summary":"[BETA] Delete a signal endpoint token.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nDeletes an existing signal endpoint token identified by its id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"signalEndpointId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signal-endpoints/{signalEndpointId}/signals":{"get":{"tags":["Operational"],"operationId":"getSignalEndpointSignals","summary":"[BETA] Get signals originated from a specific signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns a list of signals originated from a specific signal endpoint, identified by its id.","parameters":[{"name":"signalEndpointId","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","schema":{"type":"string","example":"50"},"description":"The number of results to return in a page. By default it is set to 50.","in":"query"},{"name":"offset","schema":{"type":"string","example":"50"},"description":"The number of results to skip when returning a page. By default it is set to 0.","in":"query"}],"responses":{"200":{"description":"#/components/schemas/signalEndpointSignalsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalEndpointSignalsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"}},"/api/signal-endpoint/{name}":{"post":{"tags":["Operational"],"operationId":"callSignalEndpoint","summary":"[BETA] Call a signal endpoint.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nCalls a configured signal endpoint, registering a signal.","responses":{"202":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/signals":{"get":{"tags":["Operational"],"operationId":"getSignals","summary":"[BETA] Get all signals that match the query parameter criteria.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns a list of all signals that match the query parameter criteria.","parameters":[{"name":"from","schema":{"type":"string","example":"IS:2024-01-01","pattern":"^(IS):\\d{4}-\\d{2}-\\d{2}$"},"description":"The starting date of the creation date range in IS:yyyy-MM-dd format","in":"query"},{"name":"to","schema":{"type":"string","example":"IS:2024-01-31","pattern":"^(IS):\\d{4}-\\d{2}-\\d{2}$"},"description":"The ending date of the creation date range in IS:yyyy-MM-dd format","in":"query"},{"name":"offset","schema":{"type":"string","example":"50","default":"0"},"description":"The number of features to skip when returning a page. By default it is set to 0.","in":"query"},{"name":"limit","schema":{"type":"string","example":"50","default":"50"},"description":"The number of feature environments to return in a page. By default it is set to 50. The maximum is 1000.","in":"query"}],"responses":{"200":{"description":"#/components/schemas/signalQueryResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signalQueryResponseSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"}},"/api/admin/projects/{projectId}/actions":{"get":{"tags":["Projects"],"operationId":"getActions","summary":"[BETA] List action sets.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns the list of all action sets.","responses":{"200":{"description":"actionsListSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionsListSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Projects"],"operationId":"createActions","summary":"[BETA] Create an action set.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nCreates a new action set.","requestBody":{"description":"createActionsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createActionsSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/actions/{id}":{"put":{"tags":["Projects"],"operationId":"updateActions","summary":"[BETA] Update an action set.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nUpdates an existing action set identified by its id.","requestBody":{"description":"createActionsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createActionsSchema"}}}},"responses":{"200":{"description":"actionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Projects"],"operationId":"deleteActions","summary":"[BETA] Delete an action set.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nDeletes an existing action set identified by its id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/actions/{id}/on":{"post":{"tags":["Projects"],"operationId":"enableActions","summary":"[BETA] Enables an action set.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nEnables an existing action set, identified by its id.","responses":{"200":{"description":"#/components/schemas/actionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/actions/{id}/off":{"post":{"tags":["Projects"],"operationId":"disableActions","summary":"[BETA] Disables an action set.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nDisables an existing action set, identified by its id.","responses":{"200":{"description":"#/components/schemas/actionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/actions/{id}/events":{"get":{"tags":["Projects"],"operationId":"getActionsEvents","summary":"[BETA] Get action events for a specific action set.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns a list of action events triggered by a specific action set, identified by its id.","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","schema":{"type":"string","example":"50"},"description":"The number of results to return in a page. By default it is set to 50.","in":"query"},{"name":"offset","schema":{"type":"string","example":"50"},"description":"The number of results to skip when returning a page. By default it is set to 0.","in":"query"}],"responses":{"200":{"description":"#/components/schemas/actionSetEventsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionSetEventsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"}},"/api/admin/projects/{projectId}/actions/config":{"get":{"tags":["Projects"],"operationId":"getActionsConfig","summary":"[BETA] Configuration for the actions UI.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns the configuration for the actions UI.","responses":{"200":{"description":"actionDefinitionsConfigSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/actionDefinitionsConfigSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/license/check":{"get":{"tags":["Instance Admin"],"operationId":"checkLicense","summary":"Validates the Unleash license.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nValidates the Unleash license.","responses":{"200":{"description":"licenseCheckSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/licenseCheckSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/license":{"get":{"tags":["Instance Admin"],"summary":"Reads the Unleash license.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReads the Unleash license. Only available for self-hosted Enterprise customers.","operationId":"readLicense","responses":{"200":{"description":"licenseReadSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/licenseReadSchema"}}}}},"x-stability-level":"stable"},"post":{"tags":["Instance Admin"],"operationId":"updateLicense","summary":"Set a new Unleash license.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSet a new Unleash license. Only available for self-hosted Enterprise customers.","requestBody":{"description":"licenseUpdateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/licenseUpdateSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/licenseReadSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/scim-settings":{"get":{"tags":["Auth"],"operationId":"getScimSettings","summary":"Get SCIM settings.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the current settings for SCIM provisioning.","responses":{"200":{"description":"#/components/schemas/scimSettingsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scimSettingsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Auth"],"operationId":"setScimSettings","summary":"Set SCIM settings.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSets new settings for SCIM provisioning.","requestBody":{"description":"#/components/schemas/setScimSettingsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/setScimSettingsSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/scim-settings/generate-new-token":{"post":{"tags":["Auth"],"operationId":"generateNewToken","summary":"Generates a new SCIM API token.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGenerates a new SCIM API token. Previously generated tokens will be invalidated.","responses":{"200":{"description":"#/components/schemas/scimTokenSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scimTokenSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/release-plan-templates":{"get":{"tags":["Release Templates"],"operationId":"getReleaseTemplates","summary":"Get all release templates.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns a list of all global release templates.","responses":{"200":{"description":"#/components/schemas/releasePlanTemplatesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanTemplatesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Release Templates"],"operationId":"createReleaseTemplate","summary":"Create a release template.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates and returns a global release template.","responses":{"200":{"description":"#/components/schemas/releasePlanTemplateSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanTemplateSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/release-plan-templates/{templateId}":{"get":{"tags":["Release Templates"],"operationId":"getReleaseTemplate","summary":"Get a release template by its id.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds and returns a release template by the provided id.","responses":{"200":{"description":"#/components/schemas/releasePlanTemplateSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanTemplateSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Release Templates"],"operationId":"deleteReleaseTemplate","summary":"Deletes a release template by its id.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds and deletes a release template by the provided id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Release Templates"],"operationId":"updateReleaseTemplate","summary":"Updates a release template by its id.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds and updates a release template by the provided id. Will delete existing milestones and create new ones from the body","responses":{"200":{"description":"#/components/schemas/releasePlanTemplateSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanTemplateSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/release-plan-templates/archive/{templateId}":{"post":{"tags":["Release Templates"],"operationId":"archiveReleaseTemplate","summary":"Archives a release template by its id.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds and archives a release template by the provided id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/release-plan-templates/{templateId}/milestones":{"post":{"tags":["Release Templates"],"deprecated":true,"operationId":"addMilestoneToReleaseTemplate","summary":"Adds a milestone to a release template.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds release template identified by its id and adds a milestone","responses":{"200":{"description":"#/components/schemas/releasePlanMilestoneSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanMilestoneSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/release-plan-templates/{templateId}/milestones/{milestoneId}":{"put":{"tags":["Release Templates"],"deprecated":true,"operationId":"updateReleaseTemplateMilestone","summary":"Updates existing milestone","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds milestone by id, and updates to body included in request","responses":{"200":{"description":"#/components/schemas/releasePlanMilestoneSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanMilestoneSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Release Templates"],"deprecated":true,"operationId":"removeReleaseTemplateMilestone","summary":"Removes an existing milestone","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes an existing milestone and all attached strategies beneath it","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/release-plan-templates/{templateId}/milestones/{milestoneId}/strategies":{"post":{"tags":["Release Templates"],"deprecated":true,"operationId":"addStrategyToMilestone","summary":"Adds a strategy to a milestone.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFinds milestone identified by its id and adds a strategy.","responses":{"200":{"description":"#/components/schemas/releasePlanMilestoneSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanMilestoneSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/release-plan-templates/{templateId}/milestones/{milestoneId}/strategies/{strategyId}":{"put":{"tags":["Release Templates"],"deprecated":true,"operationId":"updateMilestoneStrategy","summary":"Updates a strategy attached to a milestone","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nOverwrites existing strategy configuration for the strategy referenced by the id","responses":{"200":{"description":"#/components/schemas/releasePlanMilestoneStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanMilestoneStrategySchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Release Templates"],"deprecated":true,"operationId":"removeMilestoneStrategy","summary":"Removes a strategy attached to a milestone","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes the milestone strategy","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release_plans":{"get":{"tags":["Release Templates"],"deprecated":true,"operationId":"oldGetReleasePlans","summary":"Get release plans.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns a list of all release plans for a specific feature flag and environment. Deprecated, please use /release-plans instead.","responses":{"200":{"description":"#/components/schemas/releasePlansSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlansSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Release Templates"],"deprecated":true,"operationId":"oldAddReleasePlan","requestBody":{"description":"#/components/schemas/releasePlanTemplateIdSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanTemplateIdSchema"}}}},"summary":"Add a release plan.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nAdds a release plan to a specific feature flag and environment. Deprecated, please use /release-plans instead.","responses":{"200":{"description":"#/components/schemas/releasePlanSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans":{"get":{"tags":["Release Templates"],"operationId":"getReleasePlans","summary":"Get release plans.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns a list of all release plans for a specific feature flag and environment.","responses":{"200":{"description":"#/components/schemas/releasePlansSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlansSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Release Templates"],"operationId":"addReleasePlan","requestBody":{"description":"#/components/schemas/releasePlanTemplateIdSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanTemplateIdSchema"}}}},"summary":"Add a release plan.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nAdds a release plan to a specific feature flag and environment.","responses":{"200":{"description":"#/components/schemas/releasePlanSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release_plans/{planId}":{"delete":{"tags":["Release Templates"],"deprecated":true,"operationId":"oldRemoveReleasePlan","summary":"Remove a release plan.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRemoves a release plan from a specific feature flag and environment. Deprecated, please use /release-plans/:planId instead.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans/{planId}":{"delete":{"tags":["Release Templates"],"operationId":"removeReleasePlan","summary":"Remove a release plan.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRemoves a release plan from a specific feature flag and environment.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release_plans/{planId}/milestones/{milestoneId}/start":{"post":{"tags":["Release Templates"],"deprecated":true,"operationId":"oldStartMilestone","summary":"Start a release plan milestone.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nStarts a release plan milestone for a specific feature flag and environment. Deprecated, please use /release-plans/:planId/milestones/:milestoneId/start instead.","responses":{"200":{"description":"#/components/schemas/releasePlanSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans/{planId}/milestones/{milestoneId}/start":{"post":{"tags":["Release Templates"],"operationId":"startMilestone","summary":"Start a release plan milestone.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nStarts a release plan milestone for a specific feature flag and environment.","responses":{"200":{"description":"#/components/schemas/releasePlanSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}},{"name":"milestoneId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/milestone-strategies/{strategyId}":{"put":{"tags":["Features"],"summary":"Update a milestone strategy","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdate a milestone strategy configuration for a feature flag in the specified environment.","operationId":"updateProjectMilestoneStrategy","requestBody":{"description":"updateMilestoneStrategySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateMilestoneStrategySchema"}}}},"responses":{"200":{"description":"#/components/schemas/releasePlanMilestoneStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/releasePlanMilestoneStrategySchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/client/streaming":{"get":{"tags":["Unleash Edge"],"operationId":"connect","summary":"[BETA] Connect to the streaming API.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nConnects to the client features SSE streaming API.","responses":{"200":{"description":"Connected to the streaming API."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"}},"/api/client/delta":{"get":{"summary":"[BETA] Get partial updates (SDK)","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nInitially returns the full set of feature flags available to the provided API key. When called again with the returned etag, only returns the flags that have changed","operationId":"getDelta","tags":["Features"],"responses":{"200":{"description":"clientFeaturesDeltaSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clientFeaturesDeltaSchema"}}}}},"x-stability-level":"beta"}},"/api/admin/streaming/disconnect-all":{"post":{"tags":["Unleash Edge"],"operationId":"disconnectAll","summary":"[BETA] Disconnect all clients.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\n**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nDisconnects all streaming clients.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta"}},"/api/admin/impact-metrics/metadata":{"get":{"summary":"Get available impact metrics","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns all available impact metrics and their metadata.","tags":["Metrics"],"operationId":"getAvailableImpactMetrics","responses":{"200":{"description":"availableImpactMetricsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/availableImpactMetricsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/impact-metrics":{"get":{"summary":"Query impact metrics time series data","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nQueries an impact metric source for time series data based on the provided metric name, time range, and aggregation mode.","tags":["Metrics"],"operationId":"queryImpactMetricsTimeSeries","parameters":[{"name":"metricName","schema":{"type":"string","example":"http_requests_total"},"description":"The Prometheus metric name to query.","in":"query","required":true},{"name":"range","schema":{"type":"string","enum":["hour","day","week","month","threeMonths","sixMonths"],"example":"day"},"description":"The time range for the query.","in":"query","required":true},{"name":"aggregationMode","schema":{"type":"string","enum":["rps","count","avg","sum","p50","p95","p99"],"example":"rps"},"description":"The aggregation mode for the query.","in":"query","required":true},{"name":"labels","schema":{"type":"string","example":"{\"endpoint\":[\"/api/admin\"]}"},"description":"A JSON-encoded object mapping label names to arrays of label values to filter by.","in":"query"},{"name":"mode","schema":{"type":"string","enum":["display","edit"],"example":"display"},"description":"Query mode. `edit` (default) also returns the available labels for the metric (used by filter UIs). `display` skips label discovery and returns time-series data only (cheaper; use for dashboard rendering).","in":"query"},{"name":"source","schema":{"type":"string","enum":["internal","external"],"example":"external","default":"internal"},"description":"Whether the metric comes from the internal Unleash impact metrics or an external source.","in":"query","required":true}],"responses":{"200":{"description":"impactMetricsDataSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/impactMetricsDataSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/impact-metrics/plausible":{"get":{"summary":"Get Plausible analytics data","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nFetches analytics data from Plausible API for favorite events over the last 7 days.","tags":["Metrics"],"operationId":"getPlausibleMetrics","responses":{"200":{"description":"plausibleMetricsResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/plausibleMetricsResponseSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/projects/{projectId}/features/{featureName}/impact-metrics/config":{"post":{"summary":"Save flag level impact metrics configuration","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSaves a configuration for an impact metric chart associated with a feature flag.","tags":["Metrics"],"operationId":"saveFeatureImpactMetricsConfig","requestBody":{"description":"createImpactMetricsConfigSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createImpactMetricsConfigSchema"}}}},"responses":{"200":{"description":"impactMetricsConfigSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/impactMetricsConfigSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"get":{"summary":"Get impact metrics configurations for a single feature","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets all impact metrics configurations associated with a specific feature flag.","tags":["Metrics"],"operationId":"getFlagImpactMetricsConfigsByFeature","responses":{"200":{"description":"impactMetricsConfigListSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/impactMetricsConfigListSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/impact-metrics/config":{"post":{"summary":"Save instance level impact metrics configuration","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSaves a configuration for an instance level impact metric chart without a feature flag","tags":["Metrics"],"operationId":"saveInstanceImpactMetricsConfig","requestBody":{"description":"createImpactMetricsConfigSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createImpactMetricsConfigSchema"}}}},"responses":{"200":{"description":"impactMetricsConfigSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/impactMetricsConfigSchema"}}}}},"x-stability-level":"stable"},"get":{"summary":"Get impact metrics configuration for the instance","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nGets all impact metrics configurations now associated with any feature flag.","tags":["Metrics"],"operationId":"getInstanceImpactMetricsConfigs","responses":{"200":{"description":"impactMetricsConfigListSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/impactMetricsConfigListSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/projects/{projectId}/features/{featureName}/impact-metrics/config/{id}":{"delete":{"summary":"Delete flag level impact metric configuration","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes an impact metric configuration by its ID.","tags":["Metrics"],"operationId":"deleteFlagImpactMetricConfig","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/impact-metrics/config/{id}":{"delete":{"summary":"Delete instance level impact metric configuration","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes an impact metric configuration by its ID.","tags":["Metrics"],"operationId":"deleteInstanceImpactMetricConfig","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/impact-metrics/register":{"post":{"summary":"Register a new impact metric","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRegisters a new impact metric by pushing 0-values.","tags":["Metrics"],"operationId":"registerImpactMetric","requestBody":{"description":"registerImpactMetricSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/registerImpactMetricSchema"}}}},"responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/impact-metrics/external-source":{"get":{"tags":["Metrics"],"operationId":"getExternalImpactMetricsSource","summary":"Get the external impact-metrics source.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the current configuration of the external impact-metrics source (any Prometheus-compatible endpoint).","responses":{"200":{"description":"externalImpactMetricsSourceSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/externalImpactMetricsSourceSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Metrics"],"operationId":"setExternalImpactMetricsSource","summary":"Set the external impact-metrics source.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nUpdates the configuration of the external impact-metrics source (any Prometheus-compatible endpoint).","requestBody":{"description":"setExternalImpactMetricsSourceSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/setExternalImpactMetricsSourceSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/impact-metrics/external-source/validate":{"post":{"tags":["Metrics"],"operationId":"validateExternalImpactMetricsSource","summary":"Validate an external impact-metrics source URL.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nTests an external impact-metrics source URL on the fly without persisting it. Returns the list of metric names found at the URL on success, or an `error` string explaining what went wrong. Always responds with 200; failures are reported in the body.","requestBody":{"description":"validateExternalImpactMetricsSourceSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/validateExternalImpactMetricsSourceSchema"}}}},"responses":{"200":{"description":"validateExternalImpactMetricsSourceResultSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/validateExternalImpactMetricsSourceResultSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/progressions/{id}":{"put":{"tags":["Release Templates"],"operationId":"changeMilestoneProgression","requestBody":{"description":"#/components/schemas/changeMilestoneProgressionSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changeMilestoneProgressionSchema"}}}},"summary":"Create or update a milestone progression","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates or updates a milestone progression by source milestone ID. If a progression with the given source milestone exists, it will be updated; otherwise, a new one will be created.","responses":{"200":{"description":"#/components/schemas/milestoneProgressionSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/milestoneProgressionSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Release Templates"],"operationId":"deleteMilestoneProgression","summary":"Delete a milestone progression","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes an existing milestone progression by source milestone ID.","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/progressions/{planId}/resume":{"post":{"tags":["Release Templates"],"operationId":"resumeMilestoneProgressions","summary":"Resume paused milestone progressions","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nResumes all paused milestone progressions for a release plan","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans/{planId}/safeguards":{"put":{"tags":["Release Templates"],"operationId":"changeReleasePlanSafeguard","summary":"Change a release plan safeguard","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates or updates a safeguard for a specific feature, environment, and release plan.","requestBody":{"description":"createSafeguardSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSafeguardSchema"}}}},"responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans/{planId}/safeguards/{safeguardId}":{"delete":{"tags":["Release Templates"],"operationId":"deleteReleasePlanSafeguard","summary":"Delete a release plan safeguard","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes a safeguard by its ID for a specific feature, environment, and release plan.","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"planId","in":"path","required":true,"schema":{"type":"string"}},{"name":"safeguardId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/safeguards":{"put":{"tags":["Features"],"operationId":"changeFeatureEnvSafeguard","summary":"Change a feature environment safeguard","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nCreates or updates a safeguard for a specific feature and environment.","requestBody":{"description":"createSafeguardSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSafeguardSchema"}}}},"responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{project}/features/{featureName}/environments/{environment}/safeguards/{safeguardId}":{"delete":{"tags":["Features"],"operationId":"deleteFeatureEnvSafeguard","summary":"Delete a feature environment safeguard","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nDeletes a safeguard by its ID for a specific feature and environment.","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"project","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"safeguardId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/remote-mcp/settings":{"get":{"tags":["Instance Admin"],"operationId":"getRemoteMcpSettings","summary":"Get remote MCP server settings.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the current settings for the remote MCP server.","responses":{"200":{"description":"#/components/schemas/remoteMcpSettingsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/remoteMcpSettingsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Instance Admin"],"operationId":"toggleRemoteMcpSettings","summary":"Toggle remote MCP server settings.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nToggles the remote MCP server for this Unleash instance.","requestBody":{"description":"#/components/schemas/remoteMcpSettingsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/remoteMcpSettingsSchema"}}}},"responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/signup":{"get":{"operationId":"getSignupData","tags":["Signup"],"summary":"Get signup data","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns the signup data for the current user.","responses":{"200":{"description":"signupDataSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/signupDataSchema"}}}}},"x-stability-level":"stable"},"post":{"operationId":"submitSignupData","tags":["Signup"],"summary":"Submit signup data.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nSubmits the signup data for the current user.","requestBody":{"description":"submitSignupDataSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/submitSignupDataSchema"}}}},"responses":{"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."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-access-requests":{"get":{"operationId":"getUserAccessRequests","tags":["Users"],"summary":"Get all pending user access requests.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nReturns a list of all pending user access requests.","responses":{"200":{"description":"#/components/schemas/userAccessRequestsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/userAccessRequestsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-access-requests/{id}/approve":{"post":{"operationId":"approveUserAccessRequest","tags":["Users"],"summary":"Approve a user access request.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nApproves a pending user access request, creating a new user with the specified role.","requestBody":{"description":"#/components/schemas/approveUserAccessRequestSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/approveUserAccessRequestSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/user-access-requests/{id}":{"delete":{"operationId":"rejectUserAccessRequest","tags":["Users"],"summary":"Reject a user access request.","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nRejects an existing user access request identified by its id.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/invoices":{"get":{"tags":["Operational"],"operationId":"getInvoices","responses":{"200":{"description":"invoicesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/invoicesSchema"}}}}},"x-stability-level":"stable","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nundefined"}},"/api/admin/invoices/list":{"get":{"tags":["Operational"],"operationId":"getDetailedInvoices","responses":{"200":{"description":"#/components/schemas/detailedInvoicesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/detailedInvoicesSchema"}}}}},"x-stability-level":"stable","description":"![Unleash Enterprise](/hosted/openapi-static/Enterprise.svg) **Enterprise feature**\n\nundefined"}},"/ready":{"get":{"tags":["Operational"],"operationId":"getReady","summary":"Get instance readiness status","description":"This operation returns information about whether this Unleash instance is ready to serve requests or not. Typically used by your deployment orchestrator (e.g. Kubernetes, Docker Swarm, Mesos, et al.).","responses":{"200":{"description":"readyCheckSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/readyCheckSchema"}}}},"503":{"description":"This response has no body."}},"x-stability-level":"stable"}},"/health":{"get":{"tags":["Operational"],"operationId":"getHealth","summary":"Get instance operational status","description":"This operation returns information about whether this Unleash instance is healthy and ready to serve requests or not. Typically used by your deployment orchestrator (e.g. Kubernetes, Docker Swarm, Mesos, et al.).","responses":{"200":{"description":"healthCheckSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/healthCheckSchema"}}}},"500":{"description":"healthCheckSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/healthCheckSchema"}}}}},"x-stability-level":"stable"}},"/invite/{token}/validate":{"get":{"tags":["Public signup tokens"],"operationId":"validatePublicSignupToken","summary":"Validate signup token","description":"Check whether the provided public sign-up token exists, has not expired and is enabled","responses":{"200":{"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."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]}},"/invite/{token}/signup":{"post":{"tags":["Public signup tokens"],"operationId":"addPublicSignupTokenUser","summary":"Add a user via a signup token","description":"Create a user with the viewer root role and link them to the provided signup token","requestBody":{"description":"createInvitedUserSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createInvitedUserSchema"}}}},"responses":{"200":{"description":"userSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/userSchema"}}}},"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."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]}},"/auth/reset/validate":{"get":{"summary":"Validates a token","description":"If the token is valid returns the user that owns the token","tags":["Auth"],"operationId":"validateToken","responses":{"200":{"description":"tokenUserSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tokenUserSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/auth/reset/password":{"post":{"tags":["Auth"],"summary":"Changes a user password","description":"Allows users with a valid reset token to reset their password without remembering their old password","operationId":"changePassword","requestBody":{"description":"changePasswordSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/changePasswordSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/auth/reset/validate-password":{"post":{"tags":["Auth"],"summary":"Validates password","description":"Verifies that the password adheres to the [Unleash password guidelines](https://docs.getunleash.io/using-unleash/deploy/configuring-unleash#securing-unleash)","operationId":"validatePassword","requestBody":{"description":"validatePasswordSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/validatePasswordSchema"}}}},"responses":{"200":{"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."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/auth/reset/password-email":{"post":{"tags":["Auth"],"summary":"Reset password","description":"Requests a password reset email for the user. This email can be used to reset the password for a user that has forgotten their password","operationId":"sendResetPasswordEmail","requestBody":{"description":"emailSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/emailSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/features/validate":{"post":{"tags":["Features"],"operationId":"validateFeature","summary":"Validate a feature flag name.","requestBody":{"description":"validateFeatureSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/validateFeatureSchema"}}}},"description":"Validates a feature flag name: checks whether the name is URL-friendly and whether a feature with the given name already exists. Returns 200 if the feature name is compliant and unused.","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/features/{featureName}/tags":{"get":{"summary":"Get all tags for a feature.","description":"Retrieves all the tags for a feature name. If the feature does not exist it returns an empty list.","tags":["Features"],"operationId":"listTags","responses":{"200":{"description":"tagsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"summary":"Adds a tag to a feature.","description":"Adds a tag to a feature if the feature and tag type exist in the system. The operation is idempotent, so adding an existing tag will result in a successful response.","tags":["Features"],"operationId":"addTag","requestBody":{"description":"tagSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"summary":"Updates multiple tags for a feature.","description":"Receives a list of tags to add and a list of tags to remove that are mandatory but can be empty. All tags under addedTags are first added to the feature and then all tags under removedTags are removed from the feature.","tags":["Features"],"operationId":"updateTags","requestBody":{"description":"updateTagsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateTagsSchema"}}}},"responses":{"200":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/features/{featureName}/tags/{type}/{value}":{"delete":{"summary":"Removes a tag from a feature.","description":"Removes a tag from a feature. If the feature exists but the tag does not, it returns a successful response.","tags":["Features"],"operationId":"removeTag","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/feature-types":{"get":{"tags":["Feature Types"],"operationId":"getAllFeatureTypes","summary":"Get all feature types","description":"Retrieves all feature types that exist in this Unleash instance, along with their descriptions and lifetimes.","responses":{"200":{"description":"featureTypesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureTypesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/feature-types/{id}/lifetime":{"put":{"tags":["Feature Types"],"operationId":"updateFeatureTypeLifetime","summary":"Update feature type lifetime","description":"Updates the lifetime configuration for the specified [feature flag type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types). The expected lifetime is an integer representing the number of days before Unleash marks a feature flag of that type as potentially stale. If set to `null` or `0`, then feature flags of that particular type will never be marked as potentially stale.\n\nWhen a feature flag type's expected lifetime is changed, this will also cause any feature flags of this type to be reevaluated for potential staleness.","responses":{"200":{"description":"featureTypeSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureTypeSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"updateFeatureTypeLifetimeSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFeatureTypeLifetimeSchema"}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/archive/{featureName}":{"delete":{"tags":["Archive"],"description":"This endpoint deletes the specified feature if it is archived. If the feature is not archived, it is left unchanged.","summary":"Deletes an archived feature","operationId":"deleteFeature","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/archive/revive/{featureName}":{"post":{"tags":["Archive"],"description":"This endpoint revives the specified feature from archive.","summary":"Revives a feature","operationId":"reviveFeature","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/strategies":{"get":{"summary":"Get all strategies","description":"Retrieves all strategy types ([predefined](https://docs.getunleash.io/concepts/activation-strategies \"predefined strategies\") and [custom strategies](https://docs.getunleash.io/concepts/activation-strategies#custom-strategies)) that are defined on this Unleash instance.","tags":["Strategies"],"operationId":"getAllStrategies","responses":{"200":{"description":"strategiesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/strategiesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Strategies"],"operationId":"createStrategy","summary":"Create a strategy","description":"Creates a custom strategy type based on the supplied data.","requestBody":{"description":"createStrategySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createStrategySchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/strategySchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/strategies/{name}":{"get":{"summary":"Get a strategy definition","description":"Retrieves the definition of the strategy specified in the URL","tags":["Strategies"],"operationId":"getStrategy","responses":{"200":{"description":"strategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/strategySchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Delete a strategy","description":"Deletes the specified strategy definition","tags":["Strategies"],"operationId":"removeStrategy","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Strategies"],"summary":"Update a strategy type","description":"Updates the specified strategy type. Any properties not specified in the request body are left untouched.","operationId":"updateStrategy","requestBody":{"description":"updateStrategySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateStrategySchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/strategies/{strategyName}/deprecate":{"post":{"tags":["Strategies"],"summary":"Deprecate a strategy","description":"Marks the specified strategy as deprecated.","operationId":"deprecateStrategy","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"strategyName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/strategies/{strategyName}/reactivate":{"post":{"tags":["Strategies"],"operationId":"reactivateStrategy","summary":"Reactivate a strategy","description":"Marks the specified strategy as not deprecated. If the strategy wasn't already deprecated, nothing changes.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"strategyName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/events":{"get":{"deprecated":true,"operationId":"getEvents","tags":["Events"],"responses":{"200":{"description":"eventsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/eventsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"parameters":[{"name":"project","description":"The name of the project whose events you want to retrieve","schema":{"type":"string"},"in":"query"}],"description":"Returns **the last 100** events from the Unleash instance when called without a query parameter. When called with a `project` parameter, returns **all events** for the specified project.\n\nIf the provided project does not exist, the list of events will be empty.","summary":"Get the most recent events from the Unleash instance or all events related to a project.","x-stability-level":"stable"}},"/api/admin/events/{featureName}":{"get":{"deprecated":true,"operationId":"getEventsForToggle","tags":["Events"],"responses":{"200":{"description":"featureEventsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureEventsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"description":"Returns all events related to the specified feature flag. If the feature flag does not exist, the list of events will be empty.","summary":"Get all events related to a specific feature flag.","x-stability-level":"stable","parameters":[{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/event-creators":{"get":{"tags":["Events"],"operationId":"getEventCreators","summary":"Get a list of all users that have created events","description":"Returns a list of all users that have created events in the system.","responses":{"200":{"description":"eventCreatorsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/eventCreatorsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/playground":{"post":{"operationId":"getPlayground","tags":["Playground"],"responses":{"200":{"description":"playgroundResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/playgroundResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"playgroundRequestSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/playgroundRequestSchema"}}}},"description":"Deprecated. Will be removed in the next Unleash major update. Use the provided `context`, `environment`, and `projects` to evaluate toggles on this Unleash instance. Returns a list of all toggles that match the parameters and what they evaluate to. The response also contains the input parameters that were provided.","summary":"Evaluate an Unleash context against a set of environments and projects.","x-stability-level":"stable"}},"/api/admin/playground/advanced":{"post":{"operationId":"getAdvancedPlayground","tags":["Playground"],"responses":{"200":{"description":"advancedPlaygroundResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/advancedPlaygroundResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"advancedPlaygroundRequestSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/advancedPlaygroundRequestSchema"}}}},"description":"Use the provided `context`, `environments`, and `projects` to evaluate toggles on this Unleash instance. You can use comma-separated values to provide multiple values to each context field. Returns a combinatorial list of all toggles that match the parameters and what they evaluate to. The response also contains the input parameters that were provided.","summary":"Batch evaluate an Unleash context against a set of environments and projects.","x-stability-level":"stable"}},"/api/admin/metrics/unknown-flags":{"get":{"operationId":"getUnknownFlags","tags":["Unknown Flags"],"summary":"Get unknown flags","description":"Returns a list of unknown flag reports from the last 24 hours, if any. Maximum of 1000.","responses":{"200":{"description":"unknownFlagsResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unknownFlagsResponseSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/metrics/applications/{appName}":{"post":{"tags":["Metrics"],"operationId":"createApplication","summary":"Create an application to connect reported metrics","description":"Is used to report usage as well which sdk the application uses","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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"createApplicationSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createApplicationSchema"}}}},"x-stability-level":"stable","parameters":[{"name":"appName","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Metrics"],"operationId":"deleteApplication","summary":"Delete an application","description":"Delete the application specified in the request URL. Returns 200 OK if the application was successfully deleted or if it didn't exist","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"appName","in":"path","required":true,"schema":{"type":"string"}}]},"get":{"tags":["Metrics"],"operationId":"getApplication","summary":"Get application data","description":"Returns data about the specified application (`appName`). The data contains information on the name of the application, sdkVersion (which sdk reported these metrics, typically `unleash-client-node:3.4.1` or `unleash-client-java:7.1.0`), as well as data about how to display this application in a list.","responses":{"200":{"description":"applicationSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicationSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"appName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/metrics/applications":{"get":{"tags":["Metrics"],"summary":"Get all applications","description":"Returns all applications registered with Unleash. Applications can be created via metrics reporting or manual creation","parameters":[{"name":"query","schema":{"type":"string","example":"first_app"},"description":"The search query for the application name","in":"query"},{"name":"offset","schema":{"type":"string","example":"50"},"description":"The number of applications to skip when returning a page. By default it is set to 0.","in":"query"},{"name":"limit","schema":{"type":"string","example":"50"},"description":"The number of applications to return in a page. By default it is set to 1000.","in":"query"},{"name":"sortBy","schema":{"type":"string","example":"type"},"description":"The field to sort the results by. By default it is set to \"appName\".","in":"query"},{"name":"sortOrder","schema":{"type":"string","example":"desc"},"description":"The sort order for the sortBy. By default it is det to \"asc\".","in":"query"}],"operationId":"getApplications","responses":{"200":{"description":"applicationsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicationsSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/metrics/applications/{appName}/overview":{"get":{"tags":["Metrics"],"operationId":"getApplicationOverview","summary":"Get application overview","description":"Returns an overview of the specified application (`appName`).","responses":{"200":{"description":"applicationOverviewSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicationOverviewSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"appName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/metrics/instances/{appName}/environment/{environment}":{"get":{"tags":["Metrics"],"operationId":"getApplicationEnvironmentInstances","summary":"Get application environment instances (Last 24h)","description":"Returns an overview of the instances for the given `appName` and `environment` that have received traffic in the last 24 hours.","responses":{"200":{"description":"applicationEnvironmentInstancesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicationEnvironmentInstancesSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"appName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/metrics/sdks/outdated":{"get":{"tags":["Metrics"],"operationId":"getOutdatedSdks","summary":"Get outdated SDKs","description":"Returns a list of the outdated SDKS with the applications using them.","responses":{"200":{"description":"outdatedSdksSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/outdatedSdksSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/client-metrics/features/{name}/raw":{"get":{"operationId":"getRawFeatureMetrics","tags":["Metrics"],"summary":"Get feature metrics","description":"Get usage metrics for a specific feature for the last 48 hours, grouped by hour","responses":{"200":{"description":"featureMetricsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureMetricsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/client-metrics/features/{name}":{"get":{"operationId":"getFeatureUsageSummary","tags":["Metrics"],"summary":"Last hour of usage and a list of applications that have reported seeing this feature flag","description":"Separate counts for yes (enabled), no (disabled), as well as how many times each variant was selected during the last hour","responses":{"200":{"description":"featureUsageSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureUsageSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/custom-metrics":{"get":{"tags":["Metrics"],"summary":"Get stored custom metrics","description":"Retrieves the stored custom metrics data.","operationId":"getCustomMetrics","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable"}},"/api/admin/custom-metrics/prometheus":{"get":{"tags":["Metrics"],"summary":"Get metrics in Prometheus format","description":"Exposes all custom metrics in Prometheus text format for scraping.","operationId":"getPrometheusMetrics","responses":{"200":{"description":"Prometheus formatted metrics","content":{"text/plain":{"schema":{"type":"string"}}}}},"x-stability-level":"stable"}},"/api/admin/user":{"get":{"tags":["Users"],"operationId":"getMe","summary":"Get your own user details","description":"Detailed information about the current user, user permissions and user feedback","responses":{"200":{"description":"meSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/meSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user/profile":{"get":{"tags":["Users"],"operationId":"getProfile","summary":"Get your own user profile","description":"Detailed information about the current user root role and project membership","responses":{"200":{"description":"profileSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/profileSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user/change-password":{"post":{"tags":["Users"],"operationId":"changeMyPassword","summary":"Change your own password","description":"Requires specifying old password and confirming new password","requestBody":{"description":"passwordSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/passwordSchema"}}}},"responses":{"200":{"description":"This response has no body."},"400":{"description":"Old and new password do not match"},"401":{"description":"Old password is incorrect or user is not authenticated"}},"x-stability-level":"stable"}},"/api/admin/user/roles":{"get":{"tags":["Users"],"operationId":"getUserRoles","summary":"Get roles for currently logged in user","parameters":[{"name":"projectId","description":"The id of the project you want to check permissions for","schema":{"type":"string"},"in":"query"}],"description":"Gets roles assigned to currently logged in user. Both explicitly and transitively through group memberships","responses":{"200":{"description":"rolesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rolesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user/tokens":{"get":{"tags":["Personal access tokens"],"operationId":"getPats","summary":"Get all personal access tokens (PATs) for the current user.","description":"Returns all of the [personal access tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens) (PATs) belonging to the current user.","responses":{"200":{"description":"#/components/schemas/patsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/patsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Personal access tokens"],"operationId":"createPat","summary":"Create a new personal access token (PAT) for the current user.","description":"Creates a new [personal access token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens (PAT) belonging to the current user.","requestBody":{"description":"#/components/schemas/createPatSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createPatSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/patSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user/tokens/{id}":{"delete":{"tags":["Personal access tokens"],"operationId":"deletePat","summary":"Delete a personal access token (PAT) for the current user.","description":"Deletes a [personal access token](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens) (PAT) belonging to the current user.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a personal access token id"}],"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/ui-config":{"get":{"tags":["Admin UI"],"summary":"Get UI configuration","description":"Retrieves the full configuration used to set up the Unleash Admin UI.","operationId":"getUiConfig","responses":{"200":{"description":"uiConfigSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/uiConfigSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/ui-config/cors":{"post":{"tags":["Admin UI"],"summary":"Sets allowed CORS origins","description":"Sets Cross-Origin Resource Sharing headers for Frontend SDK API.","operationId":"setCors","requestBody":{"description":"setCorsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/setCorsSchema"}}}},"responses":{"204":{"description":"This response has no body."}},"x-stability-level":"stable"}},"/api/admin/context":{"get":{"tags":["Context"],"summary":"Gets configured context fields","description":"Returns all configured [Context fields](https://docs.getunleash.io/concepts/unleash-context) that have been created.","operationId":"getContextFields","responses":{"200":{"description":"contextFieldsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldsSchema"}}}}},"parameters":[{"name":"include","schema":{"type":"string","example":"project"},"description":"Whether the response should include project-specific or root context fields in addition to the fields in the default response. When querying the root context API, `include=project` will yield a response that includes all project-specific context fields in addition to all root context fields. Conversely, when querying a project-specific context API, using `include=root` will yield a response that includes all root context fields in addition to the project-specific context fields. The other combinations have no effect, because the responses already include those fields. When including project-specific context fields via the root-level API, context fields in private projects the user does not have access to will be omitted.","in":"query"}],"x-stability-level":"stable"},"post":{"tags":["Context"],"operationId":"createContextField","summary":"Create a context field","description":"Endpoint that allows creation of [custom context fields](https://docs.getunleash.io/concepts/unleash-context#custom-context-fields)","requestBody":{"description":"createContextFieldSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createContextFieldSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/context/{contextField}":{"get":{"tags":["Context"],"summary":"Gets context field","description":"Returns specific [context field](https://docs.getunleash.io/concepts/unleash-context) identified by the name in the path","operationId":"getContextField","responses":{"200":{"description":"contextFieldSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Context"],"summary":"Update an existing context field","description":"Endpoint that allows updating a custom context field. Used to toggle stickiness and add/remove legal values for this context field","operationId":"updateContextField","requestBody":{"description":"updateContextFieldSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateContextFieldSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Context"],"summary":"Delete an existing context field","description":"Endpoint that allows deletion of a custom context field. Does not validate that context field is not in use, but since context field configuration is stored in a json blob for the strategy, existing strategies are safe.","operationId":"deleteContextField","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/context/{contextField}/strategies":{"get":{"tags":["Strategies"],"operationId":"getStrategiesByContextField","summary":"Get strategies that use a context field","description":"Retrieves a list of all strategies that use the specified context field. If the context field doesn't exist, returns an empty list of strategies","responses":{"200":{"description":"contextFieldStrategiesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldStrategiesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/context/{contextField}/legal-values":{"post":{"tags":["Context"],"summary":"Add or update legal value for the context field","description":"Endpoint that allows adding or updating a single custom context field legal value. If the legal value already exists, it will be updated with the new description","operationId":"updateContextFieldLegalValue","requestBody":{"description":"legalValueSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/legalValueSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/context/{contextField}/legal-values/{legalValue}":{"delete":{"tags":["Context"],"summary":"Delete legal value for the context field","description":"Removes the specified custom context field legal value. Does not validate that the legal value is not in use and does not remove usage from constraints that use it.","operationId":"deleteContextFieldLegalValue","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}},{"name":"legalValue","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/context/validate":{"post":{"tags":["Context"],"summary":"Validate a context field","description":"Check whether the provided data can be used to create a context field. If the data is not valid, returns a 400 status code with the reason why it is not valid.","operationId":"validateContextFieldName","requestBody":{"description":"nameSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/nameSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable"}},"/api/admin/tags":{"get":{"tags":["Tags"],"operationId":"getTags","summary":"List all tags.","description":"List all tags available in Unleash.","responses":{"200":{"description":"tagsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Tags"],"operationId":"createTag","summary":"Create a new tag.","description":"Create a new tag with the specified data.","responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagWithVersionSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"createTagSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createTagSchema"}}}},"x-stability-level":"stable"}},"/api/admin/tags/{type}":{"get":{"tags":["Tags"],"operationId":"getTagsByType","summary":"List all tags of a given type.","description":"List all tags of a given type. If the tag type does not exist it returns an empty list.","responses":{"200":{"description":"tagsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/tags/{type}/{value}":{"get":{"tags":["Tags"],"operationId":"getTag","summary":"Get a tag by type and value.","description":"Get a tag by type and value. Can be used to check whether a given tag already exists in Unleash or not.","responses":{"200":{"description":"tagWithVersionSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagWithVersionSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Tags"],"operationId":"deleteTag","summary":"Delete a tag.","description":"Delete a tag by type and value. When a tag is deleted all references to the tag are removed.","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"stable","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/tag-types":{"get":{"tags":["Tags"],"operationId":"getTagTypes","summary":"Get all tag types","description":"Get a list of all available tag types.","responses":{"200":{"description":"tagTypesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagTypesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Tags"],"operationId":"createTagType","summary":"Create a tag type","description":"Create a new tag type.","responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagTypeSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"tagTypeSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagTypeSchema"}}}},"x-stability-level":"stable"}},"/api/admin/tag-types/validate":{"post":{"tags":["Tags"],"operationId":"validateTagType","summary":"Validate a tag type","description":"Validates whether if the body of the request is a valid tag and whether the a tag type with that name already exists or not. If a tag type with the same name exists, this operation will return a 409 status code.","responses":{"200":{"description":"validateTagTypeSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/validateTagTypeSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"tagTypeSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagTypeSchema"}}}},"x-stability-level":"stable"}},"/api/admin/tag-types/{name}":{"get":{"tags":["Tags"],"operationId":"getTagType","summary":"Get a tag type","description":"Get a tag type by name.","responses":{"200":{"description":"tagTypeSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagTypeSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Tags"],"operationId":"updateTagType","summary":"Update a tag type","description":"Update the configuration for the specified tag type.","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"updateTagTypeSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateTagTypeSchema"}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Tags"],"operationId":"deleteTagType","summary":"Delete a tag type","description":"Deletes a tag type. If any features have tags of this type, those tags will be deleted.","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/addons":{"get":{"summary":"Get all addons and providers","description":"Retrieve all addons and providers that are defined on this Unleash instance.","tags":["Addons"],"operationId":"getAddons","responses":{"200":{"description":"addonsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/addonsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"summary":"Create a new addon","description":"Create an addon instance. The addon must use one of the providers available on this Unleash instance.","tags":["Addons"],"operationId":"createAddon","requestBody":{"description":"addonCreateUpdateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/addonCreateUpdateSchema"}}}},"responses":{"200":{"description":"addonSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/addonSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/addons/{id}":{"get":{"summary":"Get a specific addon","description":"Retrieve information about the addon whose ID matches the ID in the request URL.","tags":["Addons"],"operationId":"getAddon","responses":{"200":{"description":"addonSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/addonSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"summary":"Update an addon","description":"Update the addon with a specific ID. Any fields in the update object will be updated. Properties that are not included in the update object will not be affected. To empty a property, pass `null` as that property's value.\n\nNote: passing `null` as a value for the description property will set it to an empty string.","tags":["Addons"],"operationId":"updateAddon","requestBody":{"description":"addonCreateUpdateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/addonCreateUpdateSchema"}}}},"responses":{"200":{"description":"addonSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/addonSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Delete an addon","description":"Delete the addon specified by the ID in the request path.","tags":["Addons"],"operationId":"deleteAddon","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/addons/{id}/events":{"get":{"tags":["Addons"],"operationId":"getIntegrationEvents","summary":"Get integration events for a specific integration configuration.","description":"Returns a list of integration events belonging to a specific integration configuration, identified by its id.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","schema":{"type":"string","example":"50"},"description":"The number of results to return in a page. By default it is set to 50.","in":"query"},{"name":"offset","schema":{"type":"string","example":"50"},"description":"The number of results to skip when returning a page. By default it is set to 0.","in":"query"}],"responses":{"200":{"description":"#/components/schemas/integrationEventsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/integrationEventsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/api-tokens":{"get":{"tags":["API tokens"],"operationId":"getAllApiTokens","summary":"Get API tokens","description":"Retrieves all API tokens that exist in the Unleash instance.","responses":{"200":{"description":"apiTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiTokensSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["API tokens"],"operationId":"createApiToken","requestBody":{"description":"createApiTokenSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createApiTokenSchema"}}}},"summary":"Create API token","description":"Create an API token of a specific type: one of client, admin, frontend, backend.","responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiTokenSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/api-tokens/{name}":{"get":{"tags":["API tokens"],"operationId":"getApiTokensByName","summary":"Get API tokens by name","description":"Retrieves all API tokens that match a given token name. Because token names are not unique, this endpoint will always return a list. If no tokens with the provided name exist, the list will be empty. Otherwise, it will contain all the tokens with the given name.","responses":{"200":{"description":"apiTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiTokensSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/api-tokens/{token}":{"put":{"tags":["API tokens"],"operationId":"updateApiToken","summary":"Update API token","description":"Updates an existing API token with a new expiry date. The `token` path parameter is the token's `secret`. If the token does not exist, this endpoint returns a 200 OK, but does nothing.","requestBody":{"description":"updateApiTokenSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateApiTokenSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["API tokens"],"summary":"Delete API token","description":"Deletes an existing API token. The `token` path parameter is the token's `secret`. If the token does not exist, this endpoint returns a 200 OK, but does nothing.","operationId":"deleteApiToken","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/user-admin/inactive":{"get":{"operationId":"getInactiveUsers","summary":"Gets inactive users","description":"Gets all inactive users. An inactive user is a user that has not logged in in the last 180 days","tags":["Users"],"responses":{"200":{"description":"inactiveUsersSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inactiveUsersSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/inactive/delete":{"post":{"operationId":"deleteInactiveUsers","summary":"Deletes inactive users","description":"Deletes all inactive users. An inactive user is a user that has not logged in in the last 180 days","tags":["Users"],"requestBody":{"description":"idsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/idsSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/validate-password":{"post":{"tags":["Users"],"operationId":"validateUserPassword","summary":"Validate password for a user","description":"Validate the password strength. Minimum 10 characters, uppercase letter, number, special character.","requestBody":{"description":"passwordSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/passwordSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/{id}/change-password":{"post":{"tags":["Users"],"operationId":"changeUserPassword","summary":"Change password for a user","description":"Change password for a user as an admin","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a user id"}],"requestBody":{"description":"passwordSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/passwordSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/reset-password":{"post":{"tags":["Users"],"operationId":"resetUserPassword","summary":"Reset user password","description":"Reset user password as an admin","requestBody":{"description":"idSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/idSchema"}}}},"responses":{"200":{"description":"resetPasswordSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/resetPasswordSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin":{"get":{"tags":["Users"],"operationId":"getUsers","summary":"Get all users and [root roles](https://docs.getunleash.io/concepts/rbac#predefined-roles)","description":"Will return all users and all available root roles for the Unleash instance.","responses":{"200":{"description":"usersSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/usersSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"post":{"tags":["Users"],"operationId":"createUser","summary":"Create a new user","description":"Creates a new user with the given root role.","requestBody":{"description":"createUserSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createUserSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createUserResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/search":{"get":{"tags":["Users"],"operationId":"searchUsers","summary":"Search users","description":" It will preform a simple search based on name and email matching the given query. Requires minimum 2 characters","parameters":[{"name":"q","description":"The pattern to search in the username or email","schema":{"type":"string"},"in":"query"}],"responses":{"200":{"description":"usersSearchSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/usersSearchSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/access":{"get":{"tags":["Users"],"operationId":"getBaseUsersAndGroups","summary":"Get basic user and group information","description":"Get a subset of user and group information eligible even for non-admin users","responses":{"200":{"description":"usersGroupsBaseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/usersGroupsBaseSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/admin-count":{"get":{"tags":["Users"],"operationId":"getAdminCount","summary":"Get total count of admin accounts","description":"Get a total count of admins with password, without password and admin service accounts","responses":{"200":{"description":"adminCountSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adminCountSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/{id}":{"get":{"tags":["Users"],"operationId":"getUser","summary":"Get user","description":"Will return a single user by id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a user id"}],"responses":{"200":{"description":"userSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/userSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"put":{"tags":["Users"],"operationId":"updateUser","summary":"Update a user","description":"Only the explicitly specified fields get updated.","requestBody":{"description":"updateUserSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateUserSchema"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a user id"}],"responses":{"200":{"description":"createUserResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createUserResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"delete":{"tags":["Users"],"operationId":"deleteUser","summary":"Delete a user","description":"Deletes the user with the given userId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a user id"}],"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/user-admin/scim-users":{"delete":{"tags":["Users"],"operationId":"deleteScimUsers","summary":"Delete all SCIM users","description":"Deletes all users managed by SCIM","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/feedback/{id}":{"put":{"tags":["Admin UI"],"operationId":"updateFeedback","summary":"Update Unleash feedback","description":"Updates the feedback with the provided ID. Only provided fields are updated. Fields left out are left untouched. Must be called with a token with an identifiable user (either from being sent from the UI or from using a [PAT](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#personal-access-tokens)).","requestBody":{"description":"feedbackUpdateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/feedbackUpdateSchema"}}}},"responses":{"200":{"description":"feedbackResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/feedbackResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/overview":{"get":{"tags":["Projects"],"operationId":"getProjectOverview","summary":"Get an overview of a project.","description":"This endpoint returns an overview of the specified projects stats, project health, number of members, which environments are configured, and the features types in the project.","responses":{"200":{"description":"projectOverviewSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectOverviewSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/dora":{"get":{"deprecated":true,"tags":["Projects"],"operationId":"getProjectDora","summary":"Get an overview project dora metrics.","description":"This endpoint returns an overview of the specified dora metrics","responses":{"200":{"description":"projectDoraMetricsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectDoraMetricsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/applications":{"get":{"tags":["Projects"],"operationId":"getProjectApplications","summary":"Get a list of all applications for a project.","description":"This endpoint returns an list of all the applications for a project.","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","schema":{"type":"string","example":"first_app"},"description":"The search query for the application name, sdk, environment","in":"query"},{"name":"offset","schema":{"type":"string","example":"50"},"description":"The number of applications to skip when returning a page. By default it is set to 0.","in":"query"},{"name":"limit","schema":{"type":"string","example":"50"},"description":"The number of applications to return in a page. By default it is set to 50.","in":"query"},{"name":"sortBy","schema":{"type":"string","example":"type"},"description":"The field to sort the results by. By default it is set to \"appName\".","in":"query"},{"name":"sortOrder","schema":{"type":"string","example":"desc"},"description":"The sort order for the sortBy. By default it is det to \"asc\".","in":"query"}],"responses":{"200":{"description":"projectApplicationsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectApplicationsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/projects/{projectId}/flag-creators":{"get":{"tags":["Projects"],"operationId":"getProjectFlagCreators","summary":"Get a list of all flag creators for a project.","description":"This endpoint returns every user who created a flag in the project.","responses":{"200":{"description":"projectFlagCreatorsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectFlagCreatorsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/sdks/outdated":{"get":{"tags":["Projects"],"operationId":"getOutdatedProjectSdks","summary":"Get outdated project SDKs","description":"Returns a list of the outdated SDKS with the applications using them.","responses":{"200":{"description":"outdatedSdksSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/outdatedSdksSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}":{"get":{"summary":"Get a feature environment","description":"Information about the enablement status and strategies for a feature flag in specified environment.","tags":["Features"],"operationId":"getFeatureEnvironment","responses":{"200":{"description":"featureEnvironmentSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureEnvironmentSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/off":{"post":{"summary":"Disable a feature flag","description":"Disable a feature flag in the specified environment.","tags":["Features"],"operationId":"toggleFeatureEnvironmentOff","responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/on":{"post":{"summary":"Enable a feature flag","description":"Enable a feature flag in the specified environment.","tags":["Features"],"operationId":"toggleFeatureEnvironmentOn","responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/bulk_features/environments/{environment}/on":{"post":{"tags":["Features"],"summary":"Bulk enable a list of features","description":"This endpoint enables multiple feature flags.","operationId":"bulkToggleFeaturesEnvironmentOn","requestBody":{"description":"bulkToggleFeaturesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulkToggleFeaturesSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/bulk_features/environments/{environment}/off":{"post":{"tags":["Features"],"summary":"Bulk disable a list of features","description":"This endpoint disables multiple feature flags.","operationId":"bulkToggleFeaturesEnvironmentOff","requestBody":{"description":"bulkToggleFeaturesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulkToggleFeaturesSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/strategies":{"get":{"tags":["Features"],"summary":"Get feature flag strategies","operationId":"getFeatureStrategies","description":"Get strategies defined for a feature flag in the specified environment.","responses":{"200":{"description":"featureStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureStrategySchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Features"],"summary":"Add a strategy to a feature flag","description":"Add a strategy to a feature flag in the specified environment.","operationId":"addFeatureStrategy","requestBody":{"description":"createFeatureStrategySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createFeatureStrategySchema"}}}},"responses":{"200":{"description":"featureStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureStrategySchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/strategies/{strategyId}":{"get":{"tags":["Features"],"summary":"Get a strategy configuration","description":"Get a strategy configuration for an environment in a feature flag.","operationId":"getFeatureStrategy","responses":{"200":{"description":"featureStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureStrategySchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Features"],"summary":"Update a strategy","description":"Replace strategy configuration for a feature flag in the specified environment.","operationId":"updateFeatureStrategy","requestBody":{"description":"updateFeatureStrategySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFeatureStrategySchema"}}}},"responses":{"200":{"description":"featureStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureStrategySchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"tags":["Features"],"summary":"Change specific properties of a strategy","description":"Change specific properties of a strategy configuration in a feature flag.","operationId":"patchFeatureStrategy","requestBody":{"description":"patchesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/patchesSchema"}}}},"responses":{"200":{"description":"featureStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureStrategySchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Features"],"summary":"Delete a strategy from a feature flag","description":"Delete a strategy configuration from a feature flag in the specified environment.","operationId":"deleteFeatureStrategy","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}},{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/strategies/set-sort-order":{"post":{"tags":["Features"],"operationId":"setStrategySortOrder","summary":"Set strategy sort order","description":"Set the sort order of the provided list of strategies.","requestBody":{"description":"setStrategySortOrderSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/setStrategySortOrderSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features":{"get":{"summary":"Get all features in a project","description":"A list of all features for the specified project.","tags":["Features"],"operationId":"getFeatures","responses":{"200":{"description":"projectFeaturesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectFeaturesSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"summary":"Add a new feature flag","description":"Create a new feature flag in a specified project.","tags":["Features"],"operationId":"createFeature","requestBody":{"description":"createFeatureSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createFeatureSchema"}}}},"responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/clone":{"post":{"summary":"Clone a feature flag","description":"Creates a copy of the specified feature flag. The copy can be created in any project.","tags":["Features"],"operationId":"cloneFeature","requestBody":{"description":"cloneFeatureSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloneFeatureSchema"}}}},"responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}":{"get":{"operationId":"getFeature","tags":["Features"],"summary":"Get a feature","description":"This endpoint returns the information about the requested feature if the feature belongs to the specified project.","responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Features"],"operationId":"updateFeature","summary":"Update a feature flag","description":"Updates the specified feature if the feature belongs to the specified project. Only the provided properties are updated; any feature properties left out of the request body are left untouched.","requestBody":{"description":"updateFeatureSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFeatureSchema"}}}},"responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"tags":["Features"],"operationId":"patchFeature","summary":"Modify a feature flag","description":"Change specific properties of a feature flag.","requestBody":{"description":"patchesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/patchesSchema"}}}},"responses":{"200":{"description":"featureSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Features"],"operationId":"archiveFeature","summary":"Archive a feature flag","description":"This endpoint archives the specified feature if the feature belongs to the specified project.","responses":{"202":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/stale":{"post":{"tags":["Features"],"operationId":"staleFeatures","summary":"Mark features as stale / not stale","description":"This endpoint marks the provided list of features as either [stale](https://docs.getunleash.io/concepts/technical-debt#stale-and-potentially-stale-flags) or not stale depending on the request body you send. Any provided features that don't exist are ignored.","requestBody":{"description":"batchStaleSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/batchStaleSchema"}}}},"responses":{"202":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/tags":{"put":{"tags":["Tags"],"operationId":"addTagToFeatures","summary":"Adds a tag to the specified features","description":"Add a tag to a list of features. Create tags if needed.","requestBody":{"description":"tagsBulkAddSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tagsBulkAddSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{child}/dependencies":{"post":{"tags":["Dependencies"],"summary":"Add a feature dependency.","description":"Add a dependency to a parent feature. Each environment will resolve corresponding dependency independently.","operationId":"addFeatureDependency","requestBody":{"description":"createDependentFeatureSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createDependentFeatureSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"child","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Dependencies"],"summary":"Deletes feature dependencies.","description":"Remove dependencies to all parent features.","operationId":"deleteFeatureDependencies","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"child","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{child}/dependencies/{parent}":{"delete":{"tags":["Dependencies"],"summary":"Deletes a feature dependency.","description":"Remove a dependency to a parent feature.","operationId":"deleteFeatureDependency","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"child","in":"path","required":true,"schema":{"type":"string"}},{"name":"parent","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{child}/parents":{"get":{"tags":["Dependencies"],"summary":"List parent options.","description":"List available parents who have no transitive dependencies.","operationId":"listParentOptions","responses":{"200":{"description":"parentFeatureOptionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/parentFeatureOptionsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"child","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{parent}/parent-variants":{"get":{"tags":["Dependencies"],"summary":"List parent feature variants.","description":"List available parent variants across all strategy variants and feature environment variants.","operationId":"listParentVariantOptions","responses":{"200":{"description":"parentVariantOptionsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/parentVariantOptionsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"parent","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/dependencies":{"get":{"tags":["Dependencies"],"summary":"Check dependencies exist.","description":"Check if any dependencies exist in this Unleash instance","operationId":"checkDependenciesExist","responses":{"200":{"description":"dependenciesExistSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dependenciesExistSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/environments":{"post":{"tags":["Projects"],"operationId":"addEnvironmentToProject","summary":"Add an environment to a project.","description":"This endpoint adds the provided environment to the specified project, with optional support for enabling and disabling change requests for the environment and project.","requestBody":{"description":"projectEnvironmentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectEnvironmentSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/environments/{environment}":{"delete":{"tags":["Projects"],"operationId":"removeEnvironmentFromProject","summary":"Remove an environment from a project.","description":"This endpoint removes the specified environment from the project.","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/environments/{environment}/default-strategy":{"post":{"tags":["Projects"],"operationId":"addDefaultStrategyToProjectEnvironment","summary":"Set environment-default strategy","description":"Sets a default strategy for this environment. Unleash will use this strategy by default when enabling a feature flag. Use the wild card \"*\" for `:environment` to add to all environments. ","requestBody":{"description":"createFeatureStrategySchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createFeatureStrategySchema"}}}},"responses":{"200":{"description":"createFeatureStrategySchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createFeatureStrategySchema"}}}},"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."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/health-report":{"get":{"tags":["Projects"],"deprecated":true,"operationId":"getProjectHealthReport","summary":"Get a health report for a project.","description":"This endpoint returns a health report for the specified project. This data is used for [the technical debt insights](https://docs.getunleash.io/concepts/technical-debt)","responses":{"200":{"description":"healthReportSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/healthReportSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/variants":{"get":{"summary":"Get variants for a feature in an environment","description":"Returns the variants for a feature in a specific environment. If the feature has no variants it will return an empty array of variants","tags":["Features"],"operationId":"getEnvironmentFeatureVariants","responses":{"200":{"description":"featureVariantsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureVariantsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"summary":"Patch a feature's variants in an environment","description":"Apply a list of patches to the features environments in the specified environment. The patch objects should conform to the [JSON-patch format (RFC 6902)](https://www.rfc-editor.org/rfc/rfc6902).","tags":["Features"],"operationId":"patchEnvironmentsFeatureVariants","requestBody":{"description":"patchesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/patchesSchema"}}}},"responses":{"200":{"description":"featureVariantsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureVariantsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"summary":"Create (overwrite) variants for a feature in an environment","description":"This overwrites the current variants for the feature flag in the :featureName parameter for the :environment parameter.\n\nThe backend will validate the input for the following invariants:\n\n* If there are variants, there needs to be at least one variant with `weightType: variable`\n\n* The sum of the weights of variants with `weightType: fix` must be strictly less than 1000 (< 1000)\n\nThe backend will also distribute remaining weight up to 1000 after adding the variants with `weightType: fix` together amongst the variants of `weightType: variable`","tags":["Features"],"operationId":"overwriteEnvironmentFeatureVariants","requestBody":{"description":"variantsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/variantsSchema"}}}},"responses":{"200":{"description":"featureVariantsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureVariantsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"environment","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/variants-batch":{"put":{"tags":["Features"],"operationId":"overwriteFeatureVariantsOnEnvironments","summary":"Create (overwrite) variants for a feature flag in multiple environments","description":"This overwrites the current variants for the feature flag in the :featureName parameter for the :environment parameter.","requestBody":{"description":"pushVariantsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/pushVariantsSchema"}}}},"responses":{"200":{"description":"featureVariantsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureVariantsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/api-tokens":{"get":{"tags":["Projects"],"operationId":"getProjectApiTokens","summary":"Get api tokens for project.","description":"Returns the project-specific [API tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys) that have been created for this project.","responses":{"200":{"description":"apiTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiTokensSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"post":{"tags":["Projects"],"operationId":"createProjectApiToken","requestBody":{"description":"createProjectApiTokenSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createProjectApiTokenSchema"}}}},"summary":"Create a project API token.","description":"Endpoint that allows creation of [project API tokens](https://docs.getunleash.io/concepts/api-tokens-and-client-keys#api-token-visibility) for the specified project.","responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiTokenSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/api-tokens/{token}":{"delete":{"tags":["Projects"],"operationId":"deleteProjectApiToken","summary":"Delete a project API token.","description":"This operation deletes the API token specified in the request URL. If the token doesn't exist, returns an OK response (status code 200).","responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/delete":{"post":{"tags":["Archive"],"operationId":"deleteFeatures","description":"This endpoint deletes the specified features, that are in archive.","summary":"Deletes a list of features","requestBody":{"description":"batchFeaturesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/batchFeaturesSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/revive":{"post":{"tags":["Archive"],"operationId":"reviveFeatures","description":"This endpoint revives the specified features.","summary":"Revives a list of features","requestBody":{"description":"batchFeaturesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/batchFeaturesSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/archive/validate":{"post":{"tags":["Features"],"operationId":"validateArchiveFeatures","description":"This endpoint return info about the archive features impact.","summary":"Validates archive features","requestBody":{"description":"batchFeaturesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/batchFeaturesSchema"}}}},"responses":{"200":{"description":"validateArchiveFeaturesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/validateArchiveFeaturesSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/archive":{"post":{"tags":["Features"],"operationId":"archiveFeatures","description":"This endpoint archives the specified features. Any features that are already archived or that don't exist are ignored. All existing features (whether already archived or not) that are provided must belong to the specified project.","summary":"Archives a list of features","requestBody":{"description":"batchFeaturesSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/batchFeaturesSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/insights":{"get":{"deprecated":true,"tags":["Projects"],"operationId":"getProjectInsights","summary":"Get an overview of a project insights.","description":"This endpoint returns insights into the specified projects stats, health, lead time for changes, feature types used, members and change requests.","responses":{"200":{"description":"projectInsightsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectInsightsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/status":{"get":{"tags":["Projects"],"operationId":"getProjectStatus","summary":"Get project status","description":"This endpoint returns information on the status the project, including activities, health, resources, and aggregated flag lifecycle data.","responses":{"200":{"description":"projectStatusSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/projectStatusSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/lifecycle":{"get":{"tags":["Features"],"summary":"Get feature lifecycle","description":"Information about the lifecycle stages of the feature.","operationId":"getFeatureLifecycle","responses":{"200":{"description":"featureLifecycleSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureLifecycleSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/lifecycle/complete":{"post":{"tags":["Features"],"summary":"Set feature completed","description":"This will set the feature as completed.","operationId":"complete","requestBody":{"description":"featureLifecycleCompletedSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureLifecycleCompletedSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/lifecycle/uncomplete":{"post":{"tags":["Features"],"summary":"Set feature uncompleted","description":"This will set the feature as uncompleted.","operationId":"uncomplete","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/link":{"post":{"tags":["Features"],"operationId":"createFeatureLink","summary":"Create a feature link","description":"Create a new link for a feature.","responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"linkSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/linkSchema"}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/features/{featureName}/link/{linkId}":{"put":{"tags":["Features"],"operationId":"updateFeatureLink","summary":"Update a feature link","description":"Update an existing feature link.","responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"linkSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/linkSchema"}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Features"],"operationId":"deleteFeatureLink","summary":"Delete a feature link","description":"Delete a feature link by id.","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/context":{"get":{"tags":["Context"],"summary":"[BETA] Gets configured context fields","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns all configured [Context fields](https://docs.getunleash.io/concepts/unleash-context) that have been created.","operationId":"getContextFieldsForProject","responses":{"200":{"description":"contextFieldsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldsSchema"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"include","schema":{"type":"string","example":"project"},"description":"Whether the response should include project-specific or root context fields in addition to the fields in the default response. When querying the root context API, `include=project` will yield a response that includes all project-specific context fields in addition to all root context fields. Conversely, when querying a project-specific context API, using `include=root` will yield a response that includes all root context fields in addition to the project-specific context fields. The other combinations have no effect, because the responses already include those fields. When including project-specific context fields via the root-level API, context fields in private projects the user does not have access to will be omitted.","in":"query"}],"x-stability-level":"beta"},"post":{"tags":["Context"],"operationId":"createContextFieldForProject","summary":"[BETA] Create a context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nEndpoint that allows creation of [custom context fields](https://docs.getunleash.io/concepts/unleash-context#custom-context-fields)","requestBody":{"description":"createContextFieldSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createContextFieldSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldSchema"}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/context/{contextField}":{"get":{"tags":["Context"],"summary":"[BETA] Gets context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nReturns specific [context field](https://docs.getunleash.io/concepts/unleash-context) identified by the name in the path","operationId":"getContextFieldForProject","responses":{"200":{"description":"contextFieldSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldSchema"}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Context"],"summary":"[BETA] Update an existing context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nEndpoint that allows updating a custom context field. Used to toggle stickiness and add/remove legal values for this context field","operationId":"updateContextFieldForProject","requestBody":{"description":"updateContextFieldSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateContextFieldSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Context"],"summary":"[BETA] Delete an existing context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nEndpoint that allows deletion of a custom context field. Does not validate that context field is not in use, but since context field configuration is stored in a json blob for the strategy, existing strategies are safe.","operationId":"deleteContextFieldForProject","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/context/{contextField}/strategies":{"get":{"tags":["Strategies"],"operationId":"getStrategiesByContextFieldForProject","summary":"[BETA] Get strategies that use a context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nRetrieves a list of all strategies that use the specified context field. If the context field doesn't exist, returns an empty list of strategies","responses":{"200":{"description":"contextFieldStrategiesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contextFieldStrategiesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/context/{contextField}/legal-values":{"post":{"tags":["Context"],"summary":"[BETA] Add or update legal value for the context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nEndpoint that allows adding or updating a single custom context field legal value. If the legal value already exists, it will be updated with the new description","operationId":"updateContextFieldLegalValueForProject","requestBody":{"description":"legalValueSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/legalValueSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/context/{contextField}/legal-values/{legalValue}":{"delete":{"tags":["Context"],"summary":"[BETA] Delete legal value for the context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nRemoves the specified custom context field legal value. Does not validate that the legal value is not in use and does not remove usage from constraints that use it.","operationId":"deleteContextFieldLegalValueForProject","responses":{"200":{"description":"This response has no body."}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"contextField","in":"path","required":true,"schema":{"type":"string"}},{"name":"legalValue","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/context/validate":{"post":{"tags":["Context"],"summary":"[BETA] Validate a context field","description":"**[BETA]** This API is in beta state, which means it may change or be removed in the future.\n\nCheck whether the provided data can be used to create a context field. If the data is not valid, returns a 400 status code with the reason why it is not valid.","operationId":"validateContextFieldNameForProject","requestBody":{"description":"nameSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/nameSchema"}}}},"responses":{"200":{"description":"This response has no body."}},"x-stability-level":"beta","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/lifecycle/count":{"get":{"tags":["Features"],"summary":"Get all features lifecycle stage count","description":"Information about the number of features in each lifecycle stage.","operationId":"getFeatureLifecycleStageCount","responses":{"200":{"description":"featureLifecycleCountSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/featureLifecycleCountSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/personal-dashboard":{"get":{"tags":["Projects"],"summary":"Get personal dashboard","description":"Return all projects and flags that are relevant to the user.","operationId":"getPersonalDashboard","responses":{"200":{"description":"personalDashboardSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/personalDashboardSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/personal-dashboard/{projectId}":{"get":{"tags":["Projects"],"summary":"Get personal project details","description":"Return personal dashboard project events, owners, user roles and onboarding status","operationId":"getPersonalDashboardProjectDetails","responses":{"200":{"description":"personalDashboardProjectDetailsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/personalDashboardProjectDetailsSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/environments/project/{projectId}":{"get":{"tags":["Environments"],"operationId":"getProjectEnvironments","summary":"Get the environments available to a project","description":"Gets the environments that are available for this project. An environment is available for a project if enabled in the [project configuration](https://docs.getunleash.io/concepts/environments#enable-an-environment)","responses":{"200":{"description":"environmentsProjectSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environmentsProjectSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/environments/sort-order":{"put":{"tags":["Environments"],"summary":"Update environment sort orders","description":"Updates sort orders for the named environments. Environments not specified are unaffected.","operationId":"updateSortOrder","requestBody":{"description":"sortOrderSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sortOrderSchema"}}}},"responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/environments/{name}/on":{"post":{"tags":["Environments"],"summary":"Toggle the environment with `name` on","description":"Makes it possible to enable this environment for a project. An environment must first be globally enabled using this endpoint before it can be enabled for a project","operationId":"toggleEnvironmentOn","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/environments/{name}/off":{"post":{"tags":["Environments"],"summary":"Toggle the environment with `name` off","description":"Removes this environment from the list of available environments for projects to use","operationId":"toggleEnvironmentOff","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/splash/{id}":{"post":{"tags":["Admin UI"],"operationId":"updateSplashSettings","summary":"Update splash settings","description":"This operation updates splash settings for a user, indicating that they have seen a particualar splash screen.","responses":{"200":{"description":"splashResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/splashResponseSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/constraints/validate":{"post":{"tags":["Features"],"operationId":"validateConstraint","requestBody":{"description":"constraintSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/constraintSchema"}}}},"summary":"Validate constraint","description":"Validates a constraint definition. Checks whether the context field exists and whether the applied configuration is valid. Additional properties are not allowed on data objects that you send to this endpoint.","responses":{"204":{"description":"The constraint is valid"},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/invite-link/tokens":{"get":{"tags":["Public signup tokens"],"summary":"Get public signup tokens","description":"Retrieves all existing public signup tokens.","operationId":"getAllPublicSignupTokens","responses":{"200":{"description":"publicSignupTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicSignupTokensSchema"}}}}},"x-stability-level":"stable"},"post":{"tags":["Public signup tokens"],"operationId":"createPublicSignupToken","summary":"Create a public signup token","description":"Lets administrators create a invite link to share with colleagues.  People that join using the public invite are assigned the `Viewer` role","requestBody":{"description":"publicSignupTokenCreateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicSignupTokenCreateSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicSignupTokenSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/invite-link/tokens/{token}":{"get":{"tags":["Public signup tokens"],"summary":"Retrieve a token","description":"Get information about a specific token. The `:token` part of the URL should be the token's secret.","operationId":"getPublicSignupToken","responses":{"200":{"description":"publicSignupTokenSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicSignupTokenSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"tags":["Public signup tokens"],"operationId":"updatePublicSignupToken","summary":"Update a public signup token","description":"Update information about a specific token. The `:token` part of the URL should be the token's secret.","requestBody":{"description":"publicSignupTokenUpdateSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicSignupTokenUpdateSchema"}}}},"responses":{"200":{"description":"publicSignupTokenSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicSignupTokenSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/instance-admin/statistics/csv":{"get":{"tags":["Instance Admin"],"summary":"Instance usage statistics","description":"Provides statistics about various features of Unleash to allow for reporting of usage for self-hosted customers. The response contains data such as the number of users, groups, features, strategies, versions, etc.","operationId":"getInstanceAdminStatsCsv","responses":{"200":{"description":"instanceAdminStatsSchemaCsv","content":{"text/csv":{"example":"\"OIDCenabled\",\"SAMLenabled\",\"passwordAuthEnabled\",\"SCIMenabled\",\"clientApps\",\"contextFields\",\"environments\",\"featureExports\",\"featureImports\",\"featureToggles\",\"archivedFeatureToggles\",\"groups\",\"instanceId\",\"projects\",\"roles\",\"customRootRoles\",\"customRootRolesInUse\",\"segments\",\"strategies\",\"sum\",\"timestamp\",\"users\",\"licensedUsers\",\"serviceAccounts\",\"apiTokens\",\"versionEnterprise\",\"versionOSS\",\"activeUsers\",\"productionChanges\",\"previousDayMetricsBucketsCount\",\"maxEnvironmentStrategies\",\"maxConstraints\",\"maxConstraintValues\",\"releaseTemplates\",\"releasePlans\",\"edgeInstanceUsage\",\"readOnlyUsers\"\ntrue,false,true,false,\"[{\"\"range\"\":\"\"allTime\"\",\"\"count\"\":15},{\"\"range\"\":\"\"30d\"\",\"\"count\"\":9},{\"\"range\"\":\"\"7d\"\",\"\"count\"\":5}]\",6,2,0,0,29,10,3,\"ed3861ae-78f9-4e8c-8e57-b57efc15f82b\",4,5,2,1,2,8,\"some-sha256-hash\",\"2023-07-12T10:00:00.000Z\",10,12,2,\"{}\",\"5.1.7\",\"5.1.7\",\"{\"\"last90\"\":15,\"\"last60\"\":12,\"\"last30\"\":10,\"\"last7\"\":5}\",\"{\"\"last30\"\":100,\"\"last60\"\":200,\"\"last90\"\":200}\",\"{\"\"variantCount\"\":100,\"\"enabledCount\"\":200}\",20,17,123,3,5,\"{\"\"2022-06\"\":2.345,\"\"2022-07\"\":2.567,\"\"2022-08\"\":2.789}\",4","schema":{"type":"string"}}}}},"x-stability-level":"stable"}},"/api/admin/instance-admin/statistics":{"get":{"tags":["Instance Admin"],"operationId":"getInstanceAdminStats","summary":"Instance usage statistics","description":"Provides statistics about various features of Unleash to allow for reporting of usage for self-hosted customers. The response contains data such as the number of users, groups, features, strategies, versions, etc.","responses":{"200":{"description":"instanceAdminStatsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/instanceAdminStatsSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/projects/{projectId}/features/{featureName}/favorites":{"post":{"tags":["Features"],"operationId":"addFavoriteFeature","summary":"Add feature to favorites","description":"This endpoint marks the feature in the url as favorite","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Features"],"operationId":"removeFavoriteFeature","summary":"Remove feature from favorites","description":"This endpoint removes the feature in the url from favorites","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"featureName","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/projects/{projectId}/favorites":{"post":{"tags":["Features"],"summary":"Add project to favorites","description":"This endpoint marks the project in the url as favorite","operationId":"addFavoriteProject","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["Features"],"summary":"Remove project from favorites","description":"This endpoint removes the project in the url from favorites","operationId":"removeFavoriteProject","responses":{"200":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/segments/validate":{"post":{"summary":"Validates if a segment name exists","description":"Uses the name provided in the body of the request to validate if the given name exists or not","tags":["Segments"],"operationId":"validateSegment","requestBody":{"description":"nameSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/nameSchema"}}}},"responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/segments/strategies/{strategyId}":{"get":{"tags":["Segments"],"operationId":"getSegmentsByStrategyId","summary":"Get strategy segments","description":"Retrieve all segments that are referenced by the specified strategy. Returns an empty list of segments if the strategy ID doesn't exist.","responses":{"200":{"description":"segmentsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/segmentsSchema"}}}}},"x-stability-level":"stable","parameters":[{"name":"strategyId","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/admin/segments/strategies":{"post":{"summary":"Update strategy segments","description":"Sets the segments of the strategy specified to be exactly the ones passed in the payload. Any segments that were used by the strategy before will be removed if they are not in the provided list of segments.","tags":["Strategies"],"operationId":"updateFeatureStrategySegments","requestBody":{"description":"updateFeatureStrategySegmentsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFeatureStrategySegmentsSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFeatureStrategySegmentsSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/segments/{id}/strategies":{"get":{"tags":["Segments"],"operationId":"getStrategiesBySegmentId","summary":"Get strategies that reference segment","description":"Retrieve all strategies that reference the specified segment.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a segment id"}],"responses":{"200":{"description":"segmentStrategiesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/segmentStrategiesSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/segments/{id}":{"delete":{"summary":"Deletes a segment by id","description":"Deletes a segment by its id, if not found returns a 409 error","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a segment id"}],"tags":["Segments"],"operationId":"removeSegment","responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"put":{"summary":"Update segment by id","description":"Updates the content of the segment with the provided payload. Requires `name` and `constraints` to be present. If `project` is not present, it will be set to `null`. Any other fields not specified will be left untouched.","tags":["Segments"],"operationId":"updateSegment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a segment id"}],"requestBody":{"description":"upsertSegmentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/upsertSegmentSchema"}}}},"responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"get":{"summary":"Get a segment","description":"Retrieves a segment based on its ID.","tags":["Segments"],"operationId":"getSegment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"a segment id"}],"responses":{"200":{"description":"adminSegmentSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adminSegmentSchema"}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/segments":{"post":{"summary":"Create a new segment","description":"Creates a new segment using the payload provided","tags":["Segments"],"operationId":"createSegment","requestBody":{"description":"upsertSegmentSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/upsertSegmentSchema"}}}},"responses":{"201":{"headers":{"location":{"description":"The location of the newly created resource.","schema":{"type":"string","format":"uri"}}},"description":"The resource was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adminSegmentSchema"}}}},"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"409":{"description":"The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.","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":"NameExistsError","description":"The name of the error kind"},"message":{"type":"string","example":"There is already a feature called \"my-awesome-feature\".","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"},"get":{"summary":"Get all segments","description":"Retrieves all segments that exist in this Unleash instance.","tags":["Segments"],"operationId":"getSegments","responses":{"200":{"description":"segmentsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/segmentsSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/maintenance":{"post":{"summary":"Enabled/disabled maintenance mode","description":"Lets administrators put Unleash into a mostly read-only mode. While Unleash is in maintenance mode, users can not change any configuration settings","tags":["Maintenance"],"operationId":"toggleMaintenance","responses":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"requestBody":{"description":"toggleMaintenanceSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/toggleMaintenanceSchema"}}}},"x-stability-level":"stable"},"get":{"summary":"Get maintenance mode status","description":"Tells you whether maintenance mode is enabled or disabled","tags":["Maintenance"],"operationId":"getMaintenance","responses":{"200":{"description":"maintenanceSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/maintenanceSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/telemetry/settings":{"get":{"tags":["Telemetry"],"summary":"Get telemetry settings","description":"Provides the configured settings for [telemetry information collection](https://docs.getunleash.io/privacy-and-compliance/data-privacy)","operationId":"getTelemetrySettings","responses":{"200":{"description":"telemetrySettingsSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/telemetrySettingsSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/search/features":{"get":{"tags":["Search"],"summary":"Search and filter features","description":"Search and filter by selected fields.","operationId":"searchFeatures","parameters":[{"name":"query","schema":{"type":"string","example":"feature_a"},"description":"The search query for the feature name or tag","in":"query"},{"name":"project","schema":{"type":"string","example":"IS:default","pattern":"^(IS|IS_NOT|IS_ANY_OF|IS_NONE_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"Id of the project where search and filter is performed. The project id can be specified with an operator. The supported operators are IS, IS_NOT, IS_ANY_OF, IS_NONE_OF.","in":"query"},{"name":"state","schema":{"type":"string","example":"IS:active","pattern":"^(IS|IS_NOT|IS_ANY_OF|IS_NONE_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"The state of the feature active/stale. The state can be specified with an operator. The supported operators are IS, IS_NOT, IS_ANY_OF, IS_NONE_OF.","in":"query"},{"name":"lifecycle","schema":{"type":"string","example":"IS:initial","pattern":"^(IS|IS_NOT|IS_ANY_OF|IS_NONE_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"The lifecycle stage of the feature. The stage can be specified with an operator. The supported operators are IS, IS_NOT, IS_ANY_OF, IS_NONE_OF.","in":"query"},{"name":"type","schema":{"type":"string","example":"IS:release","pattern":"^(IS|IS_NOT|IS_ANY_OF|IS_NONE_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"The feature flag type to filter by. The type can be specified with an operator. The supported operators are IS, IS_NOT, IS_ANY_OF, IS_NONE_OF.","in":"query"},{"name":"createdBy","schema":{"type":"string","example":"IS:1","pattern":"^(IS|IS_NOT|IS_ANY_OF|IS_NONE_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"The feature flag creator to filter by. The creators can be specified with an operator. The supported operators are IS, IS_NOT, IS_ANY_OF, IS_NONE_OF.","in":"query"},{"name":"tag","schema":{"type":"string","pattern":"^(INCLUDE|DO_NOT_INCLUDE|INCLUDE_ALL_OF|INCLUDE_ANY_OF|EXCLUDE_IF_ANY_OF|EXCLUDE_ALL):([^:,]+:.+?)(,\\s*[^:,]+:.+?)*$","example":"INCLUDE:simple:my_tag"},"description":"The list of feature tags to filter by. Feature tag has to specify a type and a value joined with a colon.","in":"query"},{"name":"segment","schema":{"type":"string","pattern":"^(INCLUDE|DO_NOT_INCLUDE|INCLUDE_ALL_OF|INCLUDE_ANY_OF|EXCLUDE_IF_ANY_OF|EXCLUDE_ALL):(.*?)(,([a-zA-Z0-9_]+))*$","example":"INCLUDE:pro-users"},"description":"The list of segments with operators to filter by. The segment valid operators are INCLUDE, DO_NOT_INCLUDE, INCLUDE_ALL_OF, INCLUDE_ANY_OF, EXCLUDE_IF_ANY_OF, EXCLUDE_ALL.","in":"query"},{"name":"status","schema":{"type":"array","items":{"type":"string","example":"production:enabled"}},"description":"The list of feature environment status to filter by. Feature environment has to specify a name and a status joined with a colon.","in":"query"},{"name":"offset","schema":{"type":"string","example":"50"},"description":"The number of features to skip when returning a page. By default it is set to 0.","in":"query"},{"name":"limit","schema":{"type":"string","example":"50"},"description":"The number of feature environments to return in a page. By default it is set to 50.","in":"query"},{"name":"sortBy","schema":{"type":"string","example":"type"},"description":"The field to sort the results by. By default it is set to \"createdAt\".","in":"query"},{"name":"sortOrder","schema":{"type":"string","enum":["asc","desc"],"example":"desc"},"description":"The sort order for the sortBy. By default it is det to \"asc\".","in":"query"},{"name":"favoritesFirst","schema":{"type":"string","example":"true"},"description":"The flag to indicate if the favorite features should be returned first. By default it is set to false.","in":"query"},{"name":"archived","deprecated":true,"schema":{"type":"string","example":"IS:true","pattern":"^IS:(true|false)$"},"description":"Deprecated: use the `lifecycle` parameter instead (`lifecycle=IS:archived` is equivalent to `archived=IS:true`). Whether to get results for archived feature flags or active feature flags. If `IS:true`, Unleash will return only archived flags, taking precedence over any `lifecycle` filter. If `IS:false`, it will return only active flags.","in":"query"},{"name":"favorite","schema":{"type":"string","example":"IS:true","pattern":"^(IS|IS_ANY_OF):(true|false)(,(true|false))*$"},"description":"Filter by whether the feature is favorited by the current user. Use IS:true to show only favorites.","in":"query"},{"name":"createdAt","schema":{"type":"string","example":"IS_ON_OR_AFTER:2023-01-28","pattern":"^(IS_BEFORE|IS_ON_OR_AFTER):\\d{4}-\\d{2}-\\d{2}$"},"description":"The date the feature was created. The date can be specified with an operator. The supported operators are IS_BEFORE, IS_ON_OR_AFTER.","in":"query"},{"name":"lastSeenAt","schema":{"type":"string","example":"IS_ON_OR_AFTER:2023-01-28","pattern":"^(IS_BEFORE|IS_ON_OR_AFTER):\\d{4}-\\d{2}-\\d{2}$"},"description":"The date the feature was last seen from metrics. The date can be specified with an operator. The supported operators are IS_BEFORE, IS_ON_OR_AFTER.","in":"query"}],"responses":{"200":{"description":"searchFeaturesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/searchFeaturesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/admin/search/events":{"get":{"operationId":"searchEvents","tags":["Events"],"summary":"Search for events","description":"Allows searching for events that match the query parameter criteria.","parameters":[{"name":"query","schema":{"type":"string","example":"admin@example.com"},"description":"Find events by a free-text search query. The query will be matched against the event data payload (if any).","in":"query"},{"name":"id","schema":{"type":"string","example":"IS:123","pattern":"^(IS|IS_ANY_OF):(.*?)(,([0-9]+))*$"},"description":"Filter by event ID using supported operators: IS, IS_ANY_OF.","in":"query"},{"name":"groupId","schema":{"type":"string","example":"IS:123","pattern":"^(IS|IS_ANY_OF):(.*?)(,([0-9]+))*$"},"description":"Filter by group ID using supported operators: IS, IS_ANY_OF.","in":"query"},{"name":"feature","schema":{"type":"string","example":"IS:myfeature","pattern":"^(IS|IS_ANY_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"Filter by feature name using supported operators: IS, IS_ANY_OF","in":"query"},{"name":"project","schema":{"type":"string","example":"IS:default","pattern":"^(IS|IS_ANY_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"Filter by projects ID using supported operators: IS, IS_ANY_OF.","in":"query"},{"name":"type","schema":{"type":"string","example":"IS:change-added","pattern":"^(IS|IS_ANY_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"Filter by event type using supported operators: IS, IS_ANY_OF.","in":"query"},{"name":"createdBy","schema":{"type":"string","example":"IS:2","pattern":"^(IS|IS_ANY_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"Filter by the ID of the event creator, using supported operators: IS, IS_ANY_OF.","in":"query"},{"name":"from","schema":{"type":"string","example":"IS:2024-01-01","pattern":"^(IS):\\d{4}-\\d{2}-\\d{2}$"},"description":"The starting date of the creation date range in IS:yyyy-MM-dd format","in":"query"},{"name":"to","schema":{"type":"string","example":"IS:2024-01-31","pattern":"^(IS):\\d{4}-\\d{2}-\\d{2}$"},"description":"The ending date of the creation date range in IS:yyyy-MM-dd format","in":"query"},{"name":"offset","schema":{"type":"string","example":"50","default":"0"},"description":"The number of features to skip when returning a page. By default it is set to 0.","in":"query"},{"name":"limit","schema":{"type":"string","example":"50","default":"50"},"description":"The number of feature environments to return in a page. By default it is set to 50. The maximum is 1000.","in":"query"},{"name":"environment","schema":{"type":"string","example":"IS:production","pattern":"^(IS|IS_ANY_OF):(.*?)(,([a-zA-Z0-9_]+))*$"},"description":"Filter by environment name using supported operators: IS, IS_ANY_OF.","in":"query"}],"responses":{"200":{"description":"eventSearchResponseSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/eventSearchResponseSchema"}}}}},"x-stability-level":"stable"}},"/api/admin/record-ui-error":{"post":{"tags":["Admin UI"],"operationId":"uiObservability","summary":"Accepts errors from the UI client","description":"This endpoint accepts error reports from the UI client, so that we can add observability on UI errors.","requestBody":{"description":"recordUiErrorSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/recordUiErrorSchema"}}}},"responses":{"204":{"description":"This response has no body."},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/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"}}}}},"x-stability-level":"stable","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"}}}}},"x-stability-level":"stable"}},"/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."}}}}}}},"x-stability-level":"stable"}},"/api/client/metrics/bulk":{"post":{"tags":["Unleash Edge"],"summary":"Send metrics in bulk","description":"This operation accepts batched metrics from any client. Metrics will be inserted into Unleash's metrics storage","operationId":"clientBulkMetrics","requestBody":{"description":"bulkMetricsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulkMetricsSchema"}}}},"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."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/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."}}}}}}},"x-stability-level":"stable"}},"/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."}},"x-stability-level":"stable"}},"/api/frontend":{"get":{"tags":["Frontend API"],"operationId":"getFrontendFeatures","responses":{"200":{"description":"frontendApiFeaturesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/frontendApiFeaturesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"summary":"Retrieve enabled feature flags for the provided context.","description":"This endpoint returns the list of feature flags that the frontend API evaluates to enabled for the given context. Context values are provided as query parameters. If the Frontend API is disabled 404 is returned.","x-stability-level":"stable"},"post":{"tags":["Frontend API"],"operationId":"getFrontendApiFeaturesWithPost","requestBody":{"description":"frontendApiFeaturesPostSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/frontendApiFeaturesPostSchema"}}}},"responses":{"200":{"description":"frontendApiFeaturesSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/frontendApiFeaturesSchema"}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"summary":"Retrieve enabled feature flags for the provided context, using POST.","description":"This endpoint returns the list of feature flags that the frontend API evaluates to enabled for the given context, using POST. Context values are provided as a `context` property in the request body. If the Frontend API is disabled 404 is returned.","x-stability-level":"stable"}},"/api/frontend/client/metrics":{"post":{"tags":["Frontend API"],"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. If the Frontend API is disabled 404 is returned.","operationId":"registerFrontendMetrics","requestBody":{"description":"clientMetricsSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/clientMetricsSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/api/frontend/client/register":{"post":{"tags":["Frontend API"],"summary":"Register a client SDK","description":"This is for future use. Currently Frontend client registration is not supported. Returning 200 for clients that expect this status code. If the Frontend API is disabled 404 is returned.","operationId":"registerFrontendClient","requestBody":{"description":"frontendApiClientSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/frontendApiClientSchema"}}}},"responses":{"200":{"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."}}}}}},"401":{"description":"Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.","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":"AuthenticationRequired","description":"The name of the error kind"},"message":{"type":"string","example":"You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.","description":"A description of what went wrong."}}}}}},"404":{"description":"The requested resource was not found.","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":"NotFoundError","description":"The name of the error kind"},"message":{"type":"string","example":"Could not find the addon with ID \"12345\".","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/edge/validate":{"post":{"tags":["Unleash Edge"],"security":[{}],"summary":"Check which tokens are valid","description":"This operation accepts a list of tokens to validate. Unleash will validate each token you provide. For each valid token you provide, Unleash will return the token along with its type and which projects it has access to.","operationId":"getValidTokens","requestBody":{"description":"tokenStringListSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tokenStringListSchema"}}}},"responses":{"200":{"description":"validatedEdgeTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/validatedEdgeTokensSchema"}}}},"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."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}},"/edge/issue-token":{"post":{"tags":["Unleash Edge"],"security":[{}],"summary":"Get or create valid tokens for the requested environment","description":"This operation accepts a list of environments/project pairs to return tokens for. If they do not exist, Unleash will generate them","operationId":"edgeCreateOrReturnTokens","requestBody":{"description":"edgeEnvironmentProjectsListSchema","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/edgeEnvironmentProjectsListSchema"}}}},"responses":{"200":{"description":"validatedEdgeTokensSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/validatedEdgeTokensSchema"}}}},"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."}}}}}},"403":{"description":"The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation","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":"NoAccessError","description":"The name of the error kind"},"message":{"type":"string","example":"You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.","description":"A description of what went wrong."}}}}}},"413":{"description":"The request body is larger than what we accept. By default we only accept bodies of 100kB or less","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":"ContentTooLarge","description":"The name of the error kind"},"message":{"type":"string","example":"You provided more data than we can handle. Unleash accepts at most X MB.","description":"A description of what went wrong."}}}}}},"415":{"description":"The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.","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":"ContentTypeerror","description":"The name of the error kind"},"message":{"type":"string","example":"We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.","description":"A description of what went wrong."}}}}}}},"x-stability-level":"stable"}}}}