Revoke a team granted role
curl --request DELETE \
--url https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}', 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://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/unauthorized",
"code": "unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Missing or invalid bearer token."
}
]
}{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/forbidden",
"code": "forbidden",
"title": "Forbidden",
"status": 403,
"detail": "Teams are not available for your organization."
}
]
}{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/not_found",
"code": "not_found",
"title": "Not found",
"status": 404,
"detail": "The requested resource could not be found."
}
]
}{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/validation_error",
"code": "validation_error",
"title": "Validation error",
"status": 422,
"detail": "Roles cannot be changed on a CrewAI-managed team"
}
]
}Teams
Revoke a team granted role
Revokes an active role granted to a customer-owned team in the organization associated with the authenticated service account. CrewAI-managed teams reject a role change. The granted role stays in the platform for audit purposes, so this does not delete it. Later requests for it return not found.
The authenticated service account must hold the
organizations:manage_identity_and_access permission. Without it the request
is forbidden, whether or not the requested team exists.
DELETE
/
api
/
v1
/
teams
/
{team_id}
/
granted-roles
/
{id}
Revoke a team granted role
curl --request DELETE \
--url https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}', 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://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.crewai.com/api/v1/teams/{team_id}/granted-roles/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/unauthorized",
"code": "unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Missing or invalid bearer token."
}
]
}{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/forbidden",
"code": "forbidden",
"title": "Forbidden",
"status": 403,
"detail": "Teams are not available for your organization."
}
]
}{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/not_found",
"code": "not_found",
"title": "Not found",
"status": 404,
"detail": "The requested resource could not be found."
}
]
}{
"errors": [
{
"type": "https://docs-platform.crewai.com/api/problems/validation_error",
"code": "validation_error",
"title": "Validation error",
"status": 422,
"detail": "Roles cannot be changed on a CrewAI-managed team"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Example:
"4f6d0d9a-7b78-4c6a-b64f-2e2e3d2c8f9a"
Example:
"4f6d0d9a-7b78-4c6a-b64f-2e2e3d2c8f9a"
Response
No Content
