CloudBees Flags API

Control runtime feature visibility and behavior to enable gradual rollouts, A/B testing, progressive delivery, and safe deployments without redeployment.

Business capability
Feature Flag Management BC-4210.50

Operations 9

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v2/applications/{applicationId}/flags List feature flags in an application · List feature flags #
Ask an LLM
“Which feature flags exist in my application?”
“Can I see whether each flag is on or off in specific environments when listing them?”
Tell an agent
List the feature flags in application {applicationId}.
List flags in app {applicationId} with their on/off state for environments {configStateEnvs}.
POST /v2/applications/{applicationId}/flags Create a feature flag · Create a feature flag #
Ask an LLM
“How do I create a new feature flag in CloudBees?”
“Can I create a string flag with a fixed set of variants?”
Tell an agent
Create a Boolean flag named {name} in application {applicationId}.
Create flag {name} of type {flagType} in app {applicationId} with variants {variants}.
GET /v2/applications/{applicationId}/flags/by-name/{name} Look up a feature flag by name · Get a feature flag by name #
Ask an LLM
“Can I fetch a feature flag if I only know its name?”
“What type and variants does the flag named 'new-checkout' have?”
Tell an agent
Find the flag named {name} in application {applicationId}.
Look up feature flag {name} by name in app {applicationId}.
GET /v2/applications/{applicationId}/flags/labels List labels used on feature flags · List flag labels #
Ask an LLM
“What labels are used across the flags in my application?”
“Which tags can I filter my flags by?”
Tell an agent
List the flag labels in application {applicationId}.
Show every label attached to flags in app {applicationId}.
GET /v2/applications/{applicationId}/flags/{id} Get a feature flag by ID · Get a feature flag #
Ask an LLM
“How do I retrieve a feature flag when I have its ID?”
“What labels and description does a given flag ID have?”
Tell an agent
Get feature flag {id} in application {applicationId}.
Show the details of flag ID {id} in app {applicationId}.
PUT /v2/applications/{applicationId}/flags/{id} Update a feature flag's definition · Update a feature flag #
Ask an LLM
“How do I change a flag's description or labels?”
“Can I mark an existing flag as permanent?”
Tell an agent
Update the description of flag {id} in app {applicationId} to {description}.
Set labels {labels} on existing flag {id} in application {applicationId}.
DELETE /v2/applications/{applicationId}/flags/{id} Delete a feature flag · Delete a feature flag #
Ask an LLM
“How do I permanently delete a feature flag and its configurations?”
“Does deleting a flag also remove its environment configurations?”
Tell an agent destructive · confirm first
Delete feature flag {id} from application {applicationId}.
Permanently remove flag {id} and all its configurations in app {applicationId}.
GET /v2/applications/{applicationId}/flags/{id}/configuration-state Check where a flag is enabled · Get flag configuration state per environment #
Ask an LLM
“In which environments is a particular flag switched on?”
“Can I see a single flag's on/off state across all environments?”
Tell an agent
Show whether flag {id} is enabled in each environment of app {applicationId}.
Get the per-environment on/off state of flag {id} in application {applicationId}.
GET /v2/applications/{applicationId}/flags/{id}/flag-usage-per-environment See which target groups a flag uses · Get flag target group usage per environment #
Ask an LLM
“Which target groups does a feature flag reference in each environment?”
“What audiences is a given flag targeting across environments?”
Tell an agent
List the target groups flag {id} uses, per environment, in app {applicationId}.
Show target group usage by environment for flag {id} in application {applicationId}.

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/cloudbees:cloudbees-flags-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

