launchdarkly Projects API

Manage projects that organize feature flags and other resources.

Operations 11

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 /projects List projects on the dev server · lists all projects that have been configured for the dev server #
Ask an LLM
“Which projects are configured on my local dev server?”
“What projects has the dev server been set up to sync?”
Tell an agent
List projects on the dev server.
Show every project configured in my local dev server.
POST /projects Create a new project · Create a project #
Ask an LLM
“How do I create a new project with its own environments?”
“Can I tag a project when I create it?”
Tell an agent
Create project {name} with key {key}.
Create a new project {key} called {name} with environments {environments}.
GET /projects/{projectKey} Get a dev server project's sync configuration · get the specified project and its configuration for syncing from the… #
Ask an LLM
“How do I see how a project is configured to sync on the dev server?”
“Can I expand the dev server project to include flag state?”
Tell an agent
Get dev server project {projectKey}.
Show dev server project {projectKey} expanded with {expand}.
PATCH /projects/{projectKey} Update or resync a dev server project · updates the project context or sourceEnvironmentKey then syncs. #
Ask an LLM
“How do I force the dev server to resync a project?”
“Can I change the evaluation context the dev server uses for a project?”
Tell an agent
Force a sync of dev server project {projectKey}.
Switch dev server project {projectKey} to source environment {sourceEnvironmentKey}.
DELETE /projects/{projectKey} Remove a project from the dev server · remove the specified project from the dev server #
Ask an LLM
“How do I remove a project from the local dev server?”
“Can I stop the dev server from tracking a project?”
Tell an agent destructive · confirm first
Remove project {projectKey} from the dev server.
Stop syncing {projectKey} on my dev server.
POST /projects/{projectKey} Add a project to the dev server · Add the project to the dev server #
Ask an LLM
“How do I add a project to my local dev server?”
“Which source environment does the dev server copy flags from?”
Tell an agent
Add project {projectKey} to the dev server, syncing from {sourceEnvironmentKey}.
Add {projectKey} to the dev server from {sourceEnvironmentKey} using context {context}.
POST /projects/{projectKey}/import Import a project from exported JSON · Import a project from exported JSON data #
Ask an LLM
“How do I load a previously exported project into the dev server?”
“Can I import flag state and overrides from a JSON export?”
Tell an agent
Import project {projectKey} from source environment {sourceEnvironmentKey} with context {context}, last synced {_lastSyncedFromSource}.
Import {projectKey} from JSON including flag state {flagsState} and overrides {overrides}.
DELETE /projects/{projectKey}/overrides Clear all flag overrides for a project · remove all overrides for the given project #
Ask an LLM
“How do I reset every local flag override in a project?”
“Can I wipe all overrides at once on the dev server?”
Tell an agent destructive · confirm first
Remove all overrides for project {projectKey}.
Clear every flag override in {projectKey}.
PUT /projects/{projectKey}/overrides/{flagKey} Override a flag's value locally · override flag value with value provided in the body #
Ask an LLM
“How do I force a flag to a specific value on my dev server?”
“Can I override one flag locally without changing it in LaunchDarkly?”
Tell an agent
Override flag {flagKey} in project {projectKey}.
Set a local override value for {flagKey} in {projectKey}.
DELETE /projects/{projectKey}/overrides/{flagKey} Remove one flag's local override · remove override for flag #
Ask an LLM
“How do I undo the override on a single flag?”
“Can I return one flag to its synced value on the dev server?”
Tell an agent destructive · confirm first
Remove the override on flag {flagKey} in {projectKey}.
Clear the dev server override for {flagKey} in project {projectKey}.
GET /projects/{projectKey}/environments List a dev server project's environments · list all environments for the given project #
Ask an LLM
“Which environments can the dev server sync for a project?”
“Can I search a project's environments by name on the dev server?”
Tell an agent
List environments for dev server project {projectKey}.
Find environments named {name} in {projectKey}, up to {limit}.

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/launchdarkly:launchdarkly-projects-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

