curl --request PATCH \
--url https://console.advinservers.com/api/v1/client/teams/{team}/members/{member} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"role_id": "18f11680-0831-4d41-9d71-824c99009cbf"
}
'import requests
url = "https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}"
payload = { "role_id": "18f11680-0831-4d41-9d71-824c99009cbf" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({role_id: '18f11680-0831-4d41-9d71-824c99009cbf'})
};
fetch('https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'role_id' => '18f11680-0831-4d41-9d71-824c99009cbf'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}"
payload := strings.NewReader("{\n \"role_id\": \"18f11680-0831-4d41-9d71-824c99009cbf\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"role_id\": \"18f11680-0831-4d41-9d71-824c99009cbf\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"role_id\": \"18f11680-0831-4d41-9d71-824c99009cbf\"\n}"
response = http.request(request)
puts response.read_body{
"id": "b80181be-bb65-4aca-9246-e7335f330a34",
"name": "Barney Calhoun",
"email": "barney.calhoun@blackmesa.example.com",
"role": {
"id": "18f11680-0831-4d41-9d71-824c99009cbf",
"name": "Research Associate",
"is_system": false
},
"joined_at": "2026-01-12T17:31:05+00:00",
"created_at": "2026-01-12T17:31:05+00:00",
"gravatar_url": "https://www.gravatar.com/avatar/52fe79725661c25ad4a3f683abc54c3a?s=64&d=404"
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "The name field is required.",
"errors": {}
}{
"message": "Too Many Attempts."
}Change a member's role
Overview
Changes a member’s role and returns the membership. Send a role_id from this team; a role from another team returns 422. Use the membership ID for {member}. Permissions change on the member’s next request. You cannot change your own role or manage a member whose current or new role has more permissions than yours.
Permissions
Requires the account permission teams.manage (Manage teams).
curl --request PATCH \
--url https://console.advinservers.com/api/v1/client/teams/{team}/members/{member} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"role_id": "18f11680-0831-4d41-9d71-824c99009cbf"
}
'import requests
url = "https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}"
payload = { "role_id": "18f11680-0831-4d41-9d71-824c99009cbf" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({role_id: '18f11680-0831-4d41-9d71-824c99009cbf'})
};
fetch('https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'role_id' => '18f11680-0831-4d41-9d71-824c99009cbf'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}"
payload := strings.NewReader("{\n \"role_id\": \"18f11680-0831-4d41-9d71-824c99009cbf\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"role_id\": \"18f11680-0831-4d41-9d71-824c99009cbf\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/teams/{team}/members/{member}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"role_id\": \"18f11680-0831-4d41-9d71-824c99009cbf\"\n}"
response = http.request(request)
puts response.read_body{
"id": "b80181be-bb65-4aca-9246-e7335f330a34",
"name": "Barney Calhoun",
"email": "barney.calhoun@blackmesa.example.com",
"role": {
"id": "18f11680-0831-4d41-9d71-824c99009cbf",
"name": "Research Associate",
"is_system": false
},
"joined_at": "2026-01-12T17:31:05+00:00",
"created_at": "2026-01-12T17:31:05+00:00",
"gravatar_url": "https://www.gravatar.com/avatar/52fe79725661c25ad4a3f683abc54c3a?s=64&d=404"
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "The name field is required.",
"errors": {}
}{
"message": "Too Many Attempts."
}Authorizations
Your API key, sent as a bearer token. Create one in the control panel under API Keys, give it only the permissions the integration needs, and copy it when it is created. It cannot be shown again. Each key is restricted to one owned team. The key determines the team for every request.
Path Parameters
The team UUID
"fbb31f5f-bd6f-4019-a3ed-1062a28f56f7"
The member UUID
"b80181be-bb65-4aca-9246-e7335f330a34"
Body
Send a JSON object containing the fields below. Required fields are marked in the schema.
The role id ID.
36Response
The record, as a JSON object. There is no envelope.
A team member and their assigned role.
The id ID.
"b80181be-bb65-4aca-9246-e7335f330a34"
The name shown to customers.
"Barney Calhoun"
The email address.
"barney.calhoun@blackmesa.example.com"
The value of role.
Show child attributes
Show child attributes
{
"id": "18f11680-0831-4d41-9d71-824c99009cbf",
"name": "Research Associate",
"is_system": false
}
The date and time for joined at, in UTC.
"2026-01-12T17:31:05+00:00"
The date and time for created at, in UTC.
"2026-01-12T17:31:05+00:00"
The value of gravatar_url.
"https://www.gravatar.com/avatar/52fe79725661c25ad4a3f683abc54c3a?s=64&d=404"