cloudbees-flags-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CloudBees Unify API (Current) Flags API
  version: 1.0.0
  description: 'API documentation for CloudBees Unify''s current, stable endpoints. This specification covers the endpoints customers rely on today while next-generation v4 equivalents are in development. These endpoints are stable and supported, but no longer receive new features.


    ### Unify core


    #### Components

    List components within an organization, and optionally filter by component type, such as applications or services with an associated repository.


    #### Environments

    Discover and manage environments within your organization. Use environments to maintain an up-to-date inventory for feature flag targeting, deployment scripts, and monitoring workflows.


    #### Organizations

    Define the structural and governance boundaries within a CloudBees Unify tenant. Organizations model business units or departments, support parent-child hierarchies, and inherit configuration—properties, integrations, and environments—from parent organizations. Every tenant has one root organization; all others exist beneath it.


    #### Runs

    Create, update, and retrieve CI/CD runs for a component. Attach and list test results, artifacts, security results, evidences, and deployments.


    #### Teams

    List teams within an organization. Teams group users to manage access and permissions across resources in CloudBees Unify.


    #### Users

    Invite or remove users, and define custom attributes for feature flag targeting based on application-specific criteria such as account tier, region, or subscription status.


    ### Feature management


    #### Flags

    Control runtime feature visibility and behavior to enable gradual rollouts, A/B testing, progressive delivery, and safe deployments without redeployment.


    #### Flag configurations

    Set flag state (enabled or disabled) and targeting rules for a specific environment to determine which users or segments receive each variation.


    #### Flag custom properties

    Create, read, update, and delete custom properties used in targeting conditions and target groups.


    #### Target groups

    Define reusable sets of targeting conditions for feature flags. Specify rules once (such as matching users by role, region, or custom property) and apply them across multiple flags. Changes to a target group propagate automatically to every flag that references it.


    #### Flag lifecycle

    Track how often each flag variation is served in an environment. Use impression data to monitor adoption, validate rollouts, and see which variations your application evaluates.


    For new integrations, prefer the CloudBees Unify API (Beta) where available.'
servers:
- url: https://api.cloudbees.io
  description: CloudBees Unify Production API
security:
- BearerAuth: []
tags:
- name: Flags
  description: Control runtime feature visibility and behavior to enable gradual rollouts, A/B testing, progressive delivery, and safe deployments without redeployment.
paths:
  /v2/applications/{applicationId}/flags:
    get:
      tags:
      - Flags
      operationId: FlagApi_ListFlags
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application whose feature flags are to be listed.
        required: true
        schema:
          type: string
      - name: configStateEnvs
        in: query
        description: List of environment IDs for which to include the enabled/disabled state of each flag. When omitted, no configuration state is returned.
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.ListFlagsResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: List feature flags
      description: Returns all feature flags for the specified application. Use the configStateEnvs query parameter to include the enabled/disabled state of each flag per environment.
    post:
      tags:
      - Flags
      operationId: FlagApi_AddFlag
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application in which to create the feature flag.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.flag.Flag'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.AddFlagResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Create a feature flag
      description: Creates a new feature flag within the specified application.
  /v2/applications/{applicationId}/flags/by-name/{name}:
    get:
      tags:
      - Flags
      operationId: FlagApi_GetFlagByName
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the feature flag.
        required: true
        schema:
          type: string
      - name: name
        in: path
        description: Unique name of the feature flag to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.GetFlagResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get a feature flag by name
      description: Returns a single feature flag by its unique name within the specified application.
  /v2/applications/{applicationId}/flags/labels:
    get:
      tags:
      - Flags
      operationId: FlagApi_ListLabels
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application whose flag labels are to be listed.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.ListLabelsResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: List flag labels
      description: Returns all labels associated with feature flags in the specified application.
  /v2/applications/{applicationId}/flags/{id}:
    get:
      tags:
      - Flags
      operationId: FlagApi_GetFlag
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the feature flag.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the feature flag to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.GetFlagResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get a feature flag
      description: Returns a single feature flag by its unique identifier within the specified application.
    put:
      tags:
      - Flags
      operationId: FlagApi_UpdateFlag
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the feature flag.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the feature flag to update.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.flag.Flag'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.UpdateFlagResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Update a feature flag
      description: Replaces the configuration of an existing feature flag within the specified application. All fields in the request body replace the current values.
    delete:
      tags:
      - Flags
      operationId: FlagApi_DeleteFlag
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the feature flag.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the feature flag to delete.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content: {}
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Delete a feature flag
      description: Permanently deletes a feature flag and all its configurations from the specified application.
  /v2/applications/{applicationId}/flags/{id}/configuration-state:
    get:
      tags:
      - Flags
      description: Returns the enabled or disabled state of a feature flag for each environment in the application.
      operationId: FlagApi_GetFlagConfigurationState
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the feature flag.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the feature flag whose configuration state is to be retrieved.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.GetFlagConfigurationStateResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get flag configuration state per environment
  /v2/applications/{applicationId}/flags/{id}/flag-usage-per-environment:
    get:
      tags:
      - Flags
      operationId: FlagApi_GetFlagFlagUsagePerEnvironment
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the feature flag.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the feature flag to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.flag.GetFlagFlagsUsagePerEnvironmentResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get flag target group usage per environment
      description: Returns the target groups referenced by a feature flag, grouped by environment.
