CloudBees Flag custom properties API

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

Business capability
Feature Flag Management BC-4210.50

Operations 8

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}/custom-properties List custom properties in an application · List custom properties #
Ask an LLM
“Which custom properties can I use in flag targeting for my application?”
“What custom properties have been defined so far?”
Tell an agent
List the custom properties in application {applicationId}.
Show all targeting properties defined for app {applicationId}.
POST /v2/applications/{applicationId}/custom-properties Create a custom property for targeting · Create a custom property #
Ask an LLM
“How do I add a new custom property to target flags on, like a user's plan?”
“Which data types can a custom property have?”
Tell an agent
Create a custom property named {name} of type {type} in app {applicationId}.
Add custom property {name} to application {applicationId} described as {description}.
GET /v2/applications/{applicationId}/custom-properties/by-name/{name} Look up a custom property by name · Get a custom property by name #
Ask an LLM
“Can I fetch a custom property if I only know its name?”
“What type is the custom property called 'country'?”
Tell an agent
Find the custom property named {name} in application {applicationId}.
Look up custom property {name} by name in app {applicationId}.
GET /v2/applications/{applicationId}/custom-properties/{id} Get a custom property by ID · Get a custom property #
Ask an LLM
“How do I retrieve a custom property when I have its ID?”
“What description and type does a given custom property ID have?”
Tell an agent
Get custom property {id} in application {applicationId}.
Show the details of custom property ID {id} for app {applicationId}.
PUT /v2/applications/{applicationId}/custom-properties/{id} Replace a custom property's settings · Update a custom property #
Ask an LLM
“How do I change the type or description of an existing custom property?”
“Are fields I leave out reset when I update a custom property?”
Tell an agent
Update custom property {id} in app {applicationId} to type {type}.
Rename existing custom property {id} in application {applicationId} to {name}.
DELETE /v2/applications/{applicationId}/custom-properties/{id} Delete a custom property · Delete a custom property #
Ask an LLM
“How do I permanently remove a custom property I no longer use?”
“Can a deleted custom property be recovered?”
Tell an agent destructive · confirm first
Delete custom property {id} from application {applicationId}.
Permanently remove custom property {id} in app {applicationId}.
GET /v2/applications/{applicationId}/custom-properties/{id}/flag-usage-per-environment See which flags use a custom property · Get flag usage per environment #
Ask an LLM
“Which feature flags reference a custom property, per environment?”
“Is a custom property still used by any flags before I delete it?”
Tell an agent
Show which flags use custom property {id} in each environment of app {applicationId}.
List per-environment flag usage of custom property {id} in application {applicationId}.
GET /v2/applications/{applicationId}/custom-properties/{id}/target-group-usage See which target groups use a custom property · Get target group usage #
Ask an LLM
“Which target groups rely on a particular custom property?”
“What target groups would be affected if I change a custom property?”
Tell an agent
List the target groups that reference custom property {id} in app {applicationId}.
Show target group usage for custom property {id} in application {applicationId}.

Documentation

Specifications

Schemas & Data

Other Resources

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-flag-custom-properties-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

cloudbees-flag-custom-properties-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CloudBees Unify API (Current) Flag custom properties API
  version: 1.0.0
  description: API documentation for CloudBees Unify's current, stable endpoints.
servers:
- url: https://api.cloudbees.io
  description: CloudBees Unify Production API
security:
- BearerAuth: []
tags:
- name: Flag custom properties
  description: Create, read, update, and delete custom properties used in targeting conditions and target groups.
