Bucket Apps API

The Apps API from Bucket — 9 operation(s) for apps.

Operations 12

GET /apps/{appId} Get details of an application #
GET /apps List of applications #
GET /apps/{appId}/environments List environments for application #
GET /apps/{appId}/environments/{envId} Get environment details #
GET /apps/{appId}/flags List flags for application #
POST /apps/{appId}/flags Create a flag #
PATCH /apps/{appId}/flags/{flagId} Update a flag #
GET /apps/{appId}/flags/{flagKey}/targeting/{envId} Get flag targeting for an environment #
GET /apps/{appId}/envs/{envId}/companies/{companyId}/flags Get flags for a company #
PATCH /apps/{appId}/envs/{envId}/companies/{companyId}/flags Update flag targeting for a company #
GET /apps/{appId}/envs/{envId}/users/{userId}/flags Get flags for a user #
PATCH /apps/{appId}/envs/{envId}/users/{userId}/flags Update flag targeting for a user #

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/bucket-apps-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 email required.

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

OpenAPI Specification

bucket-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reflag Management Apps API
  version: 3.0.1
  description: Feature flag Management API
  contact:
    name: Reflag Support
    url: https://reflag.com/support
  license:
    name: Proprietary
    url: https://reflag.com/
servers:
- url: https://app.reflag.com/api
  description: Production server