launchdarkly-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Launchdarkly Projects API
  version: '1.0'
  description: 'Operations tagged Projects across 2 of this provider''s published API definitions: launchdarkly-dev-server-openapi.yml, launchdarkly-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: http://localhost:8765/dev
- url: https://app.launchdarkly.com/api/v2
  description: LaunchDarkly Production API
tags:
- name: Projects
paths:
  /projects:
    get:
      summary: lists all projects that have been configured for the dev server
      operationId: getProjects
      responses:
        200:
          description: OK. List of projects
          content:
            application/json:
              schema:
                description: list of project keys.
                type: array
                items:
                  type: string
                uniqueItems: true
      tags:
      - Projects
    post:
      operationId: createProject
      summary: Create a project
      description: Creates a new project with the specified key, name, and default environments.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectBody'
      responses:
        '201':
          description: Project created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project_2'
        '400':
          description: Invalid request body.
        '401':
          description: Unauthorized. Invalid or missing access token.
        '409':
          description: A project with the given key already exists.
    servers:
    - url: http://localhost:8765/dev
  /projects/{projectKey}:
    get:
      summary: get the specified project and its configuration for syncing from the…
      operationId: getProject
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/projectExpand'
      responses:
        200:
          $ref: '#/components/responses/Project'
        404:
          description: No project found
      tags:
      - Projects
    patch:
      summary: updates the project context or sourceEnvironmentKey then syncs.
      operationId: patchProject
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/projectExpand'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sourceEnvironmentKey:
                  type: string
                  description: environment to copy flag values from
                context:
                  $ref: '#/components/schemas/Context'
      responses:
        200:
          $ref: '#/components/responses/Project'
        404:
          description: No project found
      tags:
      - Projects
    delete:
      summary: remove the specified project from the dev server
      operationId: deleteProject
      parameters:
      - $ref: '#/components/parameters/projectKey'
      responses:
        204:
          description: OK. Project & overrides were removed
        404:
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Projects
    post:
      summary: Add the project to the dev server
      operationId: postAddProject
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/projectExpand'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - sourceEnvironmentKey
              properties:
                sourceEnvironmentKey:
                  type: string
                  description: environment to copy flag values from
                context:
                  $ref: '#/components/schemas/Context'
      responses:
        201:
          $ref: '#/components/responses/Project'
        400:
          $ref: '#/components/responses/ErrorResponse'
        409:
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Projects
    servers:
    - url: http://localhost:8765/dev
  /projects/{projectKey}/import:
    post:
      summary: Import a project from exported JSON data
      description: 'Import a project using the JSON format from get-project with expand options.

        Accepts the same format that is exported by the get-project endpoint.'
      operationId: postImportProject
      parameters:
      - $ref: '#/components/parameters/projectKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
      responses:
        201:
          $ref: '#/components/responses/Project'
        400:
          $ref: '#/components/responses/ErrorResponse'
        409:
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Projects
    servers:
    - url: http://localhost:8765/dev
  /projects/{projectKey}/overrides:
    delete:
      summary: remove all overrides for the given project
      operationId: deleteOverrides
      parameters:
      - $ref: '#/components/parameters/projectKey'
      responses:
        204:
          description: OK. All overrides were removed
        404:
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Projects
    servers:
    - url: http://localhost:8765/dev
  /projects/{projectKey}/overrides/{flagKey}:
    put:
      summary: override flag value with value provided in the body
      operationId: putOverrideFlag
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/flagKey'
      requestBody:
        required: true
        description: flag value to override flag with. The json representation of the variation value.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlagValue'
      responses:
        200:
          $ref: '#/components/responses/FlagOverride'
        400:
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Projects
    delete:
      summary: remove override for flag
      operationId: deleteFlagOverride
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/flagKey'
      responses:
        204:
          description: OK. override removed
        404:
          description: no matching override found
      tags:
      - Projects
    servers:
    - url: http://localhost:8765/dev
  /projects/{projectKey}/environments:
    get:
      operationId: getEnvironments
      summary: list all environments for the given project
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - name: name
        in: query
        description: filter by environment name
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: limit the number of environments returned
        required: false
        schema:
          type: integer
      responses:
        200:
          description: OK. List of environments
          content:
            application/json:
              schema:
                description: list of environments
                type: array
                items:
                  $ref: '#/components/schemas/Environment'
                uniqueItems: true
        404:
          $ref: '#/components/responses/ErrorResponse'
        400:
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Projects
    servers:
    - url: http://localhost:8765/dev
