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.
Change a target's display name on its own, without sending the rest of its configuration. Use this instead of Update Target when a rename is the only change you need to make.
PATCH /v2/projects/ {project_id} /targets/ {target_id} /name 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 internal target ID (UUID).
Request Body New display name for the target. 1-100 characters; leading and trailing whitespace is trimmed.
A successful rename returns total: 1, a message, and the updated target object in data.
Response Metadata Optional parent target UUID; null when there is no parent.
Optional nonnegative participant count.
Optional target origin: manual or auto-discovered.
Optional discovery time as a UTC ISO 8601 timestamp, or null when no discovery time is recorded.
curl -X PATCH "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/targets/11111111-1111-1111-1111-111111111111/name" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_name": "VIP Members"
}' const project_id = 'YOUR_PROJECT_ID' ;
const target_id = '11111111-1111-1111-1111-111111111111' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/targets/${ target_id }/name` , {
method: 'PATCH' ,
headers: {
'Authorization' : 'Bearer YOUR_API_KEY' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
target_name: 'VIP Members'
})
});
const data = await response. json (); import requests
project_id = 'YOUR_PROJECT_ID'
target_id = '11111111-1111-1111-1111-111111111111'
response = requests.patch(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /targets/ { target_id } /name' ,
headers = {
'Authorization' : 'Bearer YOUR_API_KEY' ,
'Content-Type' : 'application/json'
},
json = {
'target_name' : 'VIP Members'
}
)
data = response.json() $project_id = 'YOUR_PROJECT_ID' ;
$target_id = '11111111-1111-1111-1111-111111111111' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/targets/{ $target_id }/name" );
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST , 'PATCH' );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [
'Authorization: Bearer YOUR_API_KEY' ,
'Content-Type: application/json'
]);
curl_setopt ($ch, CURLOPT_POSTFIELDS , json_encode ([
'target_name' => 'VIP Members'
]));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Target renamed application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "PATCH" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/targets/11111111-1111-1111-1111-111111111111/name" ,
"code" : 200 ,
"total" : 1 ,
"message" : "Successfully updated 1 target(s)" ,
"data" : {
"target_id" : "11111111-1111-1111-1111-111111111111" ,
"target_name" : "VIP Members" ,
"platform" : "discord" ,
"kind" : "role" ,
"external_id" : "123456789012345678" ,
"is_enabled" : true ,
"plan_count" : 0 ,
"parent_target_id" : null ,
"participant_count" : 0 ,
"origin" : "manual" ,
"discovered_at" : null
}
} Target not found application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "PATCH" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/targets/11111111-1111-1111-1111-111111111111/name" ,
"code" : 404 ,
"error" : {
"error_code" : "NOT_FOUND" ,
"message" : "Target not found"
}
} Invalid or expired API key application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "PATCH" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/targets/22222222-2222-4222-8222-222222222222/name" ,
"code" : 401 ,
"error" : {
"message" : "Invalid or expired authentication token." ,
"error_code" : "UNAUTHORIZED"
}
} Empty target name application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "PATCH" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/targets/22222222-2222-4222-8222-222222222222/name" ,
"code" : 422 ,
"errors" : [
{
"message" : "body.target_name: Target name must not be empty." ,
"error_code" : "VALIDATION_ERROR"
}
]
} Last updated: November 4, 2026
PreviousUpdate Target Next Delete Target