security:
- APIKey: []
tags:
- name: Apps
paths:
  /apps/{appId}:
    get:
      summary: Get details of an application
      description: Retrieve a specific application by its identifier
      operationId: getApp
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/app'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps:
    get:
      summary: List of applications
      description: Retrieve all accessible applications
      operationId: listApps
      parameters:
      - in: query
        name: orgId
        schema:
          $ref: '#/components/schemas/orgId'
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appHeaderCollection'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/environments:
    get:
      summary: List environments for application
      description: Retrieve all environments for a specific application
      operationId: listEnvironments
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: query
        name: sortOrder
        schema:
          $ref: '#/components/schemas/sortOrder'
        description: Sort order applied to the sorting column
      - in: query
        name: sortBy
        schema:
          $ref: '#/components/schemas/environmentHeaderSortByColumn'
        description: The column to sort by
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/environmentHeaderCollection'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/environments/{envId}:
    get:
      summary: Get environment details
      description: Retrieve details for a specific environment
      operationId: getEnvironment
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: envId
        schema:
          $ref: '#/components/schemas/envId'
        required: true
        description: Environment identifier
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/environment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/flags:
    get:
      summary: List flags for application
      description: Retrieve all flags for a specific application
      operationId: listFlags
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flagHeaderCollection'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
    post:
      summary: Create a flag
      description: Create a new flag in the application. Returns the created flag details.
      operationId: createFlag
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  description: Key of the flag
                  type: string
                  minLength: 1
                name:
                  description: Name of the flag
                  type: string
                  minLength: 1
                description:
                  description: Description of the flag
                  anyOf:
                  - type: string
                    maxLength: 8192
                  - type: 'null'
                stageId:
                  description: Stage ID of the flag
                  type: string
                  minLength: 14
                  maxLength: 14
                ownerUserId:
                  anyOf:
                  - type: string
                  - type: 'null'
                permanent:
                  default: false
                  type: boolean
                secret:
                  description: Whether the flag is secret
                  type: boolean
              required:
              - key
              - name
              additionalProperties: false
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  flag:
                    type: object
                    properties:
                      id:
                        $ref: '#/components/schemas/flagId'
                      key:
                        $ref: '#/components/schemas/flagKey'
                      name:
                        description: Flag name
                        type: string
                        minLength: 1
                        maxLength: 255
                      description:
                        description: Flag description
                        type: string
                      stage:
                        $ref: '#/components/schemas/stageHeader'
                      owner:
                        $ref: '#/components/schemas/reflagUserHeader'
                      archived:
                        description: Whether the flag is archived
                        type: boolean
                      stale:
                        description: Whether the flag is stale
                        type: boolean
                      permanent:
                        description: Whether the flag is permanent
                        type: boolean
                      createdAt:
                        description: Timestamp when the flag was created
                        type: string
                      rolledOutToEveryoneAt:
                        description: Timestamp when the flag was rolled out to everyone
                        type: string
                      codeRefsCleanedUp:
                        description: Whether code references for this flag have been cleaned up
                        type: boolean
                      codeRefsMarkedCleanUserName:
                        description: Name of the user who marked code references as cleaned up
                        type: string
                      codeRefsMarkedCleanAt:
                        description: Timestamp when code references were marked as cleaned up
                        type: string
                      lastCheckAt:
                        description: Timestamp when the flag was last checked
                        type: string
                      noRecentChecks:
                        description: Whether the flag has no recent access checks
                        type: boolean
                      lastTrackAt:
                        description: Timestamp when the flag was last tracked
                        type: string
                      parentFlagId:
                        description: Parent flag ID
                        type: string
                    required:
                    - id
                    - key
                    - name
                    - archived
                    - stale
                    - permanent
                    - codeRefsCleanedUp
                    - noRecentChecks
                    additionalProperties: false
                required:
                - flag
                additionalProperties: false
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/flags/{flagId}:
    patch:
      summary: Update a flag
      description: Update an existing flag
      operationId: updateFlag
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: flagId
        schema:
          $ref: '#/components/schemas/flagId'
        required: true
        description: Flag ID
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: Name of the flag
                  type: string
                  minLength: 1
                description:
                  description: Description of the flag
                  anyOf:
                  - type: string
                    maxLength: 8192
                  - type: 'null'
                ownerUserId:
                  anyOf:
                  - type: string
                  - type: 'null'
                permanent:
                  type: boolean
                secret:
                  description: Whether the flag is secret
                  type: boolean
                isArchived:
                  type: boolean
                stageId:
                  description: Stage ID of the flag
                  type: string
                  minLength: 14
                  maxLength: 14
              additionalProperties: false
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  flag:
                    type: object
                    properties:
                      id:
                        $ref: '#/components/schemas/flagId'
                      key:
                        $ref: '#/components/schemas/flagKey'
                      name:
                        description: Flag name
                        type: string
                        minLength: 1
                        maxLength: 255
                      description:
                        description: Flag description
                        type: string
                      stage:
                        $ref: '#/components/schemas/stageHeader'
                      owner:
                        $ref: '#/components/schemas/reflagUserHeader'
                      archived:
                        description: Whether the flag is archived
                        type: boolean
                      stale:
                        description: Whether the flag is stale
                        type: boolean
                      permanent:
                        description: Whether the flag is permanent
                        type: boolean
                      createdAt:
                        description: Timestamp when the flag was created
                        type: string
                      rolledOutToEveryoneAt:
                        description: Timestamp when the flag was rolled out to everyone
                        type: string
                      codeRefsCleanedUp:
                        description: Whether code references for this flag have been cleaned up
                        type: boolean
                      codeRefsMarkedCleanUserName:
                        description: Name of the user who marked code references as cleaned up
                        type: string
                      codeRefsMarkedCleanAt:
                        description: Timestamp when code references were marked as cleaned up
                        type: string
                      lastCheckAt:
                        description: Timestamp when the flag was last checked
                        type: string
                      noRecentChecks:
                        description: Whether the flag has no recent access checks
                        type: boolean
                      lastTrackAt:
                        description: Timestamp when the flag was last tracked
                        type: string
                      parentFlagId:
                        description: Parent flag ID
                        type: string
                    required:
                    - id
                    - key
                    - name
                    - archived
                    - stale
                    - permanent
                    - codeRefsCleanedUp
                    - noRecentChecks
                    additionalProperties: false
                required:
                - flag
                additionalProperties: false
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/flags/{flagKey}/targeting/{envId}:
    get:
      summary: Get flag targeting for an environment
      description: Retrieve targeting for a flag in an environment
      operationId: getFlagTargeting
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: flagKey
        schema:
          $ref: '#/components/schemas/flagKey'
        required: true
        description: Unique flag key
      - in: path
        name: envId
        schema:
          $ref: '#/components/schemas/envId'
        required: true
        description: Environment identifier
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flagTargeting'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/envs/{envId}/companies/{companyId}/flags:
    get:
      summary: Get flags for a company
      description: Retrieve all flags with their targeting status for a specific company
      operationId: getCompanyFlags
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: envId
        schema:
          $ref: '#/components/schemas/envId'
        required: true
        description: Environment identifier
      - in: path
        name: companyId
        schema:
          $ref: '#/components/schemas/companyId'
        required: true
        description: Company ID within your application
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityFlagsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
    patch:
      summary: Update flag targeting for a company
      description: Update specific targeting for flags for a company in an environment
      operationId: updateCompanyFlags
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: envId
        schema:
          $ref: '#/components/schemas/envId'
        required: true
        description: Environment identifier
      - in: path
        name: companyId
        schema:
          $ref: '#/components/schemas/companyId'
        required: true
        description: Company ID within your application
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateEntityFlagsBody'
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityFlagsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
  /apps/{appId}/envs/{envId}/users/{userId}/flags:
    get:
      summary: Get flags for a user
      description: Retrieve all flags with their targeting status for a specific user
      operationId: getUserFlags
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: envId
        schema:
          $ref: '#/components/schemas/envId'
        required: true
        description: Environment identifier
      - in: path
        name: userId
        schema:
          $ref: '#/components/schemas/userId'
        required: true
        description: User ID within your application
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityFlagsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
    patch:
      summary: Update flag targeting for a user
      description: Update specific targeting for flags for a user in an environment
      operationId: updateUserFlags
      parameters:
      - in: path
        name: appId
        schema:
          $ref: '#/components/schemas/appId'
        required: true
        description: App identifier
      - in: path
        name: envId
        schema:
          $ref: '#/components/schemas/envId'
        required: true
        description: Environment identifier
      - in: path
        name: userId
        schema:
          $ref: '#/components/schemas/userId'
        required: true
        description: User ID within your application
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateEntityFlagsBody'
      responses:
        '200':
          description: Requested resource retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityFlagsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource, or its parent, not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Apps
