Delete Default Team Members
curl --request DELETE \
--url https://api.projectdiscovery.io/v1/user/team/default-members \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--header 'X-Team-Id: <x-team-id>' \
--data '
{
"email": "<string>"
}
'import requests
url = "https://api.projectdiscovery.io/v1/user/team/default-members"
payload = { "email": "<string>" }
headers = {
"X-Team-Id": "<x-team-id>",
"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-Team-Id': '<x-team-id>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: '<string>'})
};
fetch('https://api.projectdiscovery.io/v1/user/team/default-members', 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/default-members",
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([
'email' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>",
"X-Team-Id: <x-team-id>"
],
]);
$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/default-members"
payload := strings.NewReader("{\n \"email\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("X-Team-Id", "<x-team-id>")
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/default-members")
.header("X-Team-Id", "<x-team-id>")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.projectdiscovery.io/v1/user/team/default-members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-Team-Id"] = '<x-team-id>'
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"kind": "<string>",
"code": "<string>",
"error": "<string>",
"error_id": "<string>",
"param": "<string>",
"status": 123
}Users & Authentication
Delete Default Team Members
Delete default team members (specific or all)
DELETE
/
v1
/
user
/
team
/
default-members
Delete Default Team Members
curl --request DELETE \
--url https://api.projectdiscovery.io/v1/user/team/default-members \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--header 'X-Team-Id: <x-team-id>' \
--data '
{
"email": "<string>"
}
'import requests
url = "https://api.projectdiscovery.io/v1/user/team/default-members"
payload = { "email": "<string>" }
headers = {
"X-Team-Id": "<x-team-id>",
"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-Team-Id': '<x-team-id>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: '<string>'})
};
fetch('https://api.projectdiscovery.io/v1/user/team/default-members', 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/default-members",
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([
'email' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>",
"X-Team-Id: <x-team-id>"
],
]);
$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/default-members"
payload := strings.NewReader("{\n \"email\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("X-Team-Id", "<x-team-id>")
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/default-members")
.header("X-Team-Id", "<x-team-id>")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.projectdiscovery.io/v1/user/team/default-members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-Team-Id"] = '<x-team-id>'
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"kind": "<string>",
"code": "<string>",
"error": "<string>",
"error_id": "<string>",
"param": "<string>",
"status": 123
}Remove default team members from your configuration. You can delete a specific member by email or clear all default members at once.
Response:
Response:
How It Works
This endpoint provides two deletion modes:- Specific deletion: Provide an
emailto remove a single default member - Clear all: Send empty body
{}to remove all default members
This only affects future team creation. Existing teams and their members remain unchanged.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
email | string | No | Email of specific member to remove. Omit to remove all |
Examples
Delete Specific Member
curl -X DELETE "https://api.projectdiscovery.io/v1/user/team/default-members" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "X-Team-Id: YOUR_TEAM_ID" \
-d '{ "email": "user@example.com" }'
{
"message": "default team member deleted successfully"
}
Delete All Default Members
curl -X DELETE "https://api.projectdiscovery.io/v1/user/team/default-members" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "X-Team-Id: YOUR_TEAM_ID" \
-d '{}'
{
"message": "default team member deleted successfully"
}
Alternative Approach
Instead of deleting individual members, you can also use the Set Default Team Members endpoint with an updated list, which replaces the entire configuration at once.For bulk updates, using POST to replace the entire list is more efficient than multiple DELETE operations.
Authorization
Only owner or admin of the workspace (identified byX-Team-Id) can delete default members.Authorizations
Headers
Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team
Body
application/json
Email of specific member to remove. Omit to remove all
Response
Example response
Was this page helpful?