Create integration configuration
For the complete documentation index, see llms.txt. For the full documentation snapshot, see llms-full.txt.
Create a new integration configuration. (Excludes persistent store and flag import configurations.)
curl --request POST \
--url https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Example integration configuration",
"configValues": {
"optional": "an optional property",
"required": "the required property",
"url": "https://example.com"
},
"enabled": true,
"tags": [
"ops"
],
"capabilityConfig": "{\"auditLogEventsHook\": \"policy\": []\"}"
}
'import requests
url = "https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}"
payload = {
"name": "Example integration configuration",
"configValues": {
"optional": "an optional property",
"required": "the required property",
"url": "https://example.com"
},
"enabled": True,
"tags": ["ops"],
"capabilityConfig": "{\"auditLogEventsHook\": \"policy\": []\"}"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Example integration configuration',
configValues: {
optional: 'an optional property',
required: 'the required property',
url: 'https://example.com'
},
enabled: true,
tags: ['ops'],
capabilityConfig: '{"auditLogEventsHook": "policy": []"}'
})
};
fetch('https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Example integration configuration',
'configValues' => [
'optional' => 'an optional property',
'required' => 'the required property',
'url' => 'https://example.com'
],
'enabled' => true,
'tags' => [
'ops'
],
'capabilityConfig' => '{"auditLogEventsHook": "policy": []"}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}"
payload := strings.NewReader("{\n \"name\": \"Example integration configuration\",\n \"configValues\": {\n \"optional\": \"an optional property\",\n \"required\": \"the required property\",\n \"url\": \"https://example.com\"\n },\n \"enabled\": true,\n \"tags\": [\n \"ops\"\n ],\n \"capabilityConfig\": \"{\\\"auditLogEventsHook\\\": \\\"policy\\\": []\\\"}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Example integration configuration\",\n \"configValues\": {\n \"optional\": \"an optional property\",\n \"required\": \"the required property\",\n \"url\": \"https://example.com\"\n },\n \"enabled\": true,\n \"tags\": [\n \"ops\"\n ],\n \"capabilityConfig\": \"{\\\"auditLogEventsHook\\\": \\\"policy\\\": []\\\"}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Example integration configuration\",\n \"configValues\": {\n \"optional\": \"an optional property\",\n \"required\": \"the required property\",\n \"url\": \"https://example.com\"\n },\n \"enabled\": true,\n \"tags\": [\n \"ops\"\n ],\n \"capabilityConfig\": \"{\\\"auditLogEventsHook\\\": \\\"policy\\\": []\\\"}\"\n}"
response = http.request(request)
puts response.read_body{
"_links": {},
"_id": "<string>",
"name": "Example Datadog integration",
"_createdAt": 123,
"_integrationKey": "datadog",
"tags": [
"testing"
],
"enabled": true,
"_access": {
"denied": [
{
"action": "<string>",
"reason": {
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"notResources": [
"<string>"
],
"actions": [
"*"
],
"notActions": [
"<string>"
],
"role_name": "<string>"
}
}
],
"allowed": [
{
"action": "<string>",
"reason": {
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"notResources": [
"<string>"
],
"actions": [
"*"
],
"notActions": [
"<string>"
],
"role_name": "<string>"
}
}
]
},
"configValues": {},
"capabilityConfig": "{\"auditLogEventsHook\": \"statements\": []\"}",
"snowflakeSetupScript": "<string>"
}{
"code": "invalid_request",
"message": "Invalid request body"
}{
"code": "unauthorized",
"message": "Invalid access token"
}{
"code": "forbidden",
"message": "Forbidden. Access to the requested resource was denied."
}{
"code": "not_found",
"message": "Invalid resource identifier"
}{
"code": "optimistic_locking_error",
"message": "Conflict. Optimistic lock error. Try again later."
}{
"code": "rate_limited",
"message": "You've exceeded the API rate limit. Try again later."
}Authorizations
Path Parameters
The integration key
Body
The name of the integration configuration
"Example integration configuration"
The unique set of fields required to configure the integration. Refer to the formVariables field in the corresponding manifest.json at https://github.com/launchdarkly/integration-framework/tree/main/integrations for a full list of fields for the integration you wish to configure.
Show child attributes
Show child attributes
{
"optional": "an optional property",
"required": "the required property",
"url": "https://example.com"
}
Whether the integration configuration is enabled. If omitted, defaults to true
true
Tags for the integration
["ops"]
The capability configuration for the integration
Show child attributes
Show child attributes
"{\"auditLogEventsHook\": \"policy\": []\"}"
Response
Integration Configuration response
The location and content type of related resources
Show child attributes
Show child attributes
The unique identifier for this integration configuration
A human-friendly name for the integration
"Example Datadog integration"
The time the integration configuration was created
The type of integration
"datadog"
An array of tags for this integration
["testing"]
Whether the integration is currently active
Details on the allowed and denied actions for this integration configuration
Show child attributes
Show child attributes
Details on configuration for an integration of this type. Refer to the formVariables field in the corresponding manifest.json for a full list of fields for each integration.
Show child attributes
Show child attributes
The capability configuration for the integration
Show child attributes
Show child attributes
"{\"auditLogEventsHook\": \"statements\": []\"}"
Consolidated SQL script for Snowflake Warehouse Native Experimentation setup. Present only for setup endpoint responses.
curl --request POST \
--url https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Example integration configuration",
"configValues": {
"optional": "an optional property",
"required": "the required property",
"url": "https://example.com"
},
"enabled": true,
"tags": [
"ops"
],
"capabilityConfig": "{\"auditLogEventsHook\": \"policy\": []\"}"
}
'import requests
url = "https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}"
payload = {
"name": "Example integration configuration",
"configValues": {
"optional": "an optional property",
"required": "the required property",
"url": "https://example.com"
},
"enabled": True,
"tags": ["ops"],
"capabilityConfig": "{\"auditLogEventsHook\": \"policy\": []\"}"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Example integration configuration',
configValues: {
optional: 'an optional property',
required: 'the required property',
url: 'https://example.com'
},
enabled: true,
tags: ['ops'],
capabilityConfig: '{"auditLogEventsHook": "policy": []"}'
})
};
fetch('https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Example integration configuration',
'configValues' => [
'optional' => 'an optional property',
'required' => 'the required property',
'url' => 'https://example.com'
],
'enabled' => true,
'tags' => [
'ops'
],
'capabilityConfig' => '{"auditLogEventsHook": "policy": []"}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}"
payload := strings.NewReader("{\n \"name\": \"Example integration configuration\",\n \"configValues\": {\n \"optional\": \"an optional property\",\n \"required\": \"the required property\",\n \"url\": \"https://example.com\"\n },\n \"enabled\": true,\n \"tags\": [\n \"ops\"\n ],\n \"capabilityConfig\": \"{\\\"auditLogEventsHook\\\": \\\"policy\\\": []\\\"}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Example integration configuration\",\n \"configValues\": {\n \"optional\": \"an optional property\",\n \"required\": \"the required property\",\n \"url\": \"https://example.com\"\n },\n \"enabled\": true,\n \"tags\": [\n \"ops\"\n ],\n \"capabilityConfig\": \"{\\\"auditLogEventsHook\\\": \\\"policy\\\": []\\\"}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/integration-configurations/keys/{integrationKey}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Example integration configuration\",\n \"configValues\": {\n \"optional\": \"an optional property\",\n \"required\": \"the required property\",\n \"url\": \"https://example.com\"\n },\n \"enabled\": true,\n \"tags\": [\n \"ops\"\n ],\n \"capabilityConfig\": \"{\\\"auditLogEventsHook\\\": \\\"policy\\\": []\\\"}\"\n}"
response = http.request(request)
puts response.read_body{
"_links": {},
"_id": "<string>",
"name": "Example Datadog integration",
"_createdAt": 123,
"_integrationKey": "datadog",
"tags": [
"testing"
],
"enabled": true,
"_access": {
"denied": [
{
"action": "<string>",
"reason": {
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"notResources": [
"<string>"
],
"actions": [
"*"
],
"notActions": [
"<string>"
],
"role_name": "<string>"
}
}
],
"allowed": [
{
"action": "<string>",
"reason": {
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"notResources": [
"<string>"
],
"actions": [
"*"
],
"notActions": [
"<string>"
],
"role_name": "<string>"
}
}
]
},
"configValues": {},
"capabilityConfig": "{\"auditLogEventsHook\": \"statements\": []\"}",
"snowflakeSetupScript": "<string>"
}{
"code": "invalid_request",
"message": "Invalid request body"
}{
"code": "unauthorized",
"message": "Invalid access token"
}{
"code": "forbidden",
"message": "Forbidden. Access to the requested resource was denied."
}{
"code": "not_found",
"message": "Invalid resource identifier"
}{
"code": "optimistic_locking_error",
"message": "Conflict. Optimistic lock error. Try again later."
}{
"code": "rate_limited",
"message": "You've exceeded the API rate limit. Try again later."
}