Integrations (beta)

This feature is in beta

To use this feature, pass in a header including the LD-API-Version key with value set to beta. Use this header with each call. To learn more, read Beta resources.

Resources that are in beta are still undergoing testing and development. They may change without notice, including becoming backwards incompatible.

You can use the integrations API to create, delete, and manage integrations between LaunchDarkly and third-party applications.

Specifically, the integrations API provides endpoints for managing persistent store integrations and flag import configurations.

Persistent store integrations

Persistent store integrations, also called "big segment" store integrations, are required when you use a server-side SDK and big segments. You can use some of the integrations API endpoints to manage these integrations.

Click to expand details on persistent store integrations

Synced segments and larger list-based segments are an Enterprise feature

Segments synced from external tools and larger list-based segments with more than 15,000 entries are the two kinds of "big segment." LaunchDarkly uses different implementations for different types of segments so that all of your segments have good performance.

These segments are available to customers on an Enterprise plan. To learn more, read about our pricing. To upgrade your plan, contact Sales.

Segments synced from external tools and larger list-based segments are the two kinds of big segment. If you are using server-side SDKs, these segments require a persistent store within your infrastructure. LaunchDarkly keeps the persistent store up to date and consults it during flag evaluation.

You need either a persistent store integration or a Relay Proxy to support these segments. The integrations API lets you manage the persistent store integrations.

To learn more about segments, read Segments and Segment configuration.

Several of the endpoints in the integrations API require an integration ID. The integration ID is returned as part of the Create big segment store integration response, in the _id field. It is also returned as part of the List all big segment store integrations response, in the _id field of each element in the items array.

You can find other APIs for working with big segments under Segments and Segments (beta).

Flag import configurations

Flag import configurations allow you to import feature flags from another feature management system.

Click to expand details on flag import configurations

Use the flag import configuration endpoints to create, delete, and manage flag import configurations. You can import flags from other feature management tools into LaunchDarkly. For example, you can import flags from Split.io.

Several of the endpoints in the integrations API require an integration ID. The integration ID is returned as part of the Create a flag import configuration response, in the _id field. It is also returned as part of the List all flag import configurations response, in the _id field of each element in the items array.

To learn more about flag import configurations, read Import flags.

List all big segment store integrations

List all big segment store integrations.

Responses
200

Big segment store collection response

401

Invalid access token

403

Forbidden

404

Environment or project not found

429

Rate limited

get/api/v2/integration-capabilities/big-segment-store
Request samples
Response samples
application/json
{
  • "_links": {
    },
  • "items": [
    ]
}

Create big segment store integration

Create a persistent store integration.

If you are using server-side SDKs, segments synced from external tools and larger list-based segments require a persistent store within your infrastructure. LaunchDarkly keeps the persistent store up to date and consults it during flag evaluation.

You can use either Redis or DynamoDB as your persistent store. When you create a persistent store integration, the fields in the config object in the request vary depending on which persistent store you use.

If you are using Redis to create your persistent store integration, you will need to know:

  • Your Redis host
  • Your Redis port
  • Your Redis username
  • Your Redis password
  • Whether or not LaunchDarkly should connect using TLS

If you are using DynamoDB to create your persistent store integration, you will need to know:

  • Your DynamoDB table name. The table must have the following schema:
    • Partition key: namespace (string)
    • Sort key: key (string)
  • Your DynamoDB Amazon Web Services (AWS) region.
  • Your AWS role Amazon Resource Name (ARN). This is the role that LaunchDarkly will assume to manage your DynamoDB table.
  • The External ID you specified when creating your Amazon Resource Name (ARN).

To learn more, read Segment configuration.

Request
path Parameters
projectKey
required
string <string>

The project key

environmentKey
required
string <string>

The environment key

integrationKey
required
string <string>

The integration key, either redis or dynamodb

Request Body schema: application/json
required
on
boolean

Whether the integration configuration is active. Default value is false.

required
object (FormVariableConfig)
tags
Array of strings

Tags to associate with the integration

