POST Add Control Plane Group Members
{{baseUrl}}/control-planes/:id/group-memberships/add
BODY json

{
  "members": [
    {
      "id": ""
    }
  ]
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id/group-memberships/add");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/control-planes/:id/group-memberships/add" {:content-type :json
                                                                                     :form-params {:members [{:id ""}]}})
require "http/client"

url = "{{baseUrl}}/control-planes/:id/group-memberships/add"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id/group-memberships/add"),
    Content = new StringContent("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id/group-memberships/add");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id/group-memberships/add"

	payload := strings.NewReader("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/control-planes/:id/group-memberships/add HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 49

{
  "members": [
    {
      "id": ""
    }
  ]
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/control-planes/:id/group-memberships/add")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id/group-memberships/add"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships/add")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/control-planes/:id/group-memberships/add")
  .header("content-type", "application/json")
  .body("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
  .asString();
const data = JSON.stringify({
  members: [
    {
      id: ''
    }
  ]
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/control-planes/:id/group-memberships/add');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes/:id/group-memberships/add',
  headers: {'content-type': 'application/json'},
  data: {members: [{id: ''}]}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id/group-memberships/add';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"members":[{"id":""}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id/group-memberships/add',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "members": [\n    {\n      "id": ""\n    }\n  ]\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships/add")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id/group-memberships/add',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({members: [{id: ''}]}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes/:id/group-memberships/add',
  headers: {'content-type': 'application/json'},
  body: {members: [{id: ''}]},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/control-planes/:id/group-memberships/add');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  members: [
    {
      id: ''
    }
  ]
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes/:id/group-memberships/add',
  headers: {'content-type': 'application/json'},
  data: {members: [{id: ''}]}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id/group-memberships/add';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"members":[{"id":""}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"members": @[ @{ @"id": @"" } ] };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id/group-memberships/add"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id/group-memberships/add" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id/group-memberships/add",
  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([
    'members' => [
        [
                'id' => ''
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/control-planes/:id/group-memberships/add', [
  'body' => '{
  "members": [
    {
      "id": ""
    }
  ]
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id/group-memberships/add');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'members' => [
    [
        'id' => ''
    ]
  ]
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'members' => [
    [
        'id' => ''
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/control-planes/:id/group-memberships/add');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id/group-memberships/add' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "members": [
    {
      "id": ""
    }
  ]
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id/group-memberships/add' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "members": [
    {
      "id": ""
    }
  ]
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/control-planes/:id/group-memberships/add", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id/group-memberships/add"

payload = { "members": [{ "id": "" }] }
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id/group-memberships/add"

payload <- "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id/group-memberships/add")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/control-planes/:id/group-memberships/add') do |req|
  req.body = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id/group-memberships/add";

    let payload = json!({"members": (json!({"id": ""}))});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/control-planes/:id/group-memberships/add \
  --header 'content-type: application/json' \
  --data '{
  "members": [
    {
      "id": ""
    }
  ]
}'
echo '{
  "members": [
    {
      "id": ""
    }
  ]
}' |  \
  http POST {{baseUrl}}/control-planes/:id/group-memberships/add \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "members": [\n    {\n      "id": ""\n    }\n  ]\n}' \
  --output-document \
  - {{baseUrl}}/control-planes/:id/group-memberships/add
import Foundation

let headers = ["content-type": "application/json"]
let parameters = ["members": [["id": ""]]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id/group-memberships/add")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthorized",
  "instance": "kong:trace:8347343766220159418",
  "detail": "Unauthorized"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Forbidden",
  "instance": "kong:trace:2723154947768991354",
  "detail": "You do not have permission to perform this action"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "kong:trace:6816496025408232265",
  "detail": "Not Found"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
GET Get Control Plane Group Member Status
{{baseUrl}}/control-planes/:id/group-member-status
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id/group-member-status");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/control-planes/:id/group-member-status")
require "http/client"

url = "{{baseUrl}}/control-planes/:id/group-member-status"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id/group-member-status"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id/group-member-status");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id/group-member-status"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/control-planes/:id/group-member-status HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/control-planes/:id/group-member-status")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id/group-member-status"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-member-status")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/control-planes/:id/group-member-status")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/control-planes/:id/group-member-status');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-member-status'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id/group-member-status';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id/group-member-status',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-member-status")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id/group-member-status',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-member-status'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/control-planes/:id/group-member-status');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-member-status'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id/group-member-status';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id/group-member-status"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id/group-member-status" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id/group-member-status",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/control-planes/:id/group-member-status');

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id/group-member-status');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/control-planes/:id/group-member-status');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id/group-member-status' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id/group-member-status' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/control-planes/:id/group-member-status")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id/group-member-status"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id/group-member-status"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id/group-member-status")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/control-planes/:id/group-member-status') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id/group-member-status";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/control-planes/:id/group-member-status
http GET {{baseUrl}}/control-planes/:id/group-member-status
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/control-planes/:id/group-member-status
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id/group-member-status")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "is_member": true
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthorized",
  "instance": "kong:trace:8347343766220159418",
  "detail": "Unauthorized"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Forbidden",
  "instance": "kong:trace:2723154947768991354",
  "detail": "You do not have permission to perform this action"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "kong:trace:6816496025408232265",
  "detail": "Not Found"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