paths:
  /v2/applications/{applicationId}/custom-properties:
    get:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_ListCustomProperties
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application whose custom properties are to be listed.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.ListCustomPropertiesResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: List custom properties
      description: Returns all custom properties defined within the specified application.
    post:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_AddCustomProperty
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application in which to create the custom property.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.CustomProperty.CustomProperty'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.AddCustomPropertyResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Create a custom property
      description: Creates a new custom property within the specified application. Custom properties define additional attributes that can be used in feature flag targeting rules.
  /v2/applications/{applicationId}/custom-properties/by-name/{name}:
    get:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_GetCustomPropertyByName
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the custom property.
        required: true
        schema:
          type: string
      - name: name
        in: path
        description: Name of the custom property to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.GetCustomPropertyResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get a custom property by name
      description: Returns a single custom property matching the specified name within the application. Use this endpoint when you have the property name but not its ID.
  /v2/applications/{applicationId}/custom-properties/{id}:
    get:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_GetCustomProperty
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the custom property.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the custom property to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.GetCustomPropertyResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get a custom property
      description: Returns a single custom property by its unique identifier within the specified application.
    put:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_UpdateCustomProperty
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the custom property.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the custom property to update.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.CustomProperty.CustomProperty'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.UpdateCustomPropertyResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Update a custom property
      description: Replaces all fields of the specified custom property with the provided values. All fields in the request body are required; omitted fields are set to their default values.
    delete:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_DeleteCustomProperty
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the custom property.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the custom property 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 custom property
      description: Permanently deletes the specified custom property. This action cannot be undone. Ensure the property is not referenced by any feature flag targeting rules before deleting.
  /v2/applications/{applicationId}/custom-properties/{id}/flag-usage-per-environment:
    get:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_GetCustomPropertyFlagUsagePerEnvironment
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the custom property.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the custom property to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.GetCustomPropertyFlagsUsagePerEnvironmentResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get flag usage per environment
      description: Returns a list of environments and the feature flags that reference this custom property in each environment. Use this to understand where a custom property is actively used before modifying or deleting it.
  /v2/applications/{applicationId}/custom-properties/{id}/target-group-usage:
    get:
      tags:
      - Flag custom properties
      operationId: CustomPropertyApi_GetCustomPropertyTargetGroupUsage
      parameters:
      - name: applicationId
        in: path
        description: Unique identifier of the application that owns the custom property.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: Unique identifier of the custom property to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.CustomProperty.GetCustomPropertyTargetGroupUsageResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
      summary: Get target group usage
      description: Returns the target groups that reference this custom property in their targeting rules. Use this to understand the impact of changes to a custom property before modifying or deleting it.
components:
  schemas:
    api.CustomProperty.GetCustomPropertyResponse:
      type: object
      properties:
        customProperty:
          allOf:
          - $ref: '#/components/schemas/api.CustomProperty.CustomProperty'
          description: The requested custom property.
    api.TargetGroup.TargetGroupUsage:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the target group.
        name:
          type: string
          description: Display name of the target group.
        resourceId:
          type: string
          description: Unique identifier of the application that owns this target group.
    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.
    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).'
    api.CustomProperty.CustomProperty:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the custom property.
        name:
          type: string
          description: Name of the custom property as it appears in the UI and targeting rules.
        type:
          enum:
          - Boolean
          - String
          - Semver
          - Number
          - DateTime
          type: string
          description: 'Data type of the custom property. Valid values: Boolean, String, Semver, Number, DateTime.'
        description:
          type: string
          description: Human-readable description of the custom property's purpose.
        resourceId:
          type: string
          description: Identifier of the application that owns this custom property.
        cascUrl:
          type: string
          description: URL of the CasC (configuration-as-code) representation of this custom property.
    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.CustomProperty.ListCustomPropertiesResponse:
      type: object
      properties:
        customProperties:
          type: array
          items:
            $ref: '#/components/schemas/api.CustomProperty.CustomProperty'
          description: List of all custom properties defined within the application.
    api.CustomProperty.GetCustomPropertyFlagsUsagePerEnvironmentResponse:
      type: object
      properties:
        environments:
          type: array
          items:
            $ref: '#/components/schemas/api.TargetGroup.EnvironmentUsage'
          description: List of environments and the feature flags that reference this custom property in each environment.
    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.CustomProperty.AddCustomPropertyResponse:
      type: object
      properties:
        customProperty:
          allOf:
          - $ref: '#/components/schemas/api.CustomProperty.CustomProperty'
          description: The newly created custom property.
    api.CustomProperty.UpdateCustomPropertyResponse:
      type: object
      properties:
        customProperty:
          allOf:
          - $ref: '#/components/schemas/api.CustomProperty.CustomProperty'
          description: The updated custom property.
    api.CustomProperty.GetCustomPropertyTargetGroupUsageResponse:
      type: object
      properties:
        targetGroupUsage:
          type: array
          items:
            $ref: '#/components/schemas/api.TargetGroup.TargetGroupUsage'
          description: List of target groups that reference this custom property in their targeting rules.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: CloudBees Unify API access token or personal access token
x-tagGroups:
- name: Unify core
  tags:
  - Components
  - Environments
  - Organizations
  - Teams
  - Users
- name: Feature management
  tags:
  - Flags
  - Flag configurations
  - Flag custom properties
  - Target groups
  - Flag lifecycle