Persistent store 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.

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 the persistent store integrations API endpoints to manage these 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 persistent store 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 persistent store 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).

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"
}