api.botsubscription.com
GET /v1/endpoint
Authentication Bearer
Token
Stays in this tab. Required for this endpoint — the value below is what gets sent.
Request GET Response —
cURL Node Python PHP Go Ruby
Copy curl --request GET \
--url https://api.botsubscription.com/v1/endpoint \
--header 'Authorization: Bearer sk_live_•••'— — · — · —
Response will appear here.
Trigger a test delivery to a webhook you have already configured, so you can confirm your endpoint receives events and verifies signatures correctly before relying on it in production.
POST /v2/projects/ {project_id} /integrations/webhooks/ {webhook_id} /test CopyTry it Authorization Bearer Token Required
Requires the webhooks:test permission.
Path Parameters The unique identifier of the project.
The unique identifier of the webhook to test.
Request Body Event name in domain.action format, e.g. payment-request.completed. Defaults to webhook.test when omitted.
curl -X POST "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/integrations/webhooks/22222222-2222-2222-2222-222222222222/test" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"event": "payment-request.completed"
}' const project_id = 'YOUR_PROJECT_ID' ;
const webhook_id = '22222222-2222-2222-2222-222222222222' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/integrations/webhooks/${ webhook_id }/test` , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer YOUR_TOKEN' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
event: 'payment-request.completed'
})
});
const data = await response. json (); import requests
project_id = 'YOUR_PROJECT_ID'
webhook_id = '22222222-2222-2222-2222-222222222222'
response = requests.post(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /integrations/webhooks/ { webhook_id } /test' ,
headers = { 'Authorization' : 'Bearer YOUR_TOKEN' },
json = { 'event' : 'payment-request.completed' }
)
data = response.json() $project_id = 'YOUR_PROJECT_ID' ;
$webhook_id = '22222222-2222-2222-2222-222222222222' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/integrations/webhooks/{ $webhook_id }/test" );
curl_setopt ($ch, CURLOPT_POST , true );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [
'Authorization: Bearer YOUR_TOKEN' ,
'Content-Type: application/json'
]);
curl_setopt ($ch, CURLOPT_POSTFIELDS , json_encode ([ 'event' => 'payment-request.completed' ]));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Test webhook scheduled application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "POST" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/integrations/webhooks/22222222-2222-2222-2222-222222222222/test" ,
"code" : 201 ,
"message" : "Test webhook initiated" ,
"data" : {
"status" : "scheduled" ,
"webhook_id" : "22222222-2222-2222-2222-222222222222" ,
"event" : "payment-request.completed"
}
} Webhook not found application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "POST" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/integrations/webhooks/22222222-2222-2222-2222-222222222222/test" ,
"code" : 404 ,
"error" : {
"error_code" : "NOT_FOUND" ,
"message" : "Webhook not found"
}
} A 201 confirms the test event was scheduled for delivery, not that your endpoint received it. Check your endpoint logs, and verify the signature the same way you would for a real event—see the signature verification guide .
Last updated: August 31, 2026
PreviousCreate Webhook Next Delete Webhook