SCIM Reference
Create User
Create a new user and assign them a role and a team
POST
/
api
/
scim
/
v2
/
Users
Create User
curl --request POST \
--url https://app.sendoso.com/api/scim/v2/Users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userName": "<string>",
"name": {
"givenName": "<string>",
"familyName": "<string>"
},
"userType": "<string>",
"division": "<string>"
}
'import requests
url = "https://app.sendoso.com/api/scim/v2/Users"
payload = {
"userName": "<string>",
"name": {
"givenName": "<string>",
"familyName": "<string>"
},
"userType": "<string>",
"division": "<string>"
}
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({
userName: '<string>',
name: {givenName: '<string>', familyName: '<string>'},
userType: '<string>',
division: '<string>'
})
};
fetch('https://app.sendoso.com/api/scim/v2/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://app.sendoso.com/api/scim/v2/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([
'userName' => '<string>',
'name' => [
'givenName' => '<string>',
'familyName' => '<string>'
],
'userType' => '<string>',
'division' => '<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://app.sendoso.com/api/scim/v2/Users"
payload := strings.NewReader("{\n \"userName\": \"<string>\",\n \"name\": {\n \"givenName\": \"<string>\",\n \"familyName\": \"<string>\"\n },\n \"userType\": \"<string>\",\n \"division\": \"<string>\"\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://app.sendoso.com/api/scim/v2/Users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userName\": \"<string>\",\n \"name\": {\n \"givenName\": \"<string>\",\n \"familyName\": \"<string>\"\n },\n \"userType\": \"<string>\",\n \"division\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sendoso.com/api/scim/v2/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 \"userName\": \"<string>\",\n \"name\": {\n \"givenName\": \"<string>\",\n \"familyName\": \"<string>\"\n },\n \"userType\": \"<string>\",\n \"division\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
schemas: ["urn:ietf:params:scim:schemas:core:2.0:User"],
id: "1000",
userName: "john.doe@sendoso.com",
active: true,
name: {
givenName: "John",
familyName: "Doe",
},
emails: [
{ value: "john.doe@sendoso.com" },
],
userType: "sender",
division: "Marketing Ops",
}
Body
string
required
The user’s email address
string
required
The user’s role. Values can be
sender, manager, admin.string
required
The user’s team. This value needs to match the exact team group name in Sendoso. See more information to get team group names.
Response
array
required
The SCIM RFC schema for the user resource - always
urn:ietf:params:scim:schemas:core:2.0:Userstring
required
The user’s identifier
string
required
The user’s email address
boolean
required
Whether or not the user is active or not in the Sendoso platform.
array
required
The user’s personal balance
string
required
The user’s role. Values can be
sender, manager, admin.string
required
The user’s team.
{
schemas: ["urn:ietf:params:scim:schemas:core:2.0:User"],
id: "1000",
userName: "john.doe@sendoso.com",
active: true,
name: {
givenName: "John",
familyName: "Doe",
},
emails: [
{ value: "john.doe@sendoso.com" },
],
userType: "sender",
division: "Marketing Ops",
}
⌘I
Create User
curl --request POST \
--url https://app.sendoso.com/api/scim/v2/Users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userName": "<string>",
"name": {
"givenName": "<string>",
"familyName": "<string>"
},
"userType": "<string>",
"division": "<string>"
}
'import requests
url = "https://app.sendoso.com/api/scim/v2/Users"
payload = {
"userName": "<string>",
"name": {
"givenName": "<string>",
"familyName": "<string>"
},
"userType": "<string>",
"division": "<string>"
}
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({
userName: '<string>',
name: {givenName: '<string>', familyName: '<string>'},
userType: '<string>',
division: '<string>'
})
};
fetch('https://app.sendoso.com/api/scim/v2/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://app.sendoso.com/api/scim/v2/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([
'userName' => '<string>',
'name' => [
'givenName' => '<string>',
'familyName' => '<string>'
],
'userType' => '<string>',
'division' => '<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://app.sendoso.com/api/scim/v2/Users"
payload := strings.NewReader("{\n \"userName\": \"<string>\",\n \"name\": {\n \"givenName\": \"<string>\",\n \"familyName\": \"<string>\"\n },\n \"userType\": \"<string>\",\n \"division\": \"<string>\"\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://app.sendoso.com/api/scim/v2/Users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userName\": \"<string>\",\n \"name\": {\n \"givenName\": \"<string>\",\n \"familyName\": \"<string>\"\n },\n \"userType\": \"<string>\",\n \"division\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sendoso.com/api/scim/v2/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 \"userName\": \"<string>\",\n \"name\": {\n \"givenName\": \"<string>\",\n \"familyName\": \"<string>\"\n },\n \"userType\": \"<string>\",\n \"division\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
schemas: ["urn:ietf:params:scim:schemas:core:2.0:User"],
id: "1000",
userName: "john.doe@sendoso.com",
active: true,
name: {
givenName: "John",
familyName: "Doe",
},
emails: [
{ value: "john.doe@sendoso.com" },
],
userType: "sender",
division: "Marketing Ops",
}