---
title: "Create Integration"
method: POST
path: "/v1/products/{productId}/integrations"
tags: ["Integrations"]
---

# Create Integration

`POST /v1/products/{productId}/integrations`

## Request

- Base URL: `https://api.configcat.com`
- URL: `https://api.configcat.com/v1/products/{productId}/integrations`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/configcat/apis/configcat-public-management-api/docs/v1/products/:productId/integrations/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint creates a new Integration in a specified Product 
identified by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint.

The Parameters dictionary differs for each IntegrationType:
- Datadog
	- `apikey`: Required. Datadog API key.
	- `site`: Datadog site. Available values: `Us`, `Eu`, `Us1Fed`, `Us3`, `Us5`. Default: `Us`.
- Slack  
	Connecting the Slack integration through the Public Management API will not post messages with the ConfigCat Feature Flags Slack app but with an incoming webhook.
	- `incoming_webhook.url`: Required. The [incoming webhook URL](https://api.slack.com/messaging/webhooks) where the integration should post messages.
    - `includeSensitiveData`: Set to "true" to include [sensitive (hashed) comparison values](https://configcat.com/docs/targeting/targeting-rule/user-condition/#confidential-text-comparators). By default, the integration will mask these values in the posted messages. We recommend hiding sensitive comparison values for shared or public Slack channels.
- Amplitude
	- `apiKey`: Required. Amplitude API Key.
	- `secretKey`: Required. Amplitude Secret Key.
- Mixpanel
	- `serviceAccountUserName`: Required. Mixpanel Service Account Username.
	- `serviceAccountSecret`: Required. Mixpanel Service Account Secret.
	- `projectId`: Required. Mixpanel Project ID.
	- `server`: Mixpanel Server. Available values: `StandardServer`, `EUResidencyServer`. Default: `StandardServer`.
- Twilio Segment
	- `writeKey`: Required. Twilio Segment Write Key.
	- `server`: Twilio Segment Server. Available values: `Us`, `Eu`. Default: `Us`.
- PubNub (work in progress)

## Path parameters

- `productId` string, uuid, required

## Request body

- CreateIntegrationModel
  - `integrationType` 'dataDog' | 'slack' | 'amplitude' | 'mixPanel' | 'segment' | 'pubNub', required
  - `name` string, required: Name of the Integration.
  - `parameters` object, required: Parameters of the Integration.
  - `environmentIds` string[], required: List of Environment IDs that are connected with this Integration. If the list is empty, all the Environments are connected.
  - `configIds` string[], required: List of Config IDs that are connected with this Integration. If the list is empty, all the Configs are connected.

## Response `201`

When the creation was successful.

- IntegrationModel: Details of the Integration.
  - `product` ProductModel, required: Details of the Product.
    - `organization` OrganizationModel, required: Details of the Organization.
      - `organizationId` string, uuid, required: Identifier of the Organization.
      - `name` string, required: Name of the Organization.
    - `productId` string, uuid, required: Identifier of the Product.
    - `name` string, required: Name of the Product.
    - `description` string, nullable, required: Description of the Product.
    - `order` integer, required: The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers.
    - `reasonRequired` boolean, required: Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved.
    - `approveRequired` boolean, required: Determines whether changes must be approved before they are applied within a Product.
  - `integrationId` string, uuid, required: Identifier of the Integration.
  - `name` string, required: Name of the Integration.
  - `integrationType` 'dataDog' | 'slack' | 'amplitude' | 'mixPanel' | 'segment' | 'pubNub', required
  - `parameters` object, nullable, required: Parameters of the Integration.
  - `environmentIds` string[], required: List of Environment IDs that are connected with this Integration. If the list is empty, all of the Environments are connected.
  - `configIds` string[], required: List of Config IDs that are connected with this Integration. If the list is empty, all of the Configs are connected.

## Other responses

- `400`: Bad request.
- `404`: Not found.
- `429`: Too many requests. In case of the request rate exceeds the rate limits.

## Changes

- **2026-06-08** `fc2e575e2bd3`: 1 info
  - added the required property `product/approveRequired` to the response with the `201` status
- **2026-02-08** `ce2ecdf9eea6`: 3 breaking, 3 warning
  - the request property `parameters/additionalProperties/` became not nullable (media type: application/json)
  - the request property `parameters/additionalProperties/` became not nullable (media type: text/json)
  - the request property `parameters/additionalProperties/` became not nullable (media type: application/*+json)
  - the `name` request property's maxLength was set to `255` (media type: application/json)
  - …2 more
- **2025-10-09** `8b8a102e5ed1`: 8 info
  - the response property `configIds` became required for the status `201`
  - the response property `environmentIds` became required for the status `201`
  - the response property `integrationId` became required for the status `201`
  - the response property `integrationType` became required for the status `201`
  - …4 more
- **2025-05-16** `2949501eef38`: 7 info
  - the response property `product/name` became required for the status `201`
  - the response property `product/order` became required for the status `201`
  - the response property `product/organization` became required for the status `201`
  - the response property `product/organization/name` became required for the status `201`
  - …3 more
- **2024-11-02** `5e41b01aba83`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/configcat/apis/configcat-public-management-api/changes/v1/products/:productId/integrations/post.md)

---

[API](https://skmtc.dev/configcat/apis/configcat-public-management-api.md) - [All operations](https://skmtc.dev/configcat/apis/configcat-public-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/configcat/apis/configcat-public-management-api/revisions/0f143561d265?raw)
