Add team members
curl --request POST \
--url https://{your-subdomain}.neetodesk.com/api/external/v1/team_members \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"emails": [
"oliver@example.com",
"jane@example.com"
],
"organization_role": "Standard",
"invited_by": "admin@example.com",
"send_invitation_email": "true"
}
'import requests
url = "https://{your-subdomain}.neetodesk.com/api/external/v1/team_members"
payload = {
"emails": ["oliver@example.com", "jane@example.com"],
"organization_role": "Standard",
"invited_by": "admin@example.com",
"send_invitation_email": "true"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
emails: ['oliver@example.com', 'jane@example.com'],
organization_role: 'Standard',
invited_by: 'admin@example.com',
send_invitation_email: 'true'
})
};
fetch('https://{your-subdomain}.neetodesk.com/api/external/v1/team_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://{your-subdomain}.neetodesk.com/api/external/v1/team_members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'oliver@example.com',
'jane@example.com'
],
'organization_role' => 'Standard',
'invited_by' => 'admin@example.com',
'send_invitation_email' => 'true'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <x-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://{your-subdomain}.neetodesk.com/api/external/v1/team_members"
payload := strings.NewReader("{\n \"emails\": [\n \"oliver@example.com\",\n \"jane@example.com\"\n ],\n \"organization_role\": \"Standard\",\n \"invited_by\": \"admin@example.com\",\n \"send_invitation_email\": \"true\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<x-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.post("https://{your-subdomain}.neetodesk.com/api/external/v1/team_members")
.header("X-Api-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"oliver@example.com\",\n \"jane@example.com\"\n ],\n \"organization_role\": \"Standard\",\n \"invited_by\": \"admin@example.com\",\n \"send_invitation_email\": \"true\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetodesk.com/api/external/v1/team_members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"oliver@example.com\",\n \"jane@example.com\"\n ],\n \"organization_role\": \"Standard\",\n \"invited_by\": \"admin@example.com\",\n \"send_invitation_email\": \"true\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Users added successfully"
}Team Members
Add team members
Adds team members to the workspace.
POST
/
team_members
Add team members
curl --request POST \
--url https://{your-subdomain}.neetodesk.com/api/external/v1/team_members \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"emails": [
"oliver@example.com",
"jane@example.com"
],
"organization_role": "Standard",
"invited_by": "admin@example.com",
"send_invitation_email": "true"
}
'import requests
url = "https://{your-subdomain}.neetodesk.com/api/external/v1/team_members"
payload = {
"emails": ["oliver@example.com", "jane@example.com"],
"organization_role": "Standard",
"invited_by": "admin@example.com",
"send_invitation_email": "true"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
emails: ['oliver@example.com', 'jane@example.com'],
organization_role: 'Standard',
invited_by: 'admin@example.com',
send_invitation_email: 'true'
})
};
fetch('https://{your-subdomain}.neetodesk.com/api/external/v1/team_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://{your-subdomain}.neetodesk.com/api/external/v1/team_members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'oliver@example.com',
'jane@example.com'
],
'organization_role' => 'Standard',
'invited_by' => 'admin@example.com',
'send_invitation_email' => 'true'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <x-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://{your-subdomain}.neetodesk.com/api/external/v1/team_members"
payload := strings.NewReader("{\n \"emails\": [\n \"oliver@example.com\",\n \"jane@example.com\"\n ],\n \"organization_role\": \"Standard\",\n \"invited_by\": \"admin@example.com\",\n \"send_invitation_email\": \"true\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<x-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.post("https://{your-subdomain}.neetodesk.com/api/external/v1/team_members")
.header("X-Api-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"oliver@example.com\",\n \"jane@example.com\"\n ],\n \"organization_role\": \"Standard\",\n \"invited_by\": \"admin@example.com\",\n \"send_invitation_email\": \"true\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetodesk.com/api/external/v1/team_members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"oliver@example.com\",\n \"jane@example.com\"\n ],\n \"organization_role\": \"Standard\",\n \"invited_by\": \"admin@example.com\",\n \"send_invitation_email\": \"true\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Users added successfully"
}Deprecated: This is a v1 endpoint. It will continue to work, but we
recommend migrating to the v2 equivalent for improved REST
compliance (correct HTTP status codes, consistent response envelopes, and
hyphenated URLs).
Replace
Learn how to find your subdomain in Workspace subdomain.
{your-subdomain} with your workspace’s subdomain. Learn how to find your subdomain in Workspace subdomain.
Headers
Use the X-Api-Key header to provide your workspace API key. Refer to Authentication for more information.
Body
application/json
Emails of the team members to be added in the workspace in array format. Must be valid emails.
Example:
["oliver@example.com", "jane@example.com"]Role that should be assigned to the new team members. It must be a valid role from the "Roles" section in the settings page. The default is "Standard".
Example:
"Standard"
Email of the admin sending the invitation. Defaults to the most recent workspace admin if not specified.
Example:
"admin@example.com"
Set to "false" to skip sending invitation emails. Defaults to sending emails if not specified.
Available options:
true, false Response
200 - application/json
OK - Users added successfully
Example:
"Users added successfully"
⌘I