launchdarkly Segments API
Create and manage user segments for targeting groups of contexts with feature flags.
Create and manage user segments for targeting groups of contexts with feature flags.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/launchdarkly-segments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: LaunchDarkly REST Segments API
description: The LaunchDarkly REST API provides programmatic access to the full LaunchDarkly feature management platform. Developers can create, update, and manage feature flags, targeting rules, user segments, projects, environments, and team members. The API also supports scheduled flag changes, release pipelines, experimentation, approval workflows, and webhook integrations. Authentication is handled via personal or service access tokens, and the API follows a versioned scheme with the current default version being 20240415.
version: '20240415'
contact:
name: LaunchDarkly Support
url: https://support.launchdarkly.com
termsOfService: https://launchdarkly.com/policies/terms-of-service
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://app.launchdarkly.com/api/v2
description: LaunchDarkly Production API
security:
- bearerAuth: []
tags:
- name: Segments
description: Create and manage user segments for targeting groups of contexts with feature flags.
paths:
/segments/{projectKey}/{environmentKey}:
get:
operationId: listSegments
summary: List segments
description: Returns a list of all user segments in the specified project and environment.
tags:
- Segments
parameters:
- $ref: '#/components/parameters/ProjectKey'
- $ref: '#/components/parameters/EnvironmentKey'
- name: limit
in: query
description: Maximum number of segments to return.
schema:
type: integer
- name: offset
in: query
description: Number of segments to skip for pagination.
schema:
type: integer
responses:
'200':
description: Successful response containing a list of segments.
content:
application/json:
schema:
$ref: '#/components/schemas/Segments'
'401':
description: Unauthorized. Invalid or missing access token.
'404':
description: Project or environment not found.
post:
operationId: createSegment
summary: Create a segment
description: Creates a new user segment in the specified project and environment.
tags:
- Segments
parameters:
- $ref: '#/components/parameters/ProjectKey'
- $ref: '#/components/parameters/EnvironmentKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentBody'
responses:
'201':
description: Segment created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
'400':
description: Invalid request body.
'401':
description: Unauthorized. Invalid or missing access token.
'409':
description: A segment with the given key already exists.
/segments/{projectKey}/{environmentKey}/{segmentKey}:
get:
operationId: getSegment
summary: Get a segment
description: Returns a single user segment by its key.
tags:
- Segments
parameters:
- $ref: '#/components/parameters/ProjectKey'
- $ref: '#/components/parameters/EnvironmentKey'
- $ref: '#/components/parameters/SegmentKey'
responses:
'200':
description: Successful response containing the segment.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
'401':
description: Unauthorized. Invalid or missing access token.
'404':
description: Segment not found.
patch:
operationId: patchSegment
summary: Update a segment
description: Updates a segment using a JSON Patch or semantic patch representation.
tags:
- Segments
parameters:
- $ref: '#/components/parameters/ProjectKey'
- $ref: '#/components/parameters/EnvironmentKey'
- $ref: '#/components/parameters/SegmentKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchOperation'
responses:
'200':
description: Segment updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
'400':
description: Invalid patch request.
'401':
description: Unauthorized. Invalid or missing access token.
'404':
description: Segment not found.
delete:
operationId: deleteSegment
summary: Delete a segment
description: Permanently deletes a user segment.
tags:
- Segments
parameters:
- $ref: '#/components/parameters/ProjectKey'
- $ref: '#/components/parameters/EnvironmentKey'
- $ref: '#/components/parameters/SegmentKey'
responses:
'204':
description: Segment deleted successfully.
'401':
description: Unauthorized. Invalid or missing access token.
'404':
description: Segment not found.
components:
schemas:
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.
SegmentRule:
type: object
description: A targeting rule within a user segment.
properties:
_id:
type: string
description: The unique identifier for this rule.
clauses:
type: array
description: The conditions for this rule.
items:
$ref: '#/components/schemas/Clause'
weight:
type: integer
description: The percentage of matching contexts to include (0-100000 in thousandths of a percent).
bucketBy:
type: string
description: The attribute to bucket by for percentage inclusion.
Clause:
type: object
description: A condition clause used in targeting rules.
properties:
attribute:
type: string
description: The context attribute to evaluate.
op:
type: string
description: The comparison operator.
enum:
- in
- endsWith
- startsWith
- matches
- contains
- lessThan
- lessThanOrEqual
- greaterThan
- greaterThanOrEqual
- before
- after
- segmentMatch
- semVerEqual
- semVerLessThan
- semVerGreaterThan
values:
type: array
description: The values to compare against.
items: {}
negate:
type: boolean
description: Whether to negate the clause.
contextKind:
type: string
description: The context kind to evaluate.
Segment:
type: object
description: A user segment for targeting groups of contexts.
properties:
key:
type: string
description: The segment key.
name:
type: string
description: The human-readable name of the segment.
description:
type: string
description: A description of the segment.
tags:
type: array
description: Tags applied to this segment.
items:
type: string
creationDate:
type: integer
format: int64
description: Unix epoch timestamp when the segment was created.
included:
type: array
description: Context keys explicitly included in this segment.
items:
type: string
excluded:
type: array
description: Context keys explicitly excluded from this segment.
items:
type: string
rules:
type: array
description: Targeting rules for this segment.
items:
$ref: '#/components/schemas/SegmentRule'
version:
type: integer
description: The current version of this segment.
_links:
$ref: '#/components/schemas/Links'
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.
SegmentBody:
type: object
description: The request body for creating a new user segment.
required:
- name
- key
properties:
name:
type: string
description: The human-readable name of the segment.
key:
type: string
description: The segment key.
description:
type: string
description: A description of the segment.
tags:
type: array
description: Tags to apply to the segment.
items:
type: string
Segments:
type: object
description: A paginated collection of user segments.
properties:
items:
type: array
description: The list of user segments.
items:
$ref: '#/components/schemas/Segment'
totalCount:
type: integer
description: The total number of segments.
_links:
$ref: '#/components/schemas/Links'
parameters:
EnvironmentKey:
name: environmentKey
in: path
required: true
description: The environment key identifying a specific environment.
schema:
type: string
pattern: ^[a-z0-9]([a-z0-9-])*$
SegmentKey:
name: segmentKey
in: path
required: true
description: The segment key identifying a specific user segment.
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-])*$
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/