---
title: "Create big segment store integration"
method: POST
path: "/api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}"
tags: ["Persistent store integrations (beta)"]
---

# Create big segment store integration

`POST /api/v2/integration-capabilities/big-segment-store/{projectKey}/{environmentKey}/{integrationKey}`

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](https://launchdarkly.com/docs/home/flags/segment-config).

## Path parameters

- `projectKey` string, string, required — The project key
- `environmentKey` string, string, required — The environment key
- `integrationKey` string, string, required — The integration key, either `redis` or `dynamodb`

## Request body

- IntegrationDeliveryConfigurationPost
  - `on` boolean — Whether the integration configuration is active. Default value is false.
  - `config` FormVariableConfig, required
  - `tags` string[] — Tags to associate with the integration
  - `name` string — Name to identify the integration

## Response `201`

Big segment store response

- BigSegmentStoreIntegration
  - `_links` BigSegmentStoreIntegrationLinks, required
    - `self` Link, required
      - `href` string
      - `type` string
    - `parent` Link, required
      - `href` string
      - `type` string
    - `project` Link, required
      - `href` string
      - `type` string
    - `environment` Link, required
      - `href` string
      - `type` string
  - `_id` string, required — The integration ID
  - `integrationKey` 'redis' | 'dynamodb', required — The integration key
  - `projectKey` string, required — The project key
  - `environmentKey` string, required — The environment key
  - `config` FormVariableConfig, required
  - `on` boolean, required — Whether the configuration is turned on
  - `tags` string[], required — List of tags for this configuration
  - `name` string, required — Name of the configuration
  - `version` integer, required — Version of the current configuration
  - `_access` Access
    - `denied` AccessDenied[], required
      - `action` string, required
      - `reason` AccessDeniedReason, required
        - `resources` string[] — Resource specifier strings
        - `notResources` string[] — Targeted resources are the resources NOT in this list. The <code>resources</code> and <code>notActions</code> fields must be empty to use this field.
        - `actions` ActionSpecifier[] — Actions to perform on a resource
        - `notActions` ActionSpecifier[] — Targeted actions are the actions NOT in this list. The <code>actions</code> and <code>notResources</code> fields must be empty to use this field.
        - `effect` 'allow' | 'deny', required — Whether this statement should allow or deny actions on the resources.
        - `role_name` string
    - `allowed` AccessAllowedRep[], required
      - `action` string, required
      - `reason` AccessAllowedReason, required
        - `resources` string[] — Resource specifier strings
        - `notResources` string[] — Targeted resources are the resources NOT in this list. The <code>resources</code> and <code>notActions</code> fields must be empty to use this field.
        - `actions` ActionSpecifier[] — Actions to perform on a resource
        - `notActions` ActionSpecifier[] — Targeted actions are the actions NOT in this list. The <code>actions</code> and <code>notResources</code> fields must be empty to use this field.
        - `effect` 'allow' | 'deny', required — Whether this statement should allow or deny actions on the resources.
        - `role_name` string
  - `_status` BigSegmentStoreStatus, required
    - `available` boolean — Whether the persistent store integration is fully synchronized with the LaunchDarkly environment, and the <code>lastSync</code> occurred within a few minutes
    - `potentiallyStale` boolean — Whether the persistent store integration may not be fully synchronized with the LaunchDarkly environment. <code>true</code> if the integration could be stale.
    - `lastSync` integer
    - `lastError` integer
    - `errors` StoreIntegrationError[]
      - `statusCode` integer
      - `message` string
      - `timestamp` integer

## Other responses

- `400` — Invalid request
- `401` — Invalid access token
- `403` — Forbidden
- `404` — Environment or project not found
- `409` — Status conflict
- `429` — Rate limited

---

[API](https://skmtc.dev/launchdarkly/apis/launchdarkly-rest-api.md) · [All operations](https://skmtc.dev/launchdarkly/apis/launchdarkly-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/launchdarkly/launchdarkly-rest-api/revisions/69c5c9aafe78/schema)