name
string

Name to identify the integration

Responses
201

Big segment store response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Environment or project not found

409

Status conflict

429

Rate limited

post/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}
Request samples
application/json
{
  • "config": {
    },
  • "name": "Example persistent store integration",
  • "on": false,
  • "tags": [
    ]
}
Response samples
application/json
{
  • "_links": {
    },
  • "_id": "12ab3c4d5ef1a2345bcde67f",
  • "integrationKey": "redis",
  • "projectKey": "default",
  • "environmentKey": "development",
  • "config": {
    },
  • "on": true,
  • "tags": [ ],
  • "name": "Development environment configuration",
  • "version": 1,
  • "_access": {
    },
  • "_status": {
    }
}

Get big segment store integration by ID

Get a big segment store integration by ID.

Request
path Parameters
projectKey
required
string <string>

The project key

environmentKey
required
string <string>

The environment key

integrationKey
required
string <string>

The integration key, either redis or dynamodb

integrationId
required
string <string>

The integration ID

Responses
200

Big segment store response

401

Invalid access token

403

Forbidden

404

Environment or project not found

429

Rate limited

get/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId}
Request samples
Response samples
application/json
{
  • "_links": {
    },
  • "_id": "12ab3c4d5ef1a2345bcde67f",
  • "integrationKey": "redis",
  • "projectKey": "default",
  • "environmentKey": "development",
  • "config": {
    },
  • "on": true,
  • "tags": [ ],
  • "name": "Development environment configuration",
  • "version": 1,
  • "_access": {
    },
  • "_status": {
    }
}

Update big segment store integration

Update a big segment store integration. Updating a big segment store requires a JSON Patch representation of the desired changes. To learn more, read Updates.

Request
path Parameters
projectKey
required
string <string>

The project key

environmentKey
required
string <string>

The environment key

integrationKey
required
string <string>

The integration key, either redis or dynamodb

integrationId
required
string <string>

The integration ID

Request Body schema: application/json
required
Array
op
required
string

The type of operation to perform

path
required
string

A JSON Pointer string specifying the part of the document to operate on

value
any

A JSON value used in "add", "replace", and "test" operations

Responses
200

Big segment store response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Environment or project not found

409

Status conflict

429

Rate limited

patch/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "_links": {
    },
  • "_id": "12ab3c4d5ef1a2345bcde67f",
  • "integrationKey": "redis",
  • "projectKey": "default",
  • "environmentKey": "development",
  • "config": {
    },
  • "on": true,
  • "tags": [ ],
  • "name": "Development environment configuration",
  • "version": 1,
  • "_access": {
    },
  • "_status": {
    }
}

Delete big segment store integration

Delete a persistent store integration. Each integration uses either Redis or DynamoDB.

Request
path Parameters
projectKey
required
string <string>

The project key

environmentKey
required
string <string>

The environment key

integrationKey
required
string <string>

The integration key, either redis or dynamodb

integrationId
required
string <string>

The integration ID

Responses
204

Action completed successfully

401

Invalid access token

403

Forbidden

404

Environment or project not found

409

Status conflict

429

Rate limited

delete/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}/{integrationId}
Request samples
Response samples
application/json
{
  • "code": "unauthorized",
  • "message": "Invalid access token"
}

List all flag import configurations

List all flag import configurations.

Responses
200

Flag Import Configuration response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Project not found

409

Status conflict

429

Rate limited

get/api/v2/integration-capabilities/flag-import
Request samples
Response samples
application/json
{
  • "_links": {
    },
  • "items": [
    ]
}

Create a flag import configuration

Create a new flag import configuration. The integrationKey path parameter identifies the feature management system from which the import occurs, for example, split. The config object in the request body schema is described by the global integration settings, as specified by the formVariables in the manifest.json for this integration. It varies slightly based on the integrationKey.

Request
path Parameters
projectKey
required
string <string>

The project key

integrationKey
required
string <string>

The integration key

Request Body schema: application/json
required
required
object (FormVariableConfig)
tags
Array of strings