components:
  schemas:
    api.flag.GetFlagFlagsUsagePerEnvironmentResponse:
      type: object
      properties:
        environments:
          type: array
          items:
            $ref: '#/components/schemas/api.TargetGroup.EnvironmentUsage'
          description: The list of environments and the target groups that this feature flag references in each.
    api.flag.GetFlagResponse:
      type: object
      properties:
        flag:
          allOf:
          - $ref: '#/components/schemas/api.flag.Flag'
          description: The feature flag object containing its current configuration and metadata.
    api.flag.GetFlagConfigurationStateResponse:
      type: object
      properties:
        configurationStates:
          type: array
          items:
            $ref: '#/components/schemas/api.flag.FlagConfigurationState'
          description: The enabled/disabled state of the feature flag for each environment in the application.
    api.flag.FlagConfigurationState:
      type: object
      properties:
        environmentId:
          type: string
          description: The unique identifier of the environment this state applies to.
        enabled:
          type: boolean
          description: Whether the feature flag is enabled in this environment.
        updated:
          type: string
          description: The date and time at which this configuration state was last updated.
          format: date-time
    api.flag.Flag:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the feature flag.
        name:
          type: string
          description: The unique name of the feature flag within the application.
        description:
          type: string
          description: A human-readable description of the feature flag's purpose.
        flagType:
          enum:
          - Boolean
          - String
          - Number
          type: string
          description: The value type of the flag. One of Boolean, String, or Number.
        variants:
          type: array
          items:
            type: string
          description: The valid variant values for String or Number flags. Empty for Boolean flags.
        resourceId:
          type: string
          description: The unique identifier of the application that owns this feature flag.
        labels:
          type: array
          items:
            type: string
          description: Labels attached to this feature flag for organizational or filtering purposes.
        isPermanent:
          type: boolean
          description: When true, the flag is marked permanent and excluded from stale flag cleanup.
        cascUrl:
          type: string
          description: The CasC (Configuration as Code) URL for this feature flag.
        created:
          type: string
          description: The date and time at which the feature flag was created.
          format: date-time
        configStates:
          type: array
          items:
            $ref: '#/components/schemas/api.flag.FlagConfigurationState'
          description: The enabled or disabled state of this flag per environment. Populated only when environment IDs are requested.
        updated:
          type: string
          description: The date and time at which the feature flag was last updated.
          format: date-time
    google.rpc.Status:
      type: object
      properties:
        code:
          type: integer
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
          format: int32
        message:
          type: string
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
          description: A list of messages that carry the error details.  There is a common set of message types for APIs to use.
      description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
    google.protobuf.Any:
      type: object
      properties:
        '@type':
          type: string
          description: The type of the serialized message.
      additionalProperties: true
      description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
    api.flag.ListLabelsResponse:
      type: object
      properties:
        labels:
          type: array
          items:
            type: string
          description: The list of label strings associated with feature flags in the application.
    api.TargetGroup.FlagUsageInEnvironment:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the feature flag.
        name:
          type: string
          description: Display name of the feature flag.
        enabled:
          type: boolean
          description: Whether the feature flag is enabled in this environment.
        resourceId:
          type: string
          description: Unique identifier of the application that owns this feature flag.
    api.TargetGroup.EnvironmentUsage:
      type: object
      properties:
        environmentId:
          type: string
          description: Unique identifier of the environment.
        flagUsage:
          type: array
          items:
            $ref: '#/components/schemas/api.TargetGroup.FlagUsageInEnvironment'
          description: Feature flags that reference the target group in this environment.
    api.flag.AddFlagResponse:
      type: object
      properties:
        flag:
          allOf:
          - $ref: '#/components/schemas/api.flag.Flag'
          description: The feature flag object as it was created, including its assigned identifier.
    api.flag.ListFlagsResponse:
      type: object
      properties:
        flags:
          type: array
          items:
            $ref: '#/components/schemas/api.flag.Flag'
          description: The list of feature flags belonging to the specified application.
    api.flag.UpdateFlagResponse:
      type: object
      properties:
        flag:
          allOf:
          - $ref: '#/components/schemas/api.flag.Flag'
          description: The feature flag object reflecting its state after the update.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: CloudBees Unify API access token or personal access token
x-tagGroups:
- name: Unify core
  tags:
  - Components
  - Edge runners
  - Environments
  - Organizations
  - Runs
  - Teams
  - Users
- name: Feature management
  tags:
  - Flags
  - Flag configurations
  - Flag custom properties
  - Target groups
  - Flag lifecycle
x-provenance:
  method: harvested
  publisher: CloudBees
  source: https://apidocs.cloudbees.io/openapi-classic.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)