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.

Operations 7

GET /api/admin/insights/lifecycle Get Lifecycle Trends #
POST /api/admin/feedback Send Unleash Feedback #
GET /api/admin/ui-config Get UI Configuration #
POST /api/admin/ui-config/cors Sets Allowed Cors Origins #
PUT /api/admin/feedback/{id} Update Unleash Feedback #
POST /api/admin/splash/{id} Update Splash Settings #
POST /api/admin/record-ui-error Accepts Errors From the UI Client #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unleash-admin-ui-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unleash-admin-ui-api-openapi.yml Raw ↑
openapi: 3.2.0
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:
    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
    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
    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
    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
    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
          - 'null'
          format: date-time
          example: '2023-06-30T11:41:00.123Z'
    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
    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
       

# --- 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