This feature is in beta
To use this feature, pass in a header including the
LD-API-Version
key with value set tobeta
. 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, 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.
Big segment store collection response
Invalid access token
Forbidden
Environment or project not found
Rate limited
{- "_links": {
- "self": {
- "href": "string",
- "type": "string"
}, - "parent": {
- "href": "string",
- "type": "string"
}
}, - "items": [
- {
- "_links": {
- "self": {
- "href": "string",
- "type": "string"
}, - "parent": {
- "href": "string",
- "type": "string"
}, - "project": {
- "href": "string",
- "type": "string"
}, - "environment": {
- "href": "string",
- "type": "string"
}
}, - "_id": "12ab3c4d5ef1a2345bcde67f",
- "integrationKey": "redis",
- "projectKey": "default",
- "environmentKey": "development",
- "config": {
- "property1": null,
- "property2": null
}, - "on": true,
- "tags": [ ],
- "name": "Development environment configuration",
- "version": 1,
- "_access": {
- "denied": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- null
], - "actions": [
- "*"
], - "notActions": [
- null
], - "effect": "allow",
- "role_name": "string"
}
}
], - "allowed": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- null
], - "actions": [
- "*"
], - "notActions": [
- null
], - "effect": "allow",
- "role_name": "string"
}
}
]
}, - "_status": {
- "available": true,
- "potentiallyStale": false,
- "lastSync": 0,
- "lastError": 0,
- "errors": [
- {
- "statusCode": 0,
- "message": "string",
- "timestamp": 0
}
]
}
}
]
}
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:
If you are using DynamoDB to create your persistent store integration, you will need to know:
namespace
(string)key
(string)To learn more, read Segment configuration.
Big segment store response
Invalid request
Invalid access token
Forbidden
Environment or project not found
Status conflict
Rate limited
{- "config": {
- "optional": "example value for optional formVariables property for sample-integration",
- "required": "example value for required formVariables property for sample-integration"
}, - "name": "Example persistent store integration",
- "on": false,
- "tags": [
- "example-tag"
]
}
{- "_links": {
- "self": {
- "href": "string",
- "type": "string"
}, - "parent": {
- "href": "string",
- "type": "string"
}, - "project": {
- "href": "string",
- "type": "string"
}, - "environment": {
- "href": "string",
- "type": "string"
}
}, - "_id": "12ab3c4d5ef1a2345bcde67f",
- "integrationKey": "redis",
- "projectKey": "default",
- "environmentKey": "development",
- "config": {
- "property1": null,
- "property2": null
}, - "on": true,
- "tags": [ ],
- "name": "Development environment configuration",
- "version": 1,
- "_access": {
- "denied": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- "string"
], - "actions": [
- "*"
], - "notActions": [
- "string"
], - "effect": "allow",
- "role_name": "string"
}
}
], - "allowed": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- "string"
], - "actions": [
- "*"
], - "notActions": [
- "string"
], - "effect": "allow",
- "role_name": "string"
}
}
]
}, - "_status": {
- "available": true,
- "potentiallyStale": false,
- "lastSync": 0,
- "lastError": 0,
- "errors": [
- {
- "statusCode": 0,
- "message": "string",
- "timestamp": 0
}
]
}
}
Get a big segment store integration by ID.
Big segment store response
Invalid access token
Forbidden
Environment or project not found
Rate limited
{- "_links": {
- "self": {
- "href": "string",
- "type": "string"
}, - "parent": {
- "href": "string",
- "type": "string"
}, - "project": {
- "href": "string",
- "type": "string"
}, - "environment": {
- "href": "string",
- "type": "string"
}
}, - "_id": "12ab3c4d5ef1a2345bcde67f",
- "integrationKey": "redis",
- "projectKey": "default",
- "environmentKey": "development",
- "config": {
- "property1": null,
- "property2": null
}, - "on": true,
- "tags": [ ],
- "name": "Development environment configuration",
- "version": 1,
- "_access": {
- "denied": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- "string"
], - "actions": [
- "*"
], - "notActions": [
- "string"
], - "effect": "allow",
- "role_name": "string"
}
}
], - "allowed": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- "string"
], - "actions": [
- "*"
], - "notActions": [
- "string"
], - "effect": "allow",
- "role_name": "string"
}
}
]
}, - "_status": {
- "available": true,
- "potentiallyStale": false,
- "lastSync": 0,
- "lastError": 0,
- "errors": [
- {
- "statusCode": 0,
- "message": "string",
- "timestamp": 0
}
]
}
}
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.
Big segment store response
Invalid request
Invalid access token
Forbidden
Environment or project not found
Status conflict
Rate limited
[- {
- "op": "replace",
- "path": "/exampleField",
- "value": "new example value"
}
]
{- "_links": {
- "self": {
- "href": "string",
- "type": "string"
}, - "parent": {
- "href": "string",
- "type": "string"
}, - "project": {
- "href": "string",
- "type": "string"
}, - "environment": {
- "href": "string",
- "type": "string"
}
}, - "_id": "12ab3c4d5ef1a2345bcde67f",
- "integrationKey": "redis",
- "projectKey": "default",
- "environmentKey": "development",
- "config": {
- "property1": null,
- "property2": null
}, - "on": true,
- "tags": [ ],
- "name": "Development environment configuration",
- "version": 1,
- "_access": {
- "denied": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- "string"
], - "actions": [
- "*"
], - "notActions": [
- "string"
], - "effect": "allow",
- "role_name": "string"
}
}
], - "allowed": [
- {
- "action": "string",
- "reason": {
- "resources": [
- "proj/*:env/*;qa_*:/flag/*"
], - "notResources": [
- "string"
], - "actions": [
- "*"
], - "notActions": [
- "string"
], - "effect": "allow",
- "role_name": "string"
}
}
]
}, - "_status": {
- "available": true,
- "potentiallyStale": false,
- "lastSync": 0,
- "lastError": 0,
- "errors": [
- {
- "statusCode": 0,
- "message": "string",
- "timestamp": 0
}
]
}
}
Delete a persistent store integration. Each integration uses either Redis or DynamoDB.
Action completed successfully
Invalid access token
Forbidden
Environment or project not found
Status conflict
Rate limited
{- "code": "unauthorized",
- "message": "Invalid access token"
}