Change the permissions assigned to an existing administrator. You can expand access by adding new permissions or restrict it by removing them. This replaces the admin's entire permission set with the new array you provide.
PUT /v2/projects/{project_id}/admins/{user_id}Try it Path Parameters The unique identifier of the project.
The unique identifier of the admin user.
Request Body Array of permission strings to grant.
curl -X PUT "https://api.botsubscription.com/v2/projects/f47ac10b-58cc-4372-a567-0e02b2c3d479/admins/user_123456789" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"permissions": ["users:read", "users:write", "plans:read", "plans:write", "memberships:read", "memberships:write"]
}' const project_id = 'f47ac10b-58cc-4372-a567-0e02b2c3d479' ;
const user_id = 'user_123456789' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/admins/${ user_id }` , {
method: 'PUT' ,
headers: {
'Authorization' : 'Bearer YOUR_TOKEN' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
permissions: [ 'users:read' , 'users:write' , 'plans:read' , 'plans:write' , 'memberships:read' , 'memberships:write' ]
})
});
const data = await response. json (); import requests
project_id = 'f47ac10b-58cc-4372-a567-0e02b2c3d479'
user_id = 'user_123456789'
response = requests.put(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /admins/ { user_id } ' ,
headers = {
'Authorization' : 'Bearer YOUR_TOKEN' ,
'Content-Type' : 'application/json'
},
json = {
'permissions' : [ 'users:read' , 'users:write' , 'plans:read' , 'plans:write' , 'memberships:read' , 'memberships:write' ]
}
)
data = response.json() $project_id = 'f47ac10b-58cc-4372-a567-0e02b2c3d479' ;
$user_id = 'user_123456789' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/admins/{ $user_id }" );
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST , 'PUT' );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [
'Authorization: Bearer YOUR_TOKEN' ,
'Content-Type: application/json'
]);
curl_setopt ($ch, CURLOPT_POSTFIELDS , json_encode ([
'permissions' => [ 'users:read' , 'users:write' , 'plans:read' , 'plans:write' , 'memberships:read' , 'memberships:write' ]
]));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Admin updated application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "PUT" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/admins/123456789012345678" ,
"code" : 200 ,
"message" : "Admin updated successfully" ,
"data" : {
"user_id" : "123456789012345678" ,
"user_name" : {
"first_name" : "John" ,
"username" : "john_admin"
},
"permissions" : [
"users:read" ,
"users:update" ,
"plans:read" ,
"plans:add" ,
"memberships:read" ,
"memberships:update"
]
}
} Admin not found application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "PUT" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/admins/123456789012345678" ,
"code" : 404 ,
"error" : {
"error_code" : "NOT_FOUND" ,
"message" : "Admin not found. Add the user as an admin before updating their permissions."
}
} Last updated: January 25, 2026
PreviousAdd Admin Next Delete Admin