components:
  schemas:
    userId:
      description: User ID within your application
      type: string
      minLength: 1
    updateEntityFlagsBody:
      description: Request body for updating flags for an entity
      type: object
      properties:
        updates:
          description: List of flag updates to apply
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/entityFlagUpdate'
        changeDescription:
          description: Description of the change for audit history
          type: string
        notifications:
          description: Destination list for notifications about the change. Use [] to disable notifications. Omit to use configured defaults.
          type: array
          items:
            type: string
            enum:
            - linearComment
            - slack
      required:
      - updates
    environmentHeaderSortByColumn:
      description: The column to sort by
      default: order
      type: string
      enum:
      - name
      - order
    environment:
      description: Environment details
      type: object
      properties:
        id:
          $ref: '#/components/schemas/envId'
        name:
          description: Environment name
          type: string
        isProduction:
          description: Whether the environment is a production environment
          type: boolean
        order:
          description: Environment order in the app (zero-indexed)
          type: integer
        flagStateVersion:
          description: Environment version incremented when flag state changes
          type: integer
        sdkAccess:
          description: SDK access details
          type: object
          properties:
            publishableKey:
              description: Publishable key
              type: string
              minLength: 1
              maxLength: 36
            secretKey:
              description: Secret key
              type: string
              minLength: 1
              maxLength: 36
          required:
          - publishableKey
          - secretKey
          additionalProperties: false
      required:
      - id
      - name
      - isProduction
      - order
      - flagStateVersion
      - sdkAccess
      additionalProperties: false
    flagHeader:
      description: Basic flag information
      type: object
      properties:
        id:
          $ref: '#/components/schemas/flagId'
        key:
          $ref: '#/components/schemas/flagKey'
        name:
          description: Flag name
          type: string
          minLength: 1
          maxLength: 255
        description:
          description: Flag description
          type: string
        stage:
          $ref: '#/components/schemas/stageHeader'
        owner:
          $ref: '#/components/schemas/reflagUserHeader'
        archived:
          description: Whether the flag is archived
          type: boolean
        stale:
          description: Whether the flag is stale
          type: boolean
        permanent:
          description: Whether the flag is permanent
          type: boolean
        createdAt:
          description: Timestamp when the flag was created
          type: string
        rolledOutToEveryoneAt:
          description: Timestamp when the flag was rolled out to everyone
          type: string
        codeRefsCleanedUp:
          description: Whether code references for this flag have been cleaned up
          type: boolean
        codeRefsMarkedCleanUserName:
          description: Name of the user who marked code references as cleaned up
          type: string
        codeRefsMarkedCleanAt:
          description: Timestamp when code references were marked as cleaned up
          type: string
        lastCheckAt:
          description: Timestamp when the flag was last checked
          type: string
        noRecentChecks:
          description: Whether the flag has no recent access checks
          type: boolean
        lastTrackAt:
          description: Timestamp when the flag was last tracked
          type: string
      required:
      - id
      - key
      - name
      - archived
      - stale
      - permanent
      - codeRefsCleanedUp
      - noRecentChecks
      additionalProperties: false
    stageId:
      description: Stage identifier
      type: string
      minLength: 1
    orgId:
      description: Organization identifier
      type: string
      minLength: 1
    flagId:
      description: Flag ID
      type: string
      minLength: 1
    flagHeaderCollection:
      description: Collection response containing flags
      type: object
      properties:
        data:
          description: Page of the collection of flags
          type: array
          items:
            $ref: '#/components/schemas/flagHeader'
        totalCount:
          description: Total number of flags in collection
          type: integer
        pageSize:
          description: Page size
          type: integer
        pageIndex:
          description: Page index
          type: integer
        sortBy:
          description: Sort by
          type: s

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bucket/refs/heads/main/openapi/bucket-apps-api-openapi.yml