curl --request POST \
--url https://app.launchdarkly.com/api/v2/account/relay-auto-configs \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Sample Relay Proxy config for all proj and env",
"policy": [
{
"actions": [
"*"
],
"effect": "allow",
"resources": [
"proj/*:env/*"
]
}
]
}
'import requests
url = "https://app.launchdarkly.com/api/v2/account/relay-auto-configs"
payload = {
"name": "Sample Relay Proxy config for all proj and env",
"policy": [
{
"actions": ["*"],
"effect": "allow",
"resources": ["proj/*:env/*"]
}
]
}
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: 'Sample Relay Proxy config for all proj and env',
policy: [{actions: ['*'], effect: 'allow', resources: ['proj/*:env/*']}]
})
};
fetch('https://app.launchdarkly.com/api/v2/account/relay-auto-configs', 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/account/relay-auto-configs",
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' => 'Sample Relay Proxy config for all proj and env',
'policy' => [
[
'actions' => [
'*'
],
'effect' => 'allow',
'resources' => [
'proj/*:env/*'
]
]
]
]),
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/account/relay-auto-configs"
payload := strings.NewReader("{\n \"name\": \"Sample Relay Proxy config for all proj and env\",\n \"policy\": [\n {\n \"actions\": [\n \"*\"\n ],\n \"effect\": \"allow\",\n \"resources\": [\n \"proj/*:env/*\"\n ]\n }\n ]\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/account/relay-auto-configs")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Sample Relay Proxy config for all proj and env\",\n \"policy\": [\n {\n \"actions\": [\n \"*\"\n ],\n \"effect\": \"allow\",\n \"resources\": [\n \"proj/*:env/*\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/account/relay-auto-configs")
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\": \"Sample Relay Proxy config for all proj and env\",\n \"policy\": [\n {\n \"actions\": [\n \"*\"\n ],\n \"effect\": \"allow\",\n \"resources\": [\n \"proj/*:env/*\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"_id": "12ab3c45de678910abc12345",
"name": "Relay Proxy Demo Config",
"policy": [
{
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"notResources": [
"<string>"
],
"actions": [
"*"
],
"notActions": [
"<string>"
]
}
],
"displayKey": "7f30",
"creationDate": "1628001602644",
"lastModified": "1628001602644",
"_creator": {
"_links": {
"self": {
"href": "/api/v2/members/569f183514f4432160000007",
"type": "application/json"
}
},
"_id": "569f183514f4432160000007",
"role": "admin",
"email": "ariel@acme.com",
"firstName": "Ariel",
"lastName": "Flores"
},
"_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>"
}
}
]
},
"fullKey": "<string>"
}{
"code": "invalid_request",
"message": "Invalid request body"
}{
"code": "unauthorized",
"message": "Invalid access token"
}{
"code": "rate_limited",
"message": "You've exceeded the API rate limit. Try again later."
}Create a new Relay Proxy config
Create a Relay Proxy config.
curl --request POST \
--url https://app.launchdarkly.com/api/v2/account/relay-auto-configs \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Sample Relay Proxy config for all proj and env",
"policy": [
{
"actions": [
"*"
],
"effect": "allow",
"resources": [
"proj/*:env/*"
]
}
]
}
'import requests
url = "https://app.launchdarkly.com/api/v2/account/relay-auto-configs"
payload = {
"name": "Sample Relay Proxy config for all proj and env",
"policy": [
{
"actions": ["*"],
"effect": "allow",
"resources": ["proj/*:env/*"]
}
]
}
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: 'Sample Relay Proxy config for all proj and env',
policy: [{actions: ['*'], effect: 'allow', resources: ['proj/*:env/*']}]
})
};
fetch('https://app.launchdarkly.com/api/v2/account/relay-auto-configs', 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/account/relay-auto-configs",
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' => 'Sample Relay Proxy config for all proj and env',
'policy' => [
[
'actions' => [
'*'
],
'effect' => 'allow',
'resources' => [
'proj/*:env/*'
]
]
]
]),
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/account/relay-auto-configs"
payload := strings.NewReader("{\n \"name\": \"Sample Relay Proxy config for all proj and env\",\n \"policy\": [\n {\n \"actions\": [\n \"*\"\n ],\n \"effect\": \"allow\",\n \"resources\": [\n \"proj/*:env/*\"\n ]\n }\n ]\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/account/relay-auto-configs")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Sample Relay Proxy config for all proj and env\",\n \"policy\": [\n {\n \"actions\": [\n \"*\"\n ],\n \"effect\": \"allow\",\n \"resources\": [\n \"proj/*:env/*\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/account/relay-auto-configs")
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\": \"Sample Relay Proxy config for all proj and env\",\n \"policy\": [\n {\n \"actions\": [\n \"*\"\n ],\n \"effect\": \"allow\",\n \"resources\": [\n \"proj/*:env/*\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"_id": "12ab3c45de678910abc12345",
"name": "Relay Proxy Demo Config",
"policy": [
{
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"notResources": [
"<string>"
],
"actions": [
"*"
],
"notActions": [
"<string>"
]
}
],
"displayKey": "7f30",
"creationDate": "1628001602644",
"lastModified": "1628001602644",
"_creator": {
"_links": {
"self": {
"href": "/api/v2/members/569f183514f4432160000007",
"type": "application/json"
}
},
"_id": "569f183514f4432160000007",
"role": "admin",
"email": "ariel@acme.com",
"firstName": "Ariel",
"lastName": "Flores"
},
"_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>"
}
}
]
},
"fullKey": "<string>"
}{
"code": "invalid_request",
"message": "Invalid request body"
}{
"code": "unauthorized",
"message": "Invalid access token"
}{
"code": "rate_limited",
"message": "You've exceeded the API rate limit. Try again later."
}Authorizations
Body
A human-friendly name for the Relay Proxy configuration
A description of what environments and projects the Relay Proxy should include or exclude. To learn more, read Write an inline policy.
Show child attributes
Show child attributes
Response
Relay auto config response
The ID of the Relay Proxy configuration
"12ab3c45de678910abc12345"
A human-friendly name for the Relay Proxy configuration
"Relay Proxy Demo Config"
A description of what environments and projects the Relay Proxy should include or exclude
Show child attributes
Show child attributes
The last few characters of the Relay Proxy configuration key, displayed in the LaunchDarkly UI
"7f30"
Timestamp of when the Relay Proxy configuration was created
"1628001602644"
Timestamp of when the Relay Proxy configuration was most recently modified
"1628001602644"
Details on the member who created this Relay Proxy configuration
Show child attributes
Show child attributes
Details on the allowed and denied actions for this Relay Proxy configuration
Show child attributes
Show child attributes
The Relay Proxy configuration key