Create a new 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."
}Create a new Relay Proxy config
Create a Relay Proxy config.
POST
/
api
/
v2
/
account
/
relay-auto-configs
Create a new 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."
}Body
application/json
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