GET Get Control Plane Group Status
{{baseUrl}}/control-planes/:id/group-status
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id/group-status");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/control-planes/:id/group-status")
require "http/client"

url = "{{baseUrl}}/control-planes/:id/group-status"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id/group-status"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id/group-status");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id/group-status"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/control-planes/:id/group-status HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/control-planes/:id/group-status")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id/group-status"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-status")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/control-planes/:id/group-status")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/control-planes/:id/group-status');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-status'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id/group-status';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id/group-status',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-status")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id/group-status',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-status'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/control-planes/:id/group-status');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-status'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id/group-status';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id/group-status"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id/group-status" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id/group-status",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/control-planes/:id/group-status');

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id/group-status');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/control-planes/:id/group-status');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id/group-status' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id/group-status' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/control-planes/:id/group-status")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id/group-status"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id/group-status"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id/group-status")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/control-planes/:id/group-status') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id/group-status";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/control-planes/:id/group-status
http GET {{baseUrl}}/control-planes/:id/group-status
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/control-planes/:id/group-status
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id/group-status")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "item": {
    "id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
    "conflicts": [
      {
        "cluster_id": "57fdf779-7935-476f-ab2b-7fa1323b70e6",
        "description": "conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1",
        "resource": {
          "id": "df43b088-cace-4119-9e2a-d83e5fbb0c48",
          "type": "service"
        }
      },
      {
        "cluster_id": "38ceea96-fe39-11ed-be56-0242ac120002",
        "description": "conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1",
        "resource": {
          "id": "15f3ab7d-7202-498a-95b4-334f783dbcdd",
          "type": "service"
        }
      }
    ],
    "state": "CONFLICT",
    "created_at": "2022-11-04T20:10:06.927Z",
    "updated_at": "2022-11-04T20:10:06.927Z"
  }
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "item": {
    "id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
    "conflicts": [
      {
        "cluster_id": "57fdf779-7935-476f-ab2b-7fa1323b70e6",
        "description": "conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1",
        "resource": {
          "id": "df43b088-cace-4119-9e2a-d83e5fbb0c48",
          "type": "service"
        }
      },
      {
        "cluster_id": "38ceea96-fe39-11ed-be56-0242ac120002",
        "description": "conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1",
        "resource": {
          "id": "15f3ab7d-7202-498a-95b4-334f783dbcdd",
          "type": "service"
        }
      }
    ],
    "state": "CONFLICT",
    "created_at": "2022-11-04T20:10:06.927Z",
    "updated_at": "2022-11-04T20:10:06.927Z"
  }
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthorized",
  "instance": "kong:trace:8347343766220159418",
  "detail": "Unauthorized"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Forbidden",
  "instance": "kong:trace:2723154947768991354",
  "detail": "You do not have permission to perform this action"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "kong:trace:6816496025408232265",
  "detail": "Not Found"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
GET List Control Plane Group Memberships
{{baseUrl}}/control-planes/:id/group-memberships
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id/group-memberships");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/control-planes/:id/group-memberships")
require "http/client"

