Create an event
curl --request POST \
--url https://us.getconvoy.cloud/api/v1/projects/{projectID}/events \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"app_id": "<string>",
"custom_headers": {},
"data": {},
"endpoint_id": "<string>",
"event_type": "<string>",
"idempotency_key": "<string>"
}
'import requests
url = "https://us.getconvoy.cloud/api/v1/projects/{projectID}/events"
payload = {
"app_id": "<string>",
"custom_headers": {},
"data": {},
"endpoint_id": "<string>",
"event_type": "<string>",
"idempotency_key": "<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({
app_id: '<string>',
custom_headers: {},
data: {},
endpoint_id: '<string>',
event_type: '<string>',
idempotency_key: '<string>'
})
};
fetch('https://us.getconvoy.cloud/api/v1/projects/{projectID}/events', 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}/events",
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([
'app_id' => '<string>',
'custom_headers' => [
],
'data' => [
],
'endpoint_id' => '<string>',
'event_type' => '<string>',
'idempotency_key' => '<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}/events"
payload := strings.NewReader("{\n \"app_id\": \"<string>\",\n \"custom_headers\": {},\n \"data\": {},\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"<string>\",\n \"idempotency_key\": \"<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}/events")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"app_id\": \"<string>\",\n \"custom_headers\": {},\n \"data\": {},\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://us.getconvoy.cloud/api/v1/projects/{projectID}/events")
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 \"app_id\": \"<string>\",\n \"custom_headers\": {},\n \"data\": {},\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}Events
Create an event
This endpoint creates an endpoint event
POST
/
v1
/
projects
/
{projectID}
/
events
Create an event
curl --request POST \
--url https://us.getconvoy.cloud/api/v1/projects/{projectID}/events \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"app_id": "<string>",
"custom_headers": {},
"data": {},
"endpoint_id": "<string>",
"event_type": "<string>",
"idempotency_key": "<string>"
}
'import requests
url = "https://us.getconvoy.cloud/api/v1/projects/{projectID}/events"
payload = {
"app_id": "<string>",
"custom_headers": {},
"data": {},
"endpoint_id": "<string>",
"event_type": "<string>",
"idempotency_key": "<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({
app_id: '<string>',
custom_headers: {},
data: {},
endpoint_id: '<string>',
event_type: '<string>',
idempotency_key: '<string>'
})
};
fetch('https://us.getconvoy.cloud/api/v1/projects/{projectID}/events', 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}/events",
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([
'app_id' => '<string>',
'custom_headers' => [
],
'data' => [
],
'endpoint_id' => '<string>',
'event_type' => '<string>',
'idempotency_key' => '<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}/events"
payload := strings.NewReader("{\n \"app_id\": \"<string>\",\n \"custom_headers\": {},\n \"data\": {},\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"<string>\",\n \"idempotency_key\": \"<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}/events")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"app_id\": \"<string>\",\n \"custom_headers\": {},\n \"data\": {},\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://us.getconvoy.cloud/api/v1/projects/{projectID}/events")
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 \"app_id\": \"<string>\",\n \"custom_headers\": {},\n \"data\": {},\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}{
"message": "<string>",
"status": true,
"data": {}
}Authorizations
Path Parameters
Project ID
Body
application/json
Event Details
Deprecated but necessary for backward compatibility.
Specifies custom headers you want convoy to add when the event is dispatched to your endpoint
Show child attributes
Show child attributes
Data is an arbitrary JSON value that gets sent as the body of the webhook to the endpoints
Specifies the endpoint to send this event to.
Event Type is used for filtering and debugging e.g invoice.paid
Specify a key for event deduplication
Was this page helpful?
⌘I