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.
Archive a subscription plan so it no longer appears in the public plan inventory or accepts new purchases. The API refuses deletion while the plan has active memberships or active/paused subscriptions. Historical payment and plan records remain; deletion does not erase them.
Allow memberships to expire or explicitly terminate the relevant memberships and subscriptions before deleting their plan. An outstanding paid access grant can also prevent archival until recovery completes.
DELETE /v2/projects/ {project_id} /plans/ {plan_id} CopyTry it Authorization Bearer API Key Required
API key access: Unrestricted project API key required. Restricted keys cannot call this endpoint.
Path Parameters The unique identifier of the project.
The unique identifier of the plan to delete.
curl -X DELETE "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/plans/YOUR_PLAN_ID" \
-H "Authorization: Bearer YOUR_API_KEY" const project_id = 'YOUR_PROJECT_ID' ;
const plan_id = 'YOUR_PLAN_ID' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/plans/${ plan_id }` , {
method: 'DELETE' ,
headers: {
'Authorization' : 'Bearer YOUR_API_KEY'
}
});
// Returns 204 No Content on success import requests
project_id = 'YOUR_PROJECT_ID'
plan_id = 'YOUR_PLAN_ID'
response = requests.delete(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /plans/ { plan_id } ' ,
headers = { 'Authorization' : 'Bearer YOUR_API_KEY' }
)
# Returns 204 No Content on success $project_id = 'YOUR_PROJECT_ID' ;
$plan_id = 'YOUR_PLAN_ID' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/plans/{ $plan_id }" );
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST , ' DELETE ' );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [ 'Authorization: Bearer YOUR_API_KEY' ]);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch);
// Returns 204 No Content on success Plan deleted application/json
No content is returned on successful deletion.
Plan not found application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "DELETE" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/plans/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa" ,
"code" : 404 ,
"error" : {
"error_code" : "NOT_FOUND" ,
"message" : "Plan not found"
}
} Invalid or expired API key application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "DELETE" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/plans/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa" ,
"code" : 401 ,
"error" : {
"message" : "Invalid or expired authentication token." ,
"error_code" : "UNAUTHORIZED"
}
} Plan still has active memberships application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "DELETE" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/plans/22222222-2222-4222-8222-222222222222" ,
"code" : 400 ,
"error" : {
"error_code" : "BAD_REQUEST" ,
"message" : "Cannot delete plan with active memberships"
}
} Last updated: November 4, 2026
PreviousUpdate Plan Next List Memberships