Unleash Admin UI API
Configuration for the Unleash Admin UI. These endpoints should not be relied upon and can change at any point without prior notice.
Configuration for the Unleash Admin UI. These endpoints should not be relied upon and can change at any point without prior notice.
openapi: 3.0.3
info:
title: Unleash Admin Addons Admin UI API
version: 7.4.1
description: Create, update, and delete [Unleash addons](https://docs.getunleash.io/addons).
servers:
- url: https://app.unleash-instance.example.com
description: Your Unleash instance (replace with your actual URL)
security:
- apiKey: []
- bearerToken: []
tags:
- 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.
paths:
/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: '**Enterprise feature**
Gets lifecycle trends information showing feature flag progression across development, production, and cleanup stages.'
/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.
/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'
/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.
/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.
parameters:
- name: id
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.
parameters:
- name: id
in: path
required: true
schema:
type: string
/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.
components:
schemas:
uiConfigSchema:
type: object
additionalProperties: false
description: A collection of properties used to configure the Unleash Admin UI.
required:
- version
- unleashUrl
- baseUriPath
- versionInfo
properties:
slogan:
type: string
description: The slogan to display in the UI footer.
example: The enterprise-ready feature flag service.
name:
type: string
description: The name of this Unleash instance. Used to build the text in the footer.
example: Unleash enterprise
version:
type: string
description: The current version of Unleash
example: 5.3.0-main
environment:
type: string
description: 'What kind of Unleash instance it is: Enterprise, Pro, or Open source'
example: Enterprise
billing:
type: string
description: The billing model in use for this Unleash instance.
example: subscription
enum:
- subscription
- pay-as-you-go
edgeUrl:
type: string
description: The URL of the Unleash Edge instance.
example: https://yourcompany.edge.getunleash.io
unleashUrl:
type: string
description: The URL of the Unleash instance.
example: https://unleash.mycompany.com/enterprise
baseUriPath:
type: string
description: The base URI path at which this Unleash instance is listening.
example: /enterprise
feedbackUriPath:
type: string
description: The URI path at which the feedback endpoint is listening.
example: /feedback
disablePasswordAuth:
type: boolean
description: Whether password authentication should be disabled or not.
example: false
emailEnabled:
type: boolean
description: Whether this instance can send out emails or not.
example: true
maintenanceMode:
type: boolean
description: Whether maintenance mode is currently active or not.
example: false
resourceLimits:
$ref: '#/components/schemas/resourceLimitsSchema'
description: A map of resource names and their limits.
example:
segmentValues: 10
strategySegments: 10
actionSetActions: 10
actionSetsPerProject: 10
actionSetFilters: 10
actionSetFilterValues: 10
signalEndpoints: 10
signalTokensPerEndpoint: 10
featureEnvironmentStrategies: 30
constraintValues: 250
constraints: 30
environments: 50
apiTokens: 2000
projects: 500
segments: 300
featureFlags: 5000
releaseTemplates: 5
readOnlyUsers: 50
prometheusAPIAvailable:
type: boolean
description: Whether a Prometheus API is available.
example: true
frontendApiOrigins:
type: array
description: The list of origins that the front-end API should accept requests from.
example:
- '*'
items:
type: string
flags:
type: object
description: Additional (largely experimental) features that are enabled in this Unleash instance.
example:
messageBanner:
name: disabled
enabled: false
featuresExportImport: true
additionalProperties:
anyOf:
- type: boolean
- $ref: '#/components/schemas/variantFlagSchema'
links:
description: Relevant links to use in the UI.
example:
- value: Documentation
icon: library_books
href: https://docs.getunleash.io/docs
title: User documentation
- value: GitHub
icon: c_github
href: https://github.com/Unleash/unleash
title: Source code on GitHub
x-enforcer-exception-skip-codes: WSCH006
type: array
items:
type: object
authenticationType:
type: string
description: The type of authentication enabled for this Unleash instance
example: enterprise
enum:
- open-source
- demo
- enterprise
- hosted
- custom
- none
versionInfo:
$ref: '#/components/schemas/versionSchema'
oidcConfiguredThroughEnv:
type: boolean
description: Whether the OIDC configuration is set through environment variables or not.
example: false
samlConfiguredThroughEnv:
type: boolean
description: Whether the SAML configuration is set through environment variables or not.
example: false
maxSessionsCount:
type: number
description: The maximum number of sessions that a user has.
example: 10
unleashContext:
type: object
description: The context object used to configure the Unleash instance.
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
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'
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
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
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
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
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
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
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
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unleash/refs/heads/main/openapi/unleash-admin-ui-api-openapi.yml