Tags to associate with the configuration

name
string

Name to identify the configuration

Responses
200

Flag Import Configuration response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Project not found

409

Status conflict

429

Rate limited

post/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}
Request samples
application/json
{
  • "config": {
    },
  • "name": "Sample configuration",
  • "tags": [
    ]
}
Response samples
application/json
{
  • "_links": {
    },
  • "_id": "12ab3c4d5ef1a2345bcde67f",
  • "integrationKey": "split",
  • "projectKey": "default",
  • "config": {
    },
  • "tags": [ ],
  • "name": "Development environment configuration",
  • "version": 1,
  • "_access": {
    },
  • "_status": {
    }
}

Get a single flag import configuration

Get a single flag import configuration by ID. The integrationKey path parameter identifies the feature management system from which the import occurs, for example, split.

Request
path Parameters
projectKey
required
string <string>

The project key

integrationKey
required
string <string>

The integration key, for example, split

integrationId
required
string <string>

The integration ID

Responses
200

Flag import response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Project or import configuration not found

409

Status conflict

429

Rate limited

get/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}
Request samples
Response samples
application/json
{
  • "_links": {
    },
  • "_id": "12ab3c4d5ef1a2345bcde67f",
  • "integrationKey": "split",
  • "projectKey": "default",
  • "config": {
    },
  • "tags": [ ],
  • "name": "Development environment configuration",
  • "version": 1,
  • "_access": {
    },
  • "_status": {
    }
}

Update a flag import configuration

Updating a flag import configuration uses a JSON patch representation of the desired changes. To learn more, read Updates.

To add an element to the import configuration fields that are arrays, set the path to the name of the field and then append /<array index>. Use /0 to add to the beginning of the array. Use /- to add to the end of the array.

You can update the config, tags, and name of the flag import configuration.

Request
path Parameters
projectKey
required
string <string>

The project key

integrationKey
required
string <string>

The integration key

integrationId
required
string <string>

The integration ID

Request Body schema: application/json
required
Array
op
required
string

The type of operation to perform

path
required
string

A JSON Pointer string specifying the part of the document to operate on

value
any

A JSON value used in "add", "replace", and "test" operations

Responses
200

Flag import response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Project or import configuration not found

409

Status conflict

429

Rate limited

patch/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "_links": {
    },
  • "_id": "12ab3c4d5ef1a2345bcde67f",
  • "integrationKey": "split",
  • "projectKey": "default",
  • "config": {
    },
  • "tags": [ ],
  • "name": "Development environment configuration",
  • "version": 1,
  • "_access": {
    },
  • "_status": {
    }
}

Delete a flag import configuration

Delete a flag import configuration by ID. The integrationKey path parameter identifies the feature management system from which the import occurs, for example, split.

Request
path Parameters
projectKey
required
string <string>

The project key

integrationKey
required
string <string>

The integration key

integrationId
required
string <string>

The integration ID

Responses
204

Action completed successfully

401

Invalid access token

403

Forbidden

404

Project or import configuration not found

409

Status conflict

429

Rate limited

delete/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}
Request samples
Response samples
application/json
{
  • "code": "unauthorized",
  • "message": "Invalid access token"
}

Trigger a single flag import run

Trigger a single flag import run for an existing flag import configuration. The integrationKey path parameter identifies the feature management system from which the import occurs, for example, split.

Request
path Parameters
projectKey
required
string <string>

The project key

integrationKey
required
string <string>

The integration key

integrationId
required
string <string>

The integration ID

Responses
201
400

Invalid request

401

Invalid access token

403

Forbidden

404

Project or import configuration not found

409

Status conflict

429

Rate limited

post/api/v2/integration-capabilities/flag-import/{projectKey}/{integrationKey}/{integrationId}/trigger
Request samples
Response samples
application/json
{
  • "Name": "string",
  • "Kind": "string",
  • "PkgPath": "string",
  • "PkgName": "string",
  • "ValidPos": true,
  • "Shadow": {
    }
}