curl --request POST \
--url https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"advanced_signatures": true,
"appID": "<string>",
"authentication": {
"oauth2": {
"audience": "<string>",
"authentication_type": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"expiry_time_unit": "<string>",
"field_mapping": {
"access_token": "<string>",
"expires_in": "<string>",
"token_type": "<string>"
},
"grant_type": "<string>",
"issuer": "<string>",
"scope": "<string>",
"signing_algorithm": "<string>",
"signing_key": {
"crv": "<string>",
"d": "<string>",
"dp": "<string>",
"dq": "<string>",
"e": "<string>",
"kid": "<string>",
"kty": "<string>",
"n": "<string>",
"p": "<string>",
"q": "<string>",
"qi": "<string>",
"x": "<string>",
"y": "<string>"
},
"subject": "<string>",
"url": "<string>"
}
},
"content_type": "<string>",
"description": "<string>",
"http_timeout": 123,
"is_disabled": true,
"mtls_client_cert": {
"client_cert": "<string>",
"client_key": "<string>"
},
"name": "<string>",
"owner_id": "<string>",
"rate_limit": 123,
"rate_limit_duration": 123,
"secret": "<string>",
"slack_webhook_url": "<string>",
"support_email": "<string>",
"url": "<string>"
}
'import requests
url = "https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints"
payload = {
"advanced_signatures": True,
"appID": "<string>",
"authentication": { "oauth2": {
"audience": "<string>",
"authentication_type": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"expiry_time_unit": "<string>",
"field_mapping": {
"access_token": "<string>",
"expires_in": "<string>",
"token_type": "<string>"
},
"grant_type": "<string>",
"issuer": "<string>",
"scope": "<string>",
"signing_algorithm": "<string>",
"signing_key": {
"crv": "<string>",
"d": "<string>",
"dp": "<string>",
"dq": "<string>",
"e": "<string>",
"kid": "<string>",
"kty": "<string>",
"n": "<string>",
"p": "<string>",
"q": "<string>",
"qi": "<string>",
"x": "<string>",
"y": "<string>"
},
"subject": "<string>",
"url": "<string>"
} },
"content_type": "<string>",
"description": "<string>",
"http_timeout": 123,
"is_disabled": True,
"mtls_client_cert": {
"client_cert": "<string>",
"client_key": "<string>"
},
"name": "<string>",
"owner_id": "<string>",
"rate_limit": 123,
"rate_limit_duration": 123,
"secret": "<string>",
"slack_webhook_url": "<string>",
"support_email": "<string>",
"url": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
advanced_signatures: true,
appID: '<string>',
authentication: {
oauth2: {
audience: '<string>',
authentication_type: '<string>',
client_id: '<string>',
client_secret: '<string>',
expiry_time_unit: '<string>',
field_mapping: {access_token: '<string>', expires_in: '<string>', token_type: '<string>'},
grant_type: '<string>',
issuer: '<string>',
scope: '<string>',
signing_algorithm: '<string>',
signing_key: {
crv: '<string>',
d: '<string>',
dp: '<string>',
dq: '<string>',
e: '<string>',
kid: '<string>',
kty: '<string>',
n: '<string>',
p: '<string>',
q: '<string>',
qi: '<string>',
x: '<string>',
y: '<string>'
},
subject: '<string>',
url: '<string>'
}
},
content_type: '<string>',
description: '<string>',
http_timeout: 123,
is_disabled: true,
mtls_client_cert: {client_cert: '<string>', client_key: '<string>'},
name: '<string>',
owner_id: '<string>',
rate_limit: 123,
rate_limit_duration: 123,
secret: '<string>',
slack_webhook_url: '<string>',
support_email: '<string>',
url: '<string>'
})
};
fetch('https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints",
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([
'advanced_signatures' => true,
'appID' => '<string>',
'authentication' => [
'oauth2' => [
'audience' => '<string>',
'authentication_type' => '<string>',
'client_id' => '<string>',
'client_secret' => '<string>',
'expiry_time_unit' => '<string>',
'field_mapping' => [
'access_token' => '<string>',
'expires_in' => '<string>',
'token_type' => '<string>'
],
'grant_type' => '<string>',
'issuer' => '<string>',
'scope' => '<string>',
'signing_algorithm' => '<string>',
'signing_key' => [
'crv' => '<string>',
'd' => '<string>',
'dp' => '<string>',
'dq' => '<string>',
'e' => '<string>',
'kid' => '<string>',
'kty' => '<string>',
'n' => '<string>',
'p' => '<string>',
'q' => '<string>',
'qi' => '<string>',
'x' => '<string>',
'y' => '<string>'
],
'subject' => '<string>',
'url' => '<string>'
]
],
'content_type' => '<string>',
'description' => '<string>',
'http_timeout' => 123,
'is_disabled' => true,
'mtls_client_cert' => [
'client_cert' => '<string>',
'client_key' => '<string>'
],
'name' => '<string>',
'owner_id' => '<string>',
'rate_limit' => 123,
'rate_limit_duration' => 123,
'secret' => '<string>',
'slack_webhook_url' => '<string>',
'support_email' => '<string>',
'url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints"
payload := strings.NewReader("{\n \"advanced_signatures\": true,\n \"appID\": \"<string>\",\n \"authentication\": {\n \"oauth2\": {\n \"audience\": \"<string>\",\n \"authentication_type\": \"<string>\",\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"expiry_time_unit\": \"<string>\",\n \"field_mapping\": {\n \"access_token\": \"<string>\",\n \"expires_in\": \"<string>\",\n \"token_type\": \"<string>\"\n },\n \"grant_type\": \"<string>\",\n \"issuer\": \"<string>\",\n \"scope\": \"<string>\",\n \"signing_algorithm\": \"<string>\",\n \"signing_key\": {\n \"crv\": \"<string>\",\n \"d\": \"<string>\",\n \"dp\": \"<string>\",\n \"dq\": \"<string>\",\n \"e\": \"<string>\",\n \"kid\": \"<string>\",\n \"kty\": \"<string>\",\n \"n\": \"<string>\",\n \"p\": \"<string>\",\n \"q\": \"<string>\",\n \"qi\": \"<string>\",\n \"x\": \"<string>\",\n \"y\": \"<string>\"\n },\n \"subject\": \"<string>\",\n \"url\": \"<string>\"\n }\n },\n \"content_type\": \"<string>\",\n \"description\": \"<string>\",\n \"http_timeout\": 123,\n \"is_disabled\": true,\n \"mtls_client_cert\": {\n \"client_cert\": \"<string>\",\n \"client_key\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"rate_limit\": 123,\n \"rate_limit_duration\": 123,\n \"secret\": \"<string>\",\n \"slack_webhook_url\": \"<string>\",\n \"support_email\": \"<string>\",\n \"url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"advanced_signatures\": true,\n \"appID\": \"<string>\",\n \"authentication\": {\n \"oauth2\": {\n \"audience\": \"<string>\",\n \"authentication_type\": \"<string>\",\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"expiry_time_unit\": \"<string>\",\n \"field_mapping\": {\n \"access_token\": \"<string>\",\n \"expires_in\": \"<string>\",\n \"token_type\": \"<string>\"\n },\n \"grant_type\": \"<string>\",\n \"issuer\": \"<string>\",\n \"scope\": \"<string>\",\n \"signing_algorithm\": \"<string>\",\n \"signing_key\": {\n \"crv\": \"<string>\",\n \"d\": \"<string>\",\n \"dp\": \"<string>\",\n \"dq\": \"<string>\",\n \"e\": \"<string>\",\n \"kid\": \"<string>\",\n \"kty\": \"<string>\",\n \"n\": \"<string>\",\n \"p\": \"<string>\",\n \"q\": \"<string>\",\n \"qi\": \"<string>\",\n \"x\": \"<string>\",\n \"y\": \"<string>\"\n },\n \"subject\": \"<string>\",\n \"url\": \"<string>\"\n }\n },\n \"content_type\": \"<string>\",\n \"description\": \"<string>\",\n \"http_timeout\": 123,\n \"is_disabled\": true,\n \"mtls_client_cert\": {\n \"client_cert\": \"<string>\",\n \"client_key\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"rate_limit\": 123,\n \"rate_limit_duration\": 123,\n \"secret\": \"<string>\",\n \"slack_webhook_url\": \"<string>\",\n \"support_email\": \"<string>\",\n \"url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"advanced_signatures\": true,\n \"appID\": \"<string>\",\n \"authentication\": {\n \"oauth2\": {\n \"audience\": \"<string>\",\n \"authentication_type\": \"<string>\",\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"expiry_time_unit\": \"<string>\",\n \"field_mapping\": {\n \"access_token\": \"<string>\",\n \"expires_in\": \"<string>\",\n \"token_type\": \"<string>\"\n },\n \"grant_type\": \"<string>\",\n \"issuer\": \"<string>\",\n \"scope\": \"<string>\",\n \"signing_algorithm\": \"<string>\",\n \"signing_key\": {\n \"crv\": \"<string>\",\n \"d\": \"<string>\",\n \"dp\": \"<string>\",\n \"dq\": \"<string>\",\n \"e\": \"<string>\",\n \"kid\": \"<string>\",\n \"kty\": \"<string>\",\n \"n\": \"<string>\",\n \"p\": \"<string>\",\n \"q\": \"<string>\",\n \"qi\": \"<string>\",\n \"x\": \"<string>\",\n \"y\": \"<string>\"\n },\n \"subject\": \"<string>\",\n \"url\": \"<string>\"\n }\n },\n \"content_type\": \"<string>\",\n \"description\": \"<string>\",\n \"http_timeout\": 123,\n \"is_disabled\": true,\n \"mtls_client_cert\": {\n \"client_cert\": \"<string>\",\n \"client_key\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"rate_limit\": 123,\n \"rate_limit_duration\": 123,\n \"secret\": \"<string>\",\n \"slack_webhook_url\": \"<string>\",\n \"support_email\": \"<string>\",\n \"url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": true,
"data": {
"advanced_signatures": true,
"authentication": {
"api_key": {
"header_name": "<string>",
"header_value": "<string>"
},
"basic_auth": {
"password": "<string>",
"username": "<string>"
},
"oauth2": {
"audience": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"field_mapping": {
"access_token": "<string>",
"expires_in": "<string>",
"token_type": "<string>"
},
"grant_type": "<string>",
"issuer": "<string>",
"scope": "<string>",
"signing_algorithm": "<string>",
"signing_key": {
"crv": "<string>",
"d": "<string>",
"dp": "<string>",
"dq": "<string>",
"e": "<string>",
"kid": "<string>",
"kty": "<string>",
"n": "<string>",
"p": "<string>",
"q": "<string>",
"qi": "<string>",
"x": "<string>",
"y": "<string>"
},
"subject": "<string>",
"url": "<string>"
}
},
"cb_state": "<string>",
"content_type": "<string>",
"created_at": "<string>",
"deleted_at": "<string>",
"description": "<string>",
"events": 123,
"failure_count": 123,
"failure_rate": 123,
"http_timeout": 123,
"mtls_client_cert": {
"client_cert": "<string>",
"client_key": "<string>"
},
"name": "<string>",
"owner_id": "<string>",
"period_failure_rate": 123,
"project_id": "<string>",
"rate_limit": 123,
"rate_limit_duration": 123,
"retry_count": 123,
"secrets": [
{
"created_at": "<string>",
"deleted_at": "<string>",
"expires_at": "<string>",
"uid": "<string>",
"updated_at": "<string>",
"value": "<string>"
}
],
"slack_webhook_url": "<string>",
"success_count": 123,
"support_email": "<string>",
"uid": "<string>",
"updated_at": "<string>",
"url": "<string>"
}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}Create an endpoint
This endpoint creates an endpoint
curl --request POST \
--url https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"advanced_signatures": true,
"appID": "<string>",
"authentication": {
"oauth2": {
"audience": "<string>",
"authentication_type": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"expiry_time_unit": "<string>",
"field_mapping": {
"access_token": "<string>",
"expires_in": "<string>",
"token_type": "<string>"
},
"grant_type": "<string>",
"issuer": "<string>",
"scope": "<string>",
"signing_algorithm": "<string>",
"signing_key": {
"crv": "<string>",
"d": "<string>",
"dp": "<string>",
"dq": "<string>",
"e": "<string>",
"kid": "<string>",
"kty": "<string>",
"n": "<string>",
"p": "<string>",
"q": "<string>",
"qi": "<string>",
"x": "<string>",
"y": "<string>"
},
"subject": "<string>",
"url": "<string>"
}
},
"content_type": "<string>",
"description": "<string>",
"http_timeout": 123,
"is_disabled": true,
"mtls_client_cert": {
"client_cert": "<string>",
"client_key": "<string>"
},
"name": "<string>",
"owner_id": "<string>",
"rate_limit": 123,
"rate_limit_duration": 123,
"secret": "<string>",
"slack_webhook_url": "<string>",
"support_email": "<string>",
"url": "<string>"
}
'import requests
url = "https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints"
payload = {
"advanced_signatures": True,
"appID": "<string>",
"authentication": { "oauth2": {
"audience": "<string>",
"authentication_type": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"expiry_time_unit": "<string>",
"field_mapping": {
"access_token": "<string>",
"expires_in": "<string>",
"token_type": "<string>"
},
"grant_type": "<string>",
"issuer": "<string>",
"scope": "<string>",
"signing_algorithm": "<string>",
"signing_key": {
"crv": "<string>",
"d": "<string>",
"dp": "<string>",
"dq": "<string>",
"e": "<string>",
"kid": "<string>",
"kty": "<string>",
"n": "<string>",
"p": "<string>",
"q": "<string>",
"qi": "<string>",
"x": "<string>",
"y": "<string>"
},
"subject": "<string>",
"url": "<string>"
} },
"content_type": "<string>",
"description": "<string>",
"http_timeout": 123,
"is_disabled": True,
"mtls_client_cert": {
"client_cert": "<string>",
"client_key": "<string>"
},
"name": "<string>",
"owner_id": "<string>",
"rate_limit": 123,
"rate_limit_duration": 123,
"secret": "<string>",
"slack_webhook_url": "<string>",
"support_email": "<string>",
"url": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
advanced_signatures: true,
appID: '<string>',
authentication: {
oauth2: {
audience: '<string>',
authentication_type: '<string>',
client_id: '<string>',
client_secret: '<string>',
expiry_time_unit: '<string>',
field_mapping: {access_token: '<string>', expires_in: '<string>', token_type: '<string>'},
grant_type: '<string>',
issuer: '<string>',
scope: '<string>',
signing_algorithm: '<string>',
signing_key: {
crv: '<string>',
d: '<string>',
dp: '<string>',
dq: '<string>',
e: '<string>',
kid: '<string>',
kty: '<string>',
n: '<string>',
p: '<string>',
q: '<string>',
qi: '<string>',
x: '<string>',
y: '<string>'
},
subject: '<string>',
url: '<string>'
}
},
content_type: '<string>',
description: '<string>',
http_timeout: 123,
is_disabled: true,
mtls_client_cert: {client_cert: '<string>', client_key: '<string>'},
name: '<string>',
owner_id: '<string>',
rate_limit: 123,
rate_limit_duration: 123,
secret: '<string>',
slack_webhook_url: '<string>',
support_email: '<string>',
url: '<string>'
})
};
fetch('https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints",
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([
'advanced_signatures' => true,
'appID' => '<string>',
'authentication' => [
'oauth2' => [
'audience' => '<string>',
'authentication_type' => '<string>',
'client_id' => '<string>',
'client_secret' => '<string>',
'expiry_time_unit' => '<string>',
'field_mapping' => [
'access_token' => '<string>',
'expires_in' => '<string>',
'token_type' => '<string>'
],
'grant_type' => '<string>',
'issuer' => '<string>',
'scope' => '<string>',
'signing_algorithm' => '<string>',
'signing_key' => [
'crv' => '<string>',
'd' => '<string>',
'dp' => '<string>',
'dq' => '<string>',
'e' => '<string>',
'kid' => '<string>',
'kty' => '<string>',
'n' => '<string>',
'p' => '<string>',
'q' => '<string>',
'qi' => '<string>',
'x' => '<string>',
'y' => '<string>'
],
'subject' => '<string>',
'url' => '<string>'
]
],
'content_type' => '<string>',
'description' => '<string>',
'http_timeout' => 123,
'is_disabled' => true,
'mtls_client_cert' => [
'client_cert' => '<string>',
'client_key' => '<string>'
],
'name' => '<string>',
'owner_id' => '<string>',
'rate_limit' => 123,
'rate_limit_duration' => 123,
'secret' => '<string>',
'slack_webhook_url' => '<string>',
'support_email' => '<string>',
'url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints"
payload := strings.NewReader("{\n \"advanced_signatures\": true,\n \"appID\": \"<string>\",\n \"authentication\": {\n \"oauth2\": {\n \"audience\": \"<string>\",\n \"authentication_type\": \"<string>\",\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"expiry_time_unit\": \"<string>\",\n \"field_mapping\": {\n \"access_token\": \"<string>\",\n \"expires_in\": \"<string>\",\n \"token_type\": \"<string>\"\n },\n \"grant_type\": \"<string>\",\n \"issuer\": \"<string>\",\n \"scope\": \"<string>\",\n \"signing_algorithm\": \"<string>\",\n \"signing_key\": {\n \"crv\": \"<string>\",\n \"d\": \"<string>\",\n \"dp\": \"<string>\",\n \"dq\": \"<string>\",\n \"e\": \"<string>\",\n \"kid\": \"<string>\",\n \"kty\": \"<string>\",\n \"n\": \"<string>\",\n \"p\": \"<string>\",\n \"q\": \"<string>\",\n \"qi\": \"<string>\",\n \"x\": \"<string>\",\n \"y\": \"<string>\"\n },\n \"subject\": \"<string>\",\n \"url\": \"<string>\"\n }\n },\n \"content_type\": \"<string>\",\n \"description\": \"<string>\",\n \"http_timeout\": 123,\n \"is_disabled\": true,\n \"mtls_client_cert\": {\n \"client_cert\": \"<string>\",\n \"client_key\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"rate_limit\": 123,\n \"rate_limit_duration\": 123,\n \"secret\": \"<string>\",\n \"slack_webhook_url\": \"<string>\",\n \"support_email\": \"<string>\",\n \"url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"advanced_signatures\": true,\n \"appID\": \"<string>\",\n \"authentication\": {\n \"oauth2\": {\n \"audience\": \"<string>\",\n \"authentication_type\": \"<string>\",\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"expiry_time_unit\": \"<string>\",\n \"field_mapping\": {\n \"access_token\": \"<string>\",\n \"expires_in\": \"<string>\",\n \"token_type\": \"<string>\"\n },\n \"grant_type\": \"<string>\",\n \"issuer\": \"<string>\",\n \"scope\": \"<string>\",\n \"signing_algorithm\": \"<string>\",\n \"signing_key\": {\n \"crv\": \"<string>\",\n \"d\": \"<string>\",\n \"dp\": \"<string>\",\n \"dq\": \"<string>\",\n \"e\": \"<string>\",\n \"kid\": \"<string>\",\n \"kty\": \"<string>\",\n \"n\": \"<string>\",\n \"p\": \"<string>\",\n \"q\": \"<string>\",\n \"qi\": \"<string>\",\n \"x\": \"<string>\",\n \"y\": \"<string>\"\n },\n \"subject\": \"<string>\",\n \"url\": \"<string>\"\n }\n },\n \"content_type\": \"<string>\",\n \"description\": \"<string>\",\n \"http_timeout\": 123,\n \"is_disabled\": true,\n \"mtls_client_cert\": {\n \"client_cert\": \"<string>\",\n \"client_key\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"rate_limit\": 123,\n \"rate_limit_duration\": 123,\n \"secret\": \"<string>\",\n \"slack_webhook_url\": \"<string>\",\n \"support_email\": \"<string>\",\n \"url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://us.getconvoy.cloud/api/v1/projects/{projectID}/endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"advanced_signatures\": true,\n \"appID\": \"<string>\",\n \"authentication\": {\n \"oauth2\": {\n \"audience\": \"<string>\",\n \"authentication_type\": \"<string>\",\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"expiry_time_unit\": \"<string>\",\n \"field_mapping\": {\n \"access_token\": \"<string>\",\n \"expires_in\": \"<string>\",\n \"token_type\": \"<string>\"\n },\n \"grant_type\": \"<string>\",\n \"issuer\": \"<string>\",\n \"scope\": \"<string>\",\n \"signing_algorithm\": \"<string>\",\n \"signing_key\": {\n \"crv\": \"<string>\",\n \"d\": \"<string>\",\n \"dp\": \"<string>\",\n \"dq\": \"<string>\",\n \"e\": \"<string>\",\n \"kid\": \"<string>\",\n \"kty\": \"<string>\",\n \"n\": \"<string>\",\n \"p\": \"<string>\",\n \"q\": \"<string>\",\n \"qi\": \"<string>\",\n \"x\": \"<string>\",\n \"y\": \"<string>\"\n },\n \"subject\": \"<string>\",\n \"url\": \"<string>\"\n }\n },\n \"content_type\": \"<string>\",\n \"description\": \"<string>\",\n \"http_timeout\": 123,\n \"is_disabled\": true,\n \"mtls_client_cert\": {\n \"client_cert\": \"<string>\",\n \"client_key\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"rate_limit\": 123,\n \"rate_limit_duration\": 123,\n \"secret\": \"<string>\",\n \"slack_webhook_url\": \"<string>\",\n \"support_email\": \"<string>\",\n \"url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": true,
"data": {
"advanced_signatures": true,
"authentication": {
"api_key": {
"header_name": "<string>",
"header_value": "<string>"
},
"basic_auth": {
"password": "<string>",
"username": "<string>"
},
"oauth2": {
"audience": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"field_mapping": {
"access_token": "<string>",
"expires_in": "<string>",
"token_type": "<string>"
},
"grant_type": "<string>",
"issuer": "<string>",
"scope": "<string>",
"signing_algorithm": "<string>",
"signing_key": {
"crv": "<string>",
"d": "<string>",
"dp": "<string>",
"dq": "<string>",
"e": "<string>",
"kid": "<string>",
"kty": "<string>",
"n": "<string>",
"p": "<string>",
"q": "<string>",
"qi": "<string>",
"x": "<string>",
"y": "<string>"
},
"subject": "<string>",
"url": "<string>"
}
},
"cb_state": "<string>",
"content_type": "<string>",
"created_at": "<string>",
"deleted_at": "<string>",
"description": "<string>",
"events": 123,
"failure_count": 123,
"failure_rate": 123,
"http_timeout": 123,
"mtls_client_cert": {
"client_cert": "<string>",
"client_key": "<string>"
},
"name": "<string>",
"owner_id": "<string>",
"period_failure_rate": 123,
"project_id": "<string>",
"rate_limit": 123,
"rate_limit_duration": 123,
"retry_count": 123,
"secrets": [
{
"created_at": "<string>",
"deleted_at": "<string>",
"expires_at": "<string>",
"uid": "<string>",
"updated_at": "<string>",
"value": "<string>"
}
],
"slack_webhook_url": "<string>",
"success_count": 123,
"support_email": "<string>",
"uid": "<string>",
"updated_at": "<string>",
"url": "<string>"
}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}Authorizations
Path Parameters
Project ID
Body
Endpoint Details
Convoy supports two signature formats -- simple or advanced. If left unspecified, we default to false.
Deprecated but necessary for backward compatibility
This is used to define any custom authentication required by the endpoint. This shouldn't be needed often because webhook endpoints usually should be exposed to the internet.
Show child attributes
Show child attributes
Content type for the endpoint. Defaults to application/json if not specified.
Human-readable description of the endpoint. Think of this as metadata describing the endpoint
Define endpoint http timeout in seconds.
This is used to manually enable/disable the endpoint.
mTLS client certificate configuration for the endpoint
Show child attributes
Show child attributes
Endpoint name.
Rate limit is the total number of requests to be sent to an endpoint in the time duration specified in RateLimitDuration
Rate limit duration specifies the time range for the rate limit.
Endpoint's webhook secret. If not provided, Convoy autogenerates one for the endpoint.
Slack webhook URL is an alternative method to support email where endpoint developers can receive failure notifications on a slack channel.
Endpoint developers support email. This is used for communicating endpoint state changes. You should always turn this on when disabling endpoints are enabled.
URL is the endpoint's URL prefixed with https. non-https urls are currently not supported.
Was this page helpful?