Update team
curl --request PATCH \
--url https://neo.api.projectdiscovery.io/api/v1/teams \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"auto_join_enabled": true,
"branding": {
"logo_url": "<string>",
"name": "<string>",
"tagline": "<string>"
},
"name": "<string>",
"webhook_secret_name": "<string>",
"webhook_url": "<string>"
}
'import requests
url = "https://neo.api.projectdiscovery.io/api/v1/teams"
payload = {
"auto_join_enabled": True,
"branding": {
"logo_url": "<string>",
"name": "<string>",
"tagline": "<string>"
},
"name": "<string>",
"webhook_secret_name": "<string>",
"webhook_url": "<string>"
}
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({
auto_join_enabled: true,
branding: {logo_url: '<string>', name: '<string>', tagline: '<string>'},
name: '<string>',
webhook_secret_name: '<string>',
webhook_url: '<string>'
})
};
fetch('https://neo.api.projectdiscovery.io/api/v1/teams', 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://neo.api.projectdiscovery.io/api/v1/teams",
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([
'auto_join_enabled' => true,
'branding' => [
'logo_url' => '<string>',
'name' => '<string>',
'tagline' => '<string>'
],
'name' => '<string>',
'webhook_secret_name' => '<string>',
'webhook_url' => '<string>'
]),
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://neo.api.projectdiscovery.io/api/v1/teams"
payload := strings.NewReader("{\n \"auto_join_enabled\": true,\n \"branding\": {\n \"logo_url\": \"<string>\",\n \"name\": \"<string>\",\n \"tagline\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"webhook_secret_name\": \"<string>\",\n \"webhook_url\": \"<string>\"\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://neo.api.projectdiscovery.io/api/v1/teams")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"auto_join_enabled\": true,\n \"branding\": {\n \"logo_url\": \"<string>\",\n \"name\": \"<string>\",\n \"tagline\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"webhook_secret_name\": \"<string>\",\n \"webhook_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://neo.api.projectdiscovery.io/api/v1/teams")
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 \"auto_join_enabled\": true,\n \"branding\": {\n \"logo_url\": \"<string>\",\n \"name\": \"<string>\",\n \"tagline\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"webhook_secret_name\": \"<string>\",\n \"webhook_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"team": {
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"max_members": 2,
"member_count": 1,
"name": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"auto_join_enabled": true,
"branding": {
"logo_url": "<string>",
"name": "<string>",
"tagline": "<string>"
},
"default_spending_cap_credits": 123,
"is_domain_verified": true,
"webhook_secret_name": "<string>",
"webhook_url": "<string>"
}
}{
"error": "Bad request",
"code": "user_spending_cap_reached",
"error_id": "<string>",
"kind": "forbidden request",
"message": "<string>"
}{
"error": "Bad request",
"code": "user_spending_cap_reached",
"error_id": "<string>",
"kind": "forbidden request",
"message": "<string>"
}Teams
Update team
Update team settings. Team admins only.
PATCH
/
api
/
v1
/
teams
Update team
curl --request PATCH \
--url https://neo.api.projectdiscovery.io/api/v1/teams \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"auto_join_enabled": true,
"branding": {
"logo_url": "<string>",
"name": "<string>",
"tagline": "<string>"
},
"name": "<string>",
"webhook_secret_name": "<string>",
"webhook_url": "<string>"
}
'import requests
url = "https://neo.api.projectdiscovery.io/api/v1/teams"
payload = {
"auto_join_enabled": True,
"branding": {
"logo_url": "<string>",
"name": "<string>",
"tagline": "<string>"
},
"name": "<string>",
"webhook_secret_name": "<string>",
"webhook_url": "<string>"
}
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({
auto_join_enabled: true,
branding: {logo_url: '<string>', name: '<string>', tagline: '<string>'},
name: '<string>',
webhook_secret_name: '<string>',
webhook_url: '<string>'
})
};
fetch('https://neo.api.projectdiscovery.io/api/v1/teams', 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://neo.api.projectdiscovery.io/api/v1/teams",
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([
'auto_join_enabled' => true,
'branding' => [
'logo_url' => '<string>',
'name' => '<string>',
'tagline' => '<string>'
],
'name' => '<string>',
'webhook_secret_name' => '<string>',
'webhook_url' => '<string>'
]),
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://neo.api.projectdiscovery.io/api/v1/teams"
payload := strings.NewReader("{\n \"auto_join_enabled\": true,\n \"branding\": {\n \"logo_url\": \"<string>\",\n \"name\": \"<string>\",\n \"tagline\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"webhook_secret_name\": \"<string>\",\n \"webhook_url\": \"<string>\"\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://neo.api.projectdiscovery.io/api/v1/teams")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"auto_join_enabled\": true,\n \"branding\": {\n \"logo_url\": \"<string>\",\n \"name\": \"<string>\",\n \"tagline\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"webhook_secret_name\": \"<string>\",\n \"webhook_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://neo.api.projectdiscovery.io/api/v1/teams")
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 \"auto_join_enabled\": true,\n \"branding\": {\n \"logo_url\": \"<string>\",\n \"name\": \"<string>\",\n \"tagline\": \"<string>\"\n },\n \"name\": \"<string>\",\n \"webhook_secret_name\": \"<string>\",\n \"webhook_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"team": {
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"max_members": 2,
"member_count": 1,
"name": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"auto_join_enabled": true,
"branding": {
"logo_url": "<string>",
"name": "<string>",
"tagline": "<string>"
},
"default_spending_cap_credits": 123,
"is_domain_verified": true,
"webhook_secret_name": "<string>",
"webhook_url": "<string>"
}
}{
"error": "Bad request",
"code": "user_spending_cap_reached",
"error_id": "<string>",
"kind": "forbidden request",
"message": "<string>"
}{
"error": "Bad request",
"code": "user_spending_cap_reached",
"error_id": "<string>",
"kind": "forbidden request",
"message": "<string>"
}Authorizations
BearerAuthApiKeyAuth
JWT authentication token
Body
application/json
Enable auto-join for users with matching email domain
Optional brand overrides for Canvas PDF exports. Replace-not-merge: sending this field swaps the entire sub-object so callers can never accidentally retain a stale field. Send branding: {} to clear all branding and revert PDFs to the default neo by Projectdiscovery wordmark. Omit the field to leave whatever is stored alone.
Show child attributes
Show child attributes
New team name
Required string length:
1 - 128Name of a team owner secret used as a Bearer token when calling the webhook. Pass an empty string to clear.
Webhook URL for webhook-mode task completion notifications. Pass an empty string to clear.
Response
Team updated
Show child attributes
Show child attributes
⌘I

