Send a test event to a subscription
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event_type": "test.ping"
}
'import requests
url = "https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event"
payload = { "event_type": "test.ping" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({event_type: 'test.ping'})
};
fetch('https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event', 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://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event",
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([
'event_type' => 'test.ping'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event"
payload := strings.NewReader("{\n \"event_type\": \"test.ping\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"event_type\": \"test.ping\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"event_type\": \"test.ping\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"success": true,
"status_code": 123,
"response_time_ms": 123,
"delivery_id": "<string>",
"error": "<string>"
},
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docs_url": "<string>"
}
}CDP
Send a test event to a subscription
Synchronously dispatch a signed test event to a subscription’s destination so you can verify connectivity before going live. The payload is HMAC-signed with the destination’s at-rest secret (identical to live deliveries) and the attempt is recorded in the delivery log. Returns the destination’s HTTP status and response so you can confirm the endpoint accepts Orbit’s signature. Nango-routed destinations (HubSpot, Salesforce, Braze, Iterable, Customer.io, Klaviyo) return 422 — use their connection-test flow instead. Owner / admin / developer only.
POST
/
api
/
v1
/
cdp
/
subscriptions
/
{id}
/
test-event
Send a test event to a subscription
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event_type": "test.ping"
}
'import requests
url = "https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event"
payload = { "event_type": "test.ping" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({event_type: 'test.ping'})
};
fetch('https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event', 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://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event",
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([
'event_type' => 'test.ping'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event"
payload := strings.NewReader("{\n \"event_type\": \"test.ping\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"event_type\": \"test.ping\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/cdp/subscriptions/{id}/test-event")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"event_type\": \"test.ping\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"success": true,
"status_code": 123,
"response_time_ms": 123,
"delivery_id": "<string>",
"error": "<string>"
},
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docs_url": "<string>"
}
}Authorizations
BearerApiKey
Dashboard JWT token from Clerk
Path Parameters
Body
application/json
Optional event name to send; defaults to test.ping.
Required string length:
1 - 200⌘I