Users
Create a new member/admin
Create a new member/admin and grant it access to assessments (if any). Requires admin privileges.
POST
/
v1
/
users
Create a new member/admin
curl --request POST \
--url https://api.synack.com/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"admin": false,
"assessments": [
"<string>"
],
"send_invite": true
}
'import requests
url = "https://api.synack.com/v1/users"
payload = {
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"admin": False,
"assessments": ["<string>"],
"send_invite": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
first_name: '<string>',
last_name: '<string>',
admin: false,
assessments: ['<string>'],
send_invite: true
})
};
fetch('https://api.synack.com/v1/users', 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.synack.com/v1/users",
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([
'email' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'admin' => false,
'assessments' => [
'<string>'
],
'send_invite' => true
]),
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://api.synack.com/v1/users"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"admin\": false,\n \"assessments\": [\n \"<string>\"\n ],\n \"send_invite\": true\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.synack.com/v1/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"admin\": false,\n \"assessments\": [\n \"<string>\"\n ],\n \"send_invite\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.synack.com/v1/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"admin\": false,\n \"assessments\": [\n \"<string>\"\n ],\n \"send_invite\": true\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"email": "<string>",
"assessment_ids": [
"<string>"
],
"banned": true,
"admin": true,
"invite_url": "<string>"
}This response has no body data.This response has no body data.Authorizations
BearerAuthBasicAuthApiKeyAuth
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Request body.
E-mail address for the user
First name of the user
Last name of the user
Flag to indicate whether to grant admin privileges
IDs of assessments to grant user access to
Flag to indicate whether to send the user the invitation URL by e-mail
Response
The newly created user
e-mail address of the user
IDs of assessments the user has access to
boolean flag to indicate whether the user has been banned
boolean flag to indicate whether the user has admin privileges (only visible to admin
invitation URL (only visible to admins)
⌘I
Create a new member/admin
curl --request POST \
--url https://api.synack.com/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"admin": false,
"assessments": [
"<string>"
],
"send_invite": true
}
'import requests
url = "https://api.synack.com/v1/users"
payload = {
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"admin": False,
"assessments": ["<string>"],
"send_invite": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
first_name: '<string>',
last_name: '<string>',
admin: false,
assessments: ['<string>'],
send_invite: true
})
};
fetch('https://api.synack.com/v1/users', 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.synack.com/v1/users",
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([
'email' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'admin' => false,
'assessments' => [
'<string>'
],
'send_invite' => true
]),
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://api.synack.com/v1/users"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"admin\": false,\n \"assessments\": [\n \"<string>\"\n ],\n \"send_invite\": true\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.synack.com/v1/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"admin\": false,\n \"assessments\": [\n \"<string>\"\n ],\n \"send_invite\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.synack.com/v1/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"admin\": false,\n \"assessments\": [\n \"<string>\"\n ],\n \"send_invite\": true\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"email": "<string>",
"assessment_ids": [
"<string>"
],
"banned": true,
"admin": true,
"invite_url": "<string>"
}This response has no body data.This response has no body data.