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.
Register a new endpoint to receive real-time event notifications from your subscription bot. When payments complete, memberships change, or other events occur, BotSubscription sends HTTP POST requests to your specified URL with event details and a signature for verification.
POST /v2/projects/ {project_id} /integrations/webhooks CopyTry it Authorization Bearer Token Required
Creating a webhook requires the webhooks:create permission. Each project is capped at 10 webhook endpoints ; the endpoint returns 409 when that limit is reached, and also rejects a second endpoint that reuses an existing URL with 409. The secret is returned only on creation—store it immediately to verify incoming signatures.
Path Parameters The unique identifier of the project.
Request Body The destination URL for webhook events.
curl -X POST "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/integrations/webhooks" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://myapp.com/webhooks/botsubscription"
}' const project_id = 'YOUR_PROJECT_ID' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/integrations/webhooks` , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer YOUR_TOKEN' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
url: 'https://myapp.com/webhooks/botsubscription'
})
});
const data = await response. json (); import requests
project_id = 'YOUR_PROJECT_ID'
response = requests.post(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /integrations/webhooks' ,
headers = { 'Authorization' : 'Bearer YOUR_TOKEN' },
json = { 'url' : 'https://myapp.com/webhooks/botsubscription' }
)
data = response.json() $project_id = 'YOUR_PROJECT_ID' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/integrations/webhooks" );
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 ([
'url' => 'https://myapp.com/webhooks/botsubscription'
]));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Webhook created application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "POST" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/integrations/webhooks" ,
"code" : 201 ,
"message" : "Webhook created successfully" ,
"data" : {
"url" : "https://myapp.com/webhooks/botsubscription" ,
"id" : "22222222-2222-2222-2222-222222222222" ,
"secret" : "a1b2c3d4e5f6..."
}
} Last updated: July 8, 2026
PreviousList Webhooks Next Delete Webhook