url = "{{baseUrl}}/control-planes/:id/group-memberships"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id/group-memberships"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id/group-memberships");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id/group-memberships"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/control-planes/:id/group-memberships HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/control-planes/:id/group-memberships")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id/group-memberships"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/control-planes/:id/group-memberships")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/control-planes/:id/group-memberships');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-memberships'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id/group-memberships';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id/group-memberships',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id/group-memberships',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-memberships'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/control-planes/:id/group-memberships');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'GET',
  url: '{{baseUrl}}/control-planes/:id/group-memberships'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id/group-memberships';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id/group-memberships"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id/group-memberships" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id/group-memberships",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/control-planes/:id/group-memberships');

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id/group-memberships');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/control-planes/:id/group-memberships');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id/group-memberships' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id/group-memberships' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/control-planes/:id/group-memberships")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id/group-memberships"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id/group-memberships"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id/group-memberships")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/control-planes/:id/group-memberships') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id/group-memberships";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/control-planes/:id/group-memberships
http GET {{baseUrl}}/control-planes/:id/group-memberships
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/control-planes/:id/group-memberships
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id/group-memberships")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "meta": {
    "page": {
      "total": 2,
      "size": 100,
      "next": "/control-planes/57fdf779-7935-476f-ab2b-7fa1323b70e6/group-memberships?q=son&page[after]=ewogICJpZCI6ICJoZWysbyB3b3JsZCIKgZ"
    }
  },
  "data": [
    {
      "id": "774f2a35-509d-4b94-97e9-1ed49563bcb1",
      "name": "Group Member 1",
      "description": "Child RG",
      "labels": {
        "env": "prod"
      },
      "config": {
        "control_plane_endpoint": "https://9e0353434a.us.cp.konghq.com",
        "telemetry_endpoint": "https://9e0353434a.us.tp0.konghq.com",
        "cluster_type": "CLUSTER_TYPE_CONTROL_PLANE",
        "auth_type": "pinned_client_certs",
        "cloud_gateway": false,
        "proxy_urls": [
          {
            "host": "example.com",
            "port": 443,
            "protocol": "https"
          }
        ]
      },
      "created_at": "2023-03-20T22:23:45.873Z",
      "updated_at": "2023-03-30T16:17:55.073Z"
    },
    {
      "id": "e4a1917c-bb26-4aa1-9a3e-50ee366f13db",
      "name": "Group Member 2",
      "description": "Child RG",
      "labels": {
        "env": "prod",
        "foo": "bar"
      },
      "config": {
        "control_plane_endpoint": "https://05459046af.us.cp.konghq.com",
        "telemetry_endpoint": "https://05459046af.us.tp0.konghq.com",
        "cluster_type": "CLUSTER_TYPE_CONTROL_PLANE",
        "auth_type": "pinned_client_certs",
        "cloud_gateway": false,
        "proxy_urls": [
          {
            "host": "example.com",
            "port": 443,
            "protocol": "https"
          }
        ]
      },
      "created_at": "2023-03-23T22:25:30.907Z",
      "updated_at": "2023-03-30T16:18:12.067Z"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthorized",
  "instance": "kong:trace:8347343766220159418",
  "detail": "Unauthorized"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Forbidden",
  "instance": "kong:trace:2723154947768991354",
  "detail": "You do not have permission to perform this action"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "kong:trace:6816496025408232265",
  "detail": "Not Found"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
POST Remove Control Plane Group Members
{{baseUrl}}/control-planes/:id/group-memberships/remove
BODY json

{
  "members": [
    {
      "id": ""
    }
  ]
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id/group-memberships/remove");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/control-planes/:id/group-memberships/remove" {:content-type :json
                                                                                        :form-params {:members [{:id ""}]}})
require "http/client"

url = "{{baseUrl}}/control-planes/:id/group-memberships/remove"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id/group-memberships/remove"),
    Content = new StringContent("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id/group-memberships/remove");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id/group-memberships/remove"

	payload := strings.NewReader("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/control-planes/:id/group-memberships/remove HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 49

{
  "members": [
    {
      "id": ""
    }
  ]
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/control-planes/:id/group-memberships/remove")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id/group-memberships/remove"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships/remove")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/control-planes/:id/group-memberships/remove")
  .header("content-type", "application/json")
  .body("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
  .asString();
const data = JSON.stringify({
  members: [
    {
      id: ''
    }
  ]
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/control-planes/:id/group-memberships/remove');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes/:id/group-memberships/remove',
  headers: {'content-type': 'application/json'},
  data: {members: [{id: ''}]}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id/group-memberships/remove';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"members":[{"id":""}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id/group-memberships/remove',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "members": [\n    {\n      "id": ""\n    }\n  ]\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships/remove")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id/group-memberships/remove',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({members: [{id: ''}]}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes/:id/group-memberships/remove',
  headers: {'content-type': 'application/json'},
  body: {members: [{id: ''}]},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/control-planes/:id/group-memberships/remove');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  members: [
    {
      id: ''
    }
  ]
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes/:id/group-memberships/remove',
  headers: {'content-type': 'application/json'},
  data: {members: [{id: ''}]}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id/group-memberships/remove';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"members":[{"id":""}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"members": @[ @{ @"id": @"" } ] };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id/group-memberships/remove"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id/group-memberships/remove" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id/group-memberships/remove",
  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([
    'members' => [
        [
                'id' => ''
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/control-planes/:id/group-memberships/remove', [
  'body' => '{
  "members": [
    {
      "id": ""
    }
  ]
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id/group-memberships/remove');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'members' => [
    [
        'id' => ''
    ]
  ]
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'members' => [
    [
        'id' => ''
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/control-planes/:id/group-memberships/remove');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id/group-memberships/remove' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "members": [
    {
      "id": ""
    }
  ]
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id/group-memberships/remove' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "members": [
    {
      "id": ""
    }
  ]
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/control-planes/:id/group-memberships/remove", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id/group-memberships/remove"

payload = { "members": [{ "id": "" }] }
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id/group-memberships/remove"

payload <- "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id/group-memberships/remove")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/control-planes/:id/group-memberships/remove') do |req|
  req.body = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id/group-memberships/remove";

    let payload = json!({"members": (json!({"id": ""}))});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/control-planes/:id/group-memberships/remove \
  --header 'content-type: application/json' \
  --data '{
  "members": [
    {
      "id": ""
    }
  ]
}'
echo '{
  "members": [
    {
      "id": ""
    }
  ]
}' |  \
  http POST {{baseUrl}}/control-planes/:id/group-memberships/remove \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "members": [\n    {\n      "id": ""\n    }\n  ]\n}' \
  --output-document \
  - {{baseUrl}}/control-planes/:id/group-memberships/remove
import Foundation

let headers = ["content-type": "application/json"]
let parameters = ["members": [["id": ""]]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id/group-memberships/remove")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthorized",
  "instance": "kong:trace:8347343766220159418",
  "detail": "Unauthorized"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Forbidden",
  "instance": "kong:trace:2723154947768991354",
  "detail": "You do not have permission to perform this action"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "kong:trace:6816496025408232265",
  "detail": "Not Found"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
PUT Upsert Control Plane Group Members
{{baseUrl}}/control-planes/:id/group-memberships
BODY json

{
  "members": [
    {
      "id": ""
    }
  ]
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id/group-memberships");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/put "{{baseUrl}}/control-planes/:id/group-memberships" {:content-type :json
                                                                                :form-params {:members [{:id ""}]}})
require "http/client"

url = "{{baseUrl}}/control-planes/:id/group-memberships"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

response = HTTP::Client.put url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Put,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id/group-memberships"),
    Content = new StringContent("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id/group-memberships");
var request = new RestRequest("", Method.Put);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id/group-memberships"

	payload := strings.NewReader("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PUT /baseUrl/control-planes/:id/group-memberships HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 49

{
  "members": [
    {
      "id": ""
    }
  ]
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PUT", "{{baseUrl}}/control-planes/:id/group-memberships")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id/group-memberships"))
    .header("content-type", "application/json")
    .method("PUT", HttpRequest.BodyPublishers.ofString("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships")
  .put(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.put("{{baseUrl}}/control-planes/:id/group-memberships")
  .header("content-type", "application/json")
  .body("{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
  .asString();
const data = JSON.stringify({
  members: [
    {
      id: ''
    }
  ]
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PUT', '{{baseUrl}}/control-planes/:id/group-memberships');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/control-planes/:id/group-memberships',
  headers: {'content-type': 'application/json'},
  data: {members: [{id: ''}]}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id/group-memberships';
const options = {
  method: 'PUT',
  headers: {'content-type': 'application/json'},
  body: '{"members":[{"id":""}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id/group-memberships',
  method: 'PUT',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "members": [\n    {\n      "id": ""\n    }\n  ]\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id/group-memberships")
  .put(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PUT',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id/group-memberships',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({members: [{id: ''}]}));
req.end();
const request = require('request');

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/control-planes/:id/group-memberships',
  headers: {'content-type': 'application/json'},
  body: {members: [{id: ''}]},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PUT', '{{baseUrl}}/control-planes/:id/group-memberships');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  members: [
    {
      id: ''
    }
  ]
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/control-planes/:id/group-memberships',
  headers: {'content-type': 'application/json'},
  data: {members: [{id: ''}]}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id/group-memberships';
const options = {
  method: 'PUT',
  headers: {'content-type': 'application/json'},
  body: '{"members":[{"id":""}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"members": @[ @{ @"id": @"" } ] };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id/group-memberships"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id/group-memberships" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}" in

Client.call ~headers ~body `PUT uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id/group-memberships",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => json_encode([
    'members' => [
        [
                'id' => ''
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PUT', '{{baseUrl}}/control-planes/:id/group-memberships', [
  'body' => '{
  "members": [
    {
      "id": ""
    }
  ]
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id/group-memberships');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'members' => [
    [
        'id' => ''
    ]
  ]
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'members' => [
    [
        'id' => ''
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/control-planes/:id/group-memberships');
$request->setRequestMethod('PUT');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id/group-memberships' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{
  "members": [
    {
      "id": ""
    }
  ]
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id/group-memberships' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{
  "members": [
    {
      "id": ""
    }
  ]
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

headers = { 'content-type': "application/json" }

conn.request("PUT", "/baseUrl/control-planes/:id/group-memberships", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id/group-memberships"

payload = { "members": [{ "id": "" }] }
headers = {"content-type": "application/json"}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id/group-memberships"

payload <- "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

encode <- "json"

response <- VERB("PUT", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id/group-memberships")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.put('/baseUrl/control-planes/:id/group-memberships') do |req|
  req.body = "{\n  \"members\": [\n    {\n      \"id\": \"\"\n    }\n  ]\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id/group-memberships";

    let payload = json!({"members": (json!({"id": ""}))});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PUT").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PUT \
  --url {{baseUrl}}/control-planes/:id/group-memberships \
  --header 'content-type: application/json' \
  --data '{
  "members": [
    {
      "id": ""
    }
  ]
}'
echo '{
  "members": [
    {
      "id": ""
    }
  ]
}' |  \
  http PUT {{baseUrl}}/control-planes/:id/group-memberships \
  content-type:application/json
wget --quiet \
  --method PUT \
  --header 'content-type: application/json' \
  --body-data '{\n  "members": [\n    {\n      "id": ""\n    }\n  ]\n}' \
  --output-document \
  - {{baseUrl}}/control-planes/:id/group-memberships
import Foundation

let headers = ["content-type": "application/json"]
let parameters = ["members": [["id": ""]]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id/group-memberships")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthorized",
  "instance": "kong:trace:8347343766220159418",
  "detail": "Unauthorized"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Forbidden",
  "instance": "kong:trace:2723154947768991354",
  "detail": "You do not have permission to perform this action"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "kong:trace:6816496025408232265",
  "detail": "Not Found"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
POST Create Control Plane
{{baseUrl}}/control-planes
BODY json

{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/control-planes" {:content-type :json
                                                           :form-params {:name ""
                                                                         :description ""
                                                                         :cluster_type ""
                                                                         :auth_type ""
                                                                         :cloud_gateway false
                                                                         :proxy_urls [{:host ""
                                                                                       :port 0
                                                                                       :protocol ""}]
                                                                         :labels {}}})
require "http/client"

url = "{{baseUrl}}/control-planes"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/control-planes"),
    Content = new StringContent("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes"

	payload := strings.NewReader("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/control-planes HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 211

{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/control-planes")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/control-planes")
  .header("content-type", "application/json")
  .body("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
  .asString();
const data = JSON.stringify({
  name: '',
  description: '',
  cluster_type: '',
  auth_type: '',
  cloud_gateway: false,
  proxy_urls: [
    {
      host: '',
      port: 0,
      protocol: ''
    }
  ],
  labels: {}
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/control-planes');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes',
  headers: {'content-type': 'application/json'},
  data: {
    name: '',
    description: '',
    cluster_type: '',
    auth_type: '',
    cloud_gateway: false,
    proxy_urls: [{host: '', port: 0, protocol: ''}],
    labels: {}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"name":"","description":"","cluster_type":"","auth_type":"","cloud_gateway":false,"proxy_urls":[{"host":"","port":0,"protocol":""}],"labels":{}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "name": "",\n  "description": "",\n  "cluster_type": "",\n  "auth_type": "",\n  "cloud_gateway": false,\n  "proxy_urls": [\n    {\n      "host": "",\n      "port": 0,\n      "protocol": ""\n    }\n  ],\n  "labels": {}\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/control-planes")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  name: '',
  description: '',
  cluster_type: '',
  auth_type: '',
  cloud_gateway: false,
  proxy_urls: [{host: '', port: 0, protocol: ''}],
  labels: {}
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes',
  headers: {'content-type': 'application/json'},
  body: {
    name: '',
    description: '',
    cluster_type: '',
    auth_type: '',
    cloud_gateway: false,
    proxy_urls: [{host: '', port: 0, protocol: ''}],
    labels: {}
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/control-planes');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  name: '',
  description: '',
  cluster_type: '',
  auth_type: '',
  cloud_gateway: false,
  proxy_urls: [
    {
      host: '',
      port: 0,
      protocol: ''
    }
  ],
  labels: {}
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/control-planes',
  headers: {'content-type': 'application/json'},
  data: {
    name: '',
    description: '',
    cluster_type: '',
    auth_type: '',
    cloud_gateway: false,
    proxy_urls: [{host: '', port: 0, protocol: ''}],
    labels: {}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"name":"","description":"","cluster_type":"","auth_type":"","cloud_gateway":false,"proxy_urls":[{"host":"","port":0,"protocol":""}],"labels":{}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"name": @"",
                              @"description": @"",
                              @"cluster_type": @"",
                              @"auth_type": @"",
                              @"cloud_gateway": @NO,
                              @"proxy_urls": @[ @{ @"host": @"", @"port": @0, @"protocol": @"" } ],
                              @"labels": @{  } };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes",
  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' => '',
    'description' => '',
    'cluster_type' => '',
    'auth_type' => '',
    'cloud_gateway' => null,
    'proxy_urls' => [
        [
                'host' => '',
                'port' => 0,
                'protocol' => ''
        ]
    ],
    'labels' => [
        
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/control-planes', [
  'body' => '{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'name' => '',
  'description' => '',
  'cluster_type' => '',
  'auth_type' => '',
  'cloud_gateway' => null,
  'proxy_urls' => [
    [
        'host' => '',
        'port' => 0,
        'protocol' => ''
    ]
  ],
  'labels' => [
    
  ]
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'name' => '',
  'description' => '',
  'cluster_type' => '',
  'auth_type' => '',
  'cloud_gateway' => null,
  'proxy_urls' => [
    [
        'host' => '',
        'port' => 0,
        'protocol' => ''
    ]
  ],
  'labels' => [
    
  ]
]));
$request->setRequestUrl('{{baseUrl}}/control-planes');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/control-planes", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes"

payload = {
    "name": "",
    "description": "",
    "cluster_type": "",
    "auth_type": "",
    "cloud_gateway": False,
    "proxy_urls": [
        {
            "host": "",
            "port": 0,
            "protocol": ""
        }
    ],
    "labels": {}
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes"

payload <- "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/control-planes') do |req|
  req.body = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"cluster_type\": \"\",\n  \"auth_type\": \"\",\n  \"cloud_gateway\": false,\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes";

    let payload = json!({
        "name": "",
        "description": "",
        "cluster_type": "",
        "auth_type": "",
        "cloud_gateway": false,
        "proxy_urls": (
            json!({
                "host": "",
                "port": 0,
                "protocol": ""
            })
        ),
        "labels": json!({})
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/control-planes \
  --header 'content-type: application/json' \
  --data '{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}'
echo '{
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}' |  \
  http POST {{baseUrl}}/control-planes \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "name": "",\n  "description": "",\n  "cluster_type": "",\n  "auth_type": "",\n  "cloud_gateway": false,\n  "proxy_urls": [\n    {\n      "host": "",\n      "port": 0,\n      "protocol": ""\n    }\n  ],\n  "labels": {}\n}' \
  --output-document \
  - {{baseUrl}}/control-planes
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "name": "",
  "description": "",
  "cluster_type": "",
  "auth_type": "",
  "cloud_gateway": false,
  "proxy_urls": [
    [
      "host": "",
      "port": 0,
      "protocol": ""
    ]
  ],
  "labels": []
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
  "name": "Test Control Plane",
  "description": "A test control plane for exploration.",
  "labels": {
    "env": "test"
  },
  "config": {
    "control_plane_endpoint": "https://acfe5f253f.cp.konghq.com",
    "telemetry_endpoint": "https://acfe5f253f.tp0.konghq.com",
    "cluster_type": "CLUSTER_TYPE_CONTROL_PLANE",
    "auth_type": "pinned_client_certs",
    "cloud_gateway": false,
    "proxy_urls": [
      {
        "host": "example.com",
        "port": 443,
        "protocol": "https"
      }
    ]
  },
  "created_at": "2022-11-04T20:10:06.927Z",
  "updated_at": "2022-11-04T20:10:06.927Z"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request format",
  "instance": "konnect:trace:3674017986744198214",
  "invalid_parameters": [
    {
      "field": "body",
      "reason": "request format is invalid"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request cannot be empty",
  "instance": "konnect:trace:6644808935508571943",
  "invalid_parameters": [
    {
      "field": "name",
      "reason": "cannot be blank"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains invalid ID format",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "invalid ID format"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "instance": "konnect:trace:8988732526256293040",
  "detail": "Cannot create an additional control plane because usage limits have been reached.",
  "invalid_parameters": [
    {
      "field": "object",
      "reason": "usage limits reached"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains unknown property",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "property id should not exist"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthenticated",
  "instance": "konnect:trace:952172606039454040",
  "detail": "A valid token is required"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Permission denied",
  "instance": "konnect:trace:2822394689570210664",
  "detail": "Insufficient role-set to create control planes."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 409,
  "title": "Conflict",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Control Plane with provided name already exists."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 500,
  "title": "Internal Server Error",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not propagate control plane changes to control plane cluster service."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
DELETE Delete Control Plane
{{baseUrl}}/control-planes/:id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/control-planes/:id")
require "http/client"

url = "{{baseUrl}}/control-planes/:id"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/control-planes/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/control-planes/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id"))
    .method("DELETE", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/control-planes/:id")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('DELETE', '{{baseUrl}}/control-planes/:id');

xhr.send(data);
import axios from 'axios';

const options = {method: 'DELETE', url: '{{baseUrl}}/control-planes/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id';
const options = {method: 'DELETE'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'DELETE', url: '{{baseUrl}}/control-planes/:id'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/control-planes/:id');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {method: 'DELETE', url: '{{baseUrl}}/control-planes/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id';
const options = {method: 'DELETE'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/control-planes/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/control-planes/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/control-planes/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/control-planes/:id') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/control-planes/:id
http DELETE {{baseUrl}}/control-planes/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/control-planes/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request format",
  "instance": "konnect:trace:3674017986744198214",
  "invalid_parameters": [
    {
      "field": "body",
      "reason": "request format is invalid"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request cannot be empty",
  "instance": "konnect:trace:6644808935508571943",
  "invalid_parameters": [
    {
      "field": "name",
      "reason": "cannot be blank"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains invalid ID format",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "invalid ID format"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "instance": "konnect:trace:8988732526256293040",
  "detail": "Cannot create an additional control plane because usage limits have been reached.",
  "invalid_parameters": [
    {
      "field": "object",
      "reason": "usage limits reached"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains unknown property",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "property id should not exist"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthenticated",
  "instance": "konnect:trace:952172606039454040",
  "detail": "A valid token is required"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Permission denied",
  "instance": "konnect:trace:2822394689570210664",
  "detail": "Insufficient role-set to create control planes."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "The requested control plane was not found."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 500,
  "title": "Internal Server Error",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not propagate control plane changes to control plane cluster service."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
GET Get a Control Plane
{{baseUrl}}/control-planes/:id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/control-planes/:id")
require "http/client"

url = "{{baseUrl}}/control-planes/:id"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/control-planes/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/control-planes/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/control-planes/:id")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/control-planes/:id');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/control-planes/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/control-planes/:id'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/control-planes/:id');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {method: 'GET', url: '{{baseUrl}}/control-planes/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/control-planes/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/control-planes/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/control-planes/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/control-planes/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/control-planes/:id
http GET {{baseUrl}}/control-planes/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/control-planes/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
  "name": "Test Control Plane",
  "description": "A test control plane for exploration.",
  "labels": {
    "env": "test"
  },
  "config": {
    "control_plane_endpoint": "https://acfe5f253f.cp.konghq.com",
    "telemetry_endpoint": "https://acfe5f253f.tp0.konghq.com",
    "cluster_type": "CLUSTER_TYPE_CONTROL_PLANE",
    "auth_type": "pinned_client_certs",
    "cloud_gateway": false,
    "proxy_urls": [
      {
        "host": "example.com",
        "port": 443,
        "protocol": "https"
      }
    ]
  },
  "created_at": "2022-11-04T20:10:06.927Z",
  "updated_at": "2022-11-04T20:10:06.927Z"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request format",
  "instance": "konnect:trace:3674017986744198214",
  "invalid_parameters": [
    {
      "field": "body",
      "reason": "request format is invalid"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request cannot be empty",
  "instance": "konnect:trace:6644808935508571943",
  "invalid_parameters": [
    {
      "field": "name",
      "reason": "cannot be blank"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains invalid ID format",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "invalid ID format"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "instance": "konnect:trace:8988732526256293040",
  "detail": "Cannot create an additional control plane because usage limits have been reached.",
  "invalid_parameters": [
    {
      "field": "object",
      "reason": "usage limits reached"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains unknown property",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "property id should not exist"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthenticated",
  "instance": "konnect:trace:952172606039454040",
  "detail": "A valid token is required"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Permission denied",
  "instance": "konnect:trace:2822394689570210664",
  "detail": "Insufficient role-set to create control planes."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "The requested control plane was not found."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
GET List Control Planes
{{baseUrl}}/control-planes
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/control-planes")
require "http/client"

url = "{{baseUrl}}/control-planes"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/control-planes"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/control-planes HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/control-planes")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/control-planes")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/control-planes');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/control-planes'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/control-planes")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/control-planes'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/control-planes');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {method: 'GET', url: '{{baseUrl}}/control-planes'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/control-planes');

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/control-planes');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/control-planes")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/control-planes') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/control-planes
http GET {{baseUrl}}/control-planes
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/control-planes
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request format",
  "instance": "konnect:trace:3674017986744198214",
  "invalid_parameters": [
    {
      "field": "body",
      "reason": "request format is invalid"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request cannot be empty",
  "instance": "konnect:trace:6644808935508571943",
  "invalid_parameters": [
    {
      "field": "name",
      "reason": "cannot be blank"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains invalid ID format",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "invalid ID format"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "instance": "konnect:trace:8988732526256293040",
  "detail": "Cannot create an additional control plane because usage limits have been reached.",
  "invalid_parameters": [
    {
      "field": "object",
      "reason": "usage limits reached"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains unknown property",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "property id should not exist"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthenticated",
  "instance": "konnect:trace:952172606039454040",
  "detail": "A valid token is required"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Permission denied",
  "instance": "konnect:trace:2822394689570210664",
  "detail": "Insufficient role-set to create control planes."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}
PATCH Update Control Plane
{{baseUrl}}/control-planes/:id
BODY json

{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/control-planes/:id");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/patch "{{baseUrl}}/control-planes/:id" {:content-type :json
                                                                :form-params {:name ""
                                                                              :description ""
                                                                              :auth_type ""
                                                                              :proxy_urls [{:host ""
                                                                                            :port 0
                                                                                            :protocol ""}]
                                                                              :labels {}}})
require "http/client"

url = "{{baseUrl}}/control-planes/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/control-planes/:id"),
    Content = new StringContent("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/control-planes/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/control-planes/:id"

	payload := strings.NewReader("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PATCH /baseUrl/control-planes/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 163

{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/control-planes/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/control-planes/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/control-planes/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/control-planes/:id")
  .header("content-type", "application/json")
  .body("{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
  .asString();
const data = JSON.stringify({
  name: '',
  description: '',
  auth_type: '',
  proxy_urls: [
    {
      host: '',
      port: 0,
      protocol: ''
    }
  ],
  labels: {}
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PATCH', '{{baseUrl}}/control-planes/:id');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/control-planes/:id',
  headers: {'content-type': 'application/json'},
  data: {
    name: '',
    description: '',
    auth_type: '',
    proxy_urls: [{host: '', port: 0, protocol: ''}],
    labels: {}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/control-planes/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"name":"","description":"","auth_type":"","proxy_urls":[{"host":"","port":0,"protocol":""}],"labels":{}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/control-planes/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "name": "",\n  "description": "",\n  "auth_type": "",\n  "proxy_urls": [\n    {\n      "host": "",\n      "port": 0,\n      "protocol": ""\n    }\n  ],\n  "labels": {}\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/control-planes/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/control-planes/:id',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  name: '',
  description: '',
  auth_type: '',
  proxy_urls: [{host: '', port: 0, protocol: ''}],
  labels: {}
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/control-planes/:id',
  headers: {'content-type': 'application/json'},
  body: {
    name: '',
    description: '',
    auth_type: '',
    proxy_urls: [{host: '', port: 0, protocol: ''}],
    labels: {}
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PATCH', '{{baseUrl}}/control-planes/:id');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  name: '',
  description: '',
  auth_type: '',
  proxy_urls: [
    {
      host: '',
      port: 0,
      protocol: ''
    }
  ],
  labels: {}
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/control-planes/:id',
  headers: {'content-type': 'application/json'},
  data: {
    name: '',
    description: '',
    auth_type: '',
    proxy_urls: [{host: '', port: 0, protocol: ''}],
    labels: {}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/control-planes/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"name":"","description":"","auth_type":"","proxy_urls":[{"host":"","port":0,"protocol":""}],"labels":{}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"name": @"",
                              @"description": @"",
                              @"auth_type": @"",
                              @"proxy_urls": @[ @{ @"host": @"", @"port": @0, @"protocol": @"" } ],
                              @"labels": @{  } };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/control-planes/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/control-planes/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/control-planes/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'name' => '',
    'description' => '',
    'auth_type' => '',
    'proxy_urls' => [
        [
                'host' => '',
                'port' => 0,
                'protocol' => ''
        ]
    ],
    'labels' => [
        
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/control-planes/:id', [
  'body' => '{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/control-planes/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'name' => '',
  'description' => '',
  'auth_type' => '',
  'proxy_urls' => [
    [
        'host' => '',
        'port' => 0,
        'protocol' => ''
    ]
  ],
  'labels' => [
    
  ]
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'name' => '',
  'description' => '',
  'auth_type' => '',
  'proxy_urls' => [
    [
        'host' => '',
        'port' => 0,
        'protocol' => ''
    ]
  ],
  'labels' => [
    
  ]
]));
$request->setRequestUrl('{{baseUrl}}/control-planes/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/control-planes/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/control-planes/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

headers = { 'content-type': "application/json" }

conn.request("PATCH", "/baseUrl/control-planes/:id", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/control-planes/:id"

payload = {
    "name": "",
    "description": "",
    "auth_type": "",
    "proxy_urls": [
        {
            "host": "",
            "port": 0,
            "protocol": ""
        }
    ],
    "labels": {}
}
headers = {"content-type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/control-planes/:id"

payload <- "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

encode <- "json"

response <- VERB("PATCH", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/control-planes/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.patch('/baseUrl/control-planes/:id') do |req|
  req.body = "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"auth_type\": \"\",\n  \"proxy_urls\": [\n    {\n      \"host\": \"\",\n      \"port\": 0,\n      \"protocol\": \"\"\n    }\n  ],\n  \"labels\": {}\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/control-planes/:id";

    let payload = json!({
        "name": "",
        "description": "",
        "auth_type": "",
        "proxy_urls": (
            json!({
                "host": "",
                "port": 0,
                "protocol": ""
            })
        ),
        "labels": json!({})
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PATCH").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/control-planes/:id \
  --header 'content-type: application/json' \
  --data '{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}'
echo '{
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    {
      "host": "",
      "port": 0,
      "protocol": ""
    }
  ],
  "labels": {}
}' |  \
  http PATCH {{baseUrl}}/control-planes/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "name": "",\n  "description": "",\n  "auth_type": "",\n  "proxy_urls": [\n    {\n      "host": "",\n      "port": 0,\n      "protocol": ""\n    }\n  ],\n  "labels": {}\n}' \
  --output-document \
  - {{baseUrl}}/control-planes/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "name": "",
  "description": "",
  "auth_type": "",
  "proxy_urls": [
    [
      "host": "",
      "port": 0,
      "protocol": ""
    ]
  ],
  "labels": []
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/control-planes/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
  "name": "Test Control Plane",
  "description": "A test control plane for exploration.",
  "labels": {
    "env": "test"
  },
  "config": {
    "control_plane_endpoint": "https://acfe5f253f.cp.konghq.com",
    "telemetry_endpoint": "https://acfe5f253f.tp0.konghq.com",
    "cluster_type": "CLUSTER_TYPE_CONTROL_PLANE",
    "auth_type": "pinned_client_certs",
    "cloud_gateway": false,
    "proxy_urls": [
      {
        "host": "example.com",
        "port": 443,
        "protocol": "https"
      }
    ]
  },
  "created_at": "2022-11-04T20:10:06.927Z",
  "updated_at": "2022-11-04T20:10:06.927Z"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request format",
  "instance": "konnect:trace:3674017986744198214",
  "invalid_parameters": [
    {
      "field": "body",
      "reason": "request format is invalid"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request cannot be empty",
  "instance": "konnect:trace:6644808935508571943",
  "invalid_parameters": [
    {
      "field": "name",
      "reason": "cannot be blank"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains invalid ID format",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "invalid ID format"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "instance": "konnect:trace:8988732526256293040",
  "detail": "Cannot create an additional control plane because usage limits have been reached.",
  "invalid_parameters": [
    {
      "field": "object",
      "reason": "usage limits reached"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 400,
  "title": "Bad Request",
  "detail": "Request contains unknown property",
  "instance": "konnect:trace:8988732526256293040",
  "invalid_parameters": [
    {
      "field": "id",
      "reason": "property id should not exist"
    }
  ]
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 401,
  "title": "Unauthenticated",
  "instance": "konnect:trace:952172606039454040",
  "detail": "A valid token is required"
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 403,
  "title": "Permission denied",
  "instance": "konnect:trace:2822394689570210664",
  "detail": "Insufficient role-set to create control planes."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 404,
  "title": "Not Found",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "The requested control plane was not found."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 500,
  "title": "Internal Server Error",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not propagate control plane changes to control plane cluster service."
}
RESPONSE HEADERS

Content-Type
application/problem+json
RESPONSE BODY text

{
  "status": 503,
  "title": "Service Unavailable",
  "instance": "konnect:trace:2287285207635123011",
  "detail": "Could not retrieve permissions to check resource accessibility."
}