components:
  parameters:
    projectExpand:
      name: expand
      description: Available expand options for this endpoint.
      in: query
      schema:
        type: array
        items:
          type: string
          enum:
          - overrides
          - availableVariations
    projectKey:
      name: projectKey
      in: path
      required: true
      schema:
        type: string
    flagKey:
      name: flagKey
      in: path
      required: true
      schema:
        type: string
    ProjectKey:
      name: projectKey
      in: path
      required: true
      description: The project key identifying a LaunchDarkly project.
      schema:
        type: string
        pattern: ^[a-z0-9]([a-z0-9-])*$
  schemas:
    Context:
      type: object
      description: context object to use when evaluating flags in source environment
      x-go-type: ldcontext.Context
      x-go-type-import:
        path: github.com/launchdarkly/go-sdk-common/v3/ldcontext
      default:
        key: dev-environment
        kind: user
    Environment:
      description: Environment
      type: object
      required:
      - key
      - name
      properties:
        key:
          type: string
        name:
          type: string
    Project:
      description: Project
      type: object
      required:
      - sourceEnvironmentKey
      - context
      - _lastSyncedFromSource
      properties:
        context:
          $ref: '#/components/schemas/Context'
        sourceEnvironmentKey:
          type: string
          description: environment to copy flag values from
        flagsState:
          type: object
          description: flags and their values and version for a given project in the source environment
          x-go-type: model.FlagsState
          x-go-type-import:
            path: github.com/launchdarkly/ldcli/internal/dev_server/model
        overrides:
          type: object
          description: overridden flags for the project
          x-go-type: model.FlagsState
          x-go-type-import:
            path: github.com/launchdarkly/ldcli/internal/dev_server/model
        availableVariations:
          type: object
          description: variations
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/Variation'
        _lastSyncedFromSource:
          type: integer
          x-go-type: int64
          description: unix timestamp for the lat time the flag values were synced from the source environment
    FlagValue:
      description: value of a feature flag variation
      oneOf:
      - type: string
      - type: boolean
      - type: number
      - type: object
      x-go-type: ldvalue.Value
      x-go-type-import:
        path: github.com/launchdarkly/go-sdk-common/v3/ldvalue
    Variation:
      description: variation of a flag
      required:
      - _id
      - value
      properties:
        _id:
          type: string
        name:
          type: string
        description:
          type: string
        value:
          $ref: '#/components/schemas/FlagValue'
    Environment_2:
      type: object
      description: An environment within a project, such as production or staging.
      properties:
        _id:
          type: string
          description: The unique identifier of this environment.
        key:
          type: string
          description: The environment key.
        name:
          type: string
          description: The human-readable name of the environment.
        color:
          type: string
          description: The color swatch for the environment in the dashboard.
          pattern: ^[0-9a-fA-F]{6}$
        apiKey:
          type: string
          description: The SDK key for server-side SDKs.
        mobileKey:
          type: string
          description: The mobile key for mobile SDKs.
        defaultTtl:
          type: integer
          description: The default time-to-live in minutes for flag values.
        secureMode:
          type: boolean
          description: Whether secure mode is enabled for this environment.
        tags:
          type: array
          description: Tags applied to this environment.
          items:
            type: string
        _links:
          $ref: '#/components/schemas/Links'
    Project_2:
      type: object
      description: A LaunchDarkly project containing feature flags and environments.
      properties:
        _id:
          type: string
          description: The unique identifier of this project.
        key:
          type: string
          description: The project key.
        name:
          type: string
          description: The human-readable name of the project.
        tags:
          type: array
          description: Tags applied to this project.
          items:
            type: string
        environments:
          $ref: '#/components/schemas/Environments'
        _links:
          $ref: '#/components/schemas/Links'
    ProjectBody:
      type: object
      description: The request body for creating a new project.
      required:
      - name
      - key
      properties:
        name:
          type: string
          description: The human-readable name of the project.
        key:
          type: string
          description: The project key.
          pattern: ^[a-z0-9]([a-z0-9-])*$
        tags:
          type: array
          description: Tags to apply to the project.
          items:
            type: string
        environments:
          type: array
          description: Initial environments to create with the project.
          items:
            $ref: '#/components/schemas/EnvironmentBody'
    PatchOperation:
      type: object
      description: A JSON Patch or semantic patch request.
      properties:
        patch:
          type: array
          description: An array of JSON Patch operations.
          items:
            type: object
            required:
            - op
            - path
            properties:
              op:
                type: string
                description: The patch operation type.
                enum:
                - add
                - remove
                - replace
                - move
                - copy
                - test
              path:
                type: string
                description: The JSON Pointer path to the target field.
              value:
                description: The value to apply for add or replace operations.
        comment:
          type: string
          description: An optional comment describing the change.
    EnvironmentBody:
      type: object
      description: The request body for creating a new environment.
      required:
      - name
      - key
      - color
      properties:
        name:
          type: string
          description: The human-readable name of the environment.
        key:
          type: string
          description: The environment key.
          pattern: ^[a-z0-9]([a-z0-9-])*$
        color:
          type: string
          description: The color swatch for the environment in the dashboard.
          pattern: ^[0-9a-fA-F]{6}$
        defaultTtl:
          type: integer
          description: The default time-to-live in minutes.
        secureMode:
          type: boolean
          description: Whether to enable secure mode.
        tags:
          type: array
          description: Tags to apply to the environment.
          items:
            type: string
    Links:
      type: object
      description: HATEOAS links for navigating related resources.
      properties:
        self:
          type: object
          description: A link to this resource.
          properties:
            href:
              type: string
              description: The URL of this resource.
            type:
              type: string
              description: The media type.
      additionalProperties:
        type: object
        properties:
          href:
            type: string
            description: The URL of the linked resource.
          type:
            type: string
            description: The media type.
    Environments:
      type: object
      description: A collection of environments.
      properties:
        items:
          type: array
          description: The list of environments.
          items:
            $ref: '#/components/schemas/Environment_2'
        totalCount:
          type: integer
          description: The total number of environments.
        _links:
          $ref: '#/components/schemas/Links'
    Projects:
      type: object
      description: A paginated collection of projects.
      properties:
        items:
          type: array
          description: The list of projects.
          items:
            $ref: '#/components/schemas/Project_2'
        totalCount:
          type: integer
          description: The total number of projects.
        _links:
          $ref: '#/components/schemas/Links'
  responses:
    Project:
      description: Project
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Project'
    ErrorResponse:
      description: Error response object
      content:
        application/json:
          schema:
            type: object
            required:
            - code
            - message
            properties:
              code:
                type: string
                description: specific error code encountered
              message:
                type: string
                description: description of the error
    FlagOverride:
      description: Flag override
      content:
        application/json:
          schema:
            type: object
            required:
            - override
            - value
            properties:
              value:
                $ref: '#/components/schemas/FlagValue'
              override:
                type: boolean
                description: whether or not this is an overridden value or one from the source environment
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: LaunchDarkly API access token. Create personal or service tokens in the LaunchDarkly dashboard under Account Settings.
externalDocs:
  description: LaunchDarkly API Documentation
  url: https://apidocs.launchdarkly.com/
x-refined-from:
- launchdarkly-dev-server-openapi.yml
- launchdarkly-rest-api-openapi.yml