Delete Team
curl --request DELETE \
--url https://api.projectdiscovery.io/v1/user/team \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"team_id": "<string>"
}
'import requests
url = "https://api.projectdiscovery.io/v1/user/team"
payload = { "team_id": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({team_id: '<string>'})
};
fetch('https://api.projectdiscovery.io/v1/user/team', 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://api.projectdiscovery.io/v1/user/team",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'team_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.projectdiscovery.io/v1/user/team"
payload := strings.NewReader("{\n \"team_id\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.delete("https://api.projectdiscovery.io/v1/user/team")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"team_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.projectdiscovery.io/v1/user/team")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"team_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"kind": "<string>",
"code": "<string>",
"error": "<string>",
"error_id": "<string>",
"param": "<string>",
"status": 123
}Users & Authentication
Delete Team
Delete team (require 0 members)
DELETE
/
v1
/
user
/
team
Delete Team
curl --request DELETE \
--url https://api.projectdiscovery.io/v1/user/team \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"team_id": "<string>"
}
'import requests
url = "https://api.projectdiscovery.io/v1/user/team"
payload = { "team_id": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({team_id: '<string>'})
};
fetch('https://api.projectdiscovery.io/v1/user/team', 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://api.projectdiscovery.io/v1/user/team",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'team_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.projectdiscovery.io/v1/user/team"
payload := strings.NewReader("{\n \"team_id\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.delete("https://api.projectdiscovery.io/v1/user/team")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"team_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.projectdiscovery.io/v1/user/team")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"team_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"kind": "<string>",
"code": "<string>",
"error": "<string>",
"error_id": "<string>",
"param": "<string>",
"status": 123
}Permanently delete a team workspace from ProjectDiscovery Cloud Platform. This is a destructive operation that removes all team data, including scans, assets, vulnerabilities, and configurations.
⚠️ Critical Information
This operation is irreversible! Once a team is deleted, all associated data including scans, assets, vulnerabilities, templates, and configurations will be permanently removed and cannot be recovered.
Disclaimer
- Only the team owner can delete a team
- Understand that all team data will be lost permanently
Use Cases
- Workspace Cleanup: Remove unused or test workspaces
- Organization Restructuring: Delete deprecated teams during reorganization
- Compliance: Remove teams as part of data retention policies
- Resource Management: Clean up temporary or project-specific workspaces
What Gets Deleted
When you delete a team, the following data is permanently removed:- All vulnerability scans and results
- All discovered assets and enumeration data
- All custom templates and configurations
- All team settings and preferences
- All scan histories and logs
- All team-specific integrations
If you need to preserve any team data, make sure to export it before deletion. There is no way to recover deleted team data.
Authorizations
Headers
Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team
Body
application/json
Response
OK
Was this page helpful?