curl --request POST \
--url https://api.steuerboard.com/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-client-id: <x-client-id>' \
--data '
{
"email": "frida@example.com",
"workspaceIds": [
"cmf41ajzv003706un4i99q19z"
]
}
'import requests
url = "https://api.steuerboard.com/v1/users"
payload = {
"email": "frida@example.com",
"workspaceIds": ["cmf41ajzv003706un4i99q19z"]
}
headers = {
"x-client-id": "<x-client-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<x-client-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: 'frida@example.com', workspaceIds: ['cmf41ajzv003706un4i99q19z']})
};
fetch('https://api.steuerboard.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.steuerboard.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' => 'frida@example.com',
'workspaceIds' => [
'cmf41ajzv003706un4i99q19z'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-client-id: <x-client-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.steuerboard.com/v1/users"
payload := strings.NewReader("{\n \"email\": \"frida@example.com\",\n \"workspaceIds\": [\n \"cmf41ajzv003706un4i99q19z\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<x-client-id>")
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.steuerboard.com/v1/users")
.header("x-client-id", "<x-client-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"frida@example.com\",\n \"workspaceIds\": [\n \"cmf41ajzv003706un4i99q19z\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.steuerboard.com/v1/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<x-client-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"frida@example.com\",\n \"workspaceIds\": [\n \"cmf41ajzv003706un4i99q19z\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "cmf41ajzv003706un4i99q1a0",
"createdAt": "2024-05-14T08:30:00Z",
"email": "frida@example.com",
"firstName": "Frida",
"lastName": "Meyer",
"roles": [
"client_admin"
]
}{
"type": "bad_request",
"message": "<string>"
}{
"status_code": 401,
"type": "auth_error",
"code": "unauthorized",
"message": "<string>"
}{
"type": "auth_error",
"message": "<string>"
}{
"status_code": 404,
"type": "not_found",
"code": "not_found",
"message": "<string>"
}{
"status_code": 409,
"type": "conflict",
"code": "conflict",
"message": "<string>"
}{
"success": false,
"error": {
"name": "ZodError",
"issues": [
{
"code": "invalid_type",
"path": [
"email"
],
"message": "Required"
},
{
"code": "invalid_type",
"path": [
"role"
],
"message": "Required"
}
]
}
}{
"status_code": 429,
"type": "rate_limit",
"code": "too_many_requests",
"message": "<string>"
}This response has no body data.Invite a user
Invites a new client user and returns the created record.
curl --request POST \
--url https://api.steuerboard.com/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-client-id: <x-client-id>' \
--data '
{
"email": "frida@example.com",
"workspaceIds": [
"cmf41ajzv003706un4i99q19z"
]
}
'import requests
url = "https://api.steuerboard.com/v1/users"
payload = {
"email": "frida@example.com",
"workspaceIds": ["cmf41ajzv003706un4i99q19z"]
}
headers = {
"x-client-id": "<x-client-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<x-client-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: 'frida@example.com', workspaceIds: ['cmf41ajzv003706un4i99q19z']})
};
fetch('https://api.steuerboard.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.steuerboard.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' => 'frida@example.com',
'workspaceIds' => [
'cmf41ajzv003706un4i99q19z'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-client-id: <x-client-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.steuerboard.com/v1/users"
payload := strings.NewReader("{\n \"email\": \"frida@example.com\",\n \"workspaceIds\": [\n \"cmf41ajzv003706un4i99q19z\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<x-client-id>")
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.steuerboard.com/v1/users")
.header("x-client-id", "<x-client-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"frida@example.com\",\n \"workspaceIds\": [\n \"cmf41ajzv003706un4i99q19z\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.steuerboard.com/v1/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<x-client-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"frida@example.com\",\n \"workspaceIds\": [\n \"cmf41ajzv003706un4i99q19z\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "cmf41ajzv003706un4i99q1a0",
"createdAt": "2024-05-14T08:30:00Z",
"email": "frida@example.com",
"firstName": "Frida",
"lastName": "Meyer",
"roles": [
"client_admin"
]
}{
"type": "bad_request",
"message": "<string>"
}{
"status_code": 401,
"type": "auth_error",
"code": "unauthorized",
"message": "<string>"
}{
"type": "auth_error",
"message": "<string>"
}{
"status_code": 404,
"type": "not_found",
"code": "not_found",
"message": "<string>"
}{
"status_code": 409,
"type": "conflict",
"code": "conflict",
"message": "<string>"
}{
"success": false,
"error": {
"name": "ZodError",
"issues": [
{
"code": "invalid_type",
"path": [
"email"
],
"message": "Required"
},
{
"code": "invalid_type",
"path": [
"role"
],
"message": "Required"
}
]
}
}{
"status_code": 429,
"type": "rate_limit",
"code": "too_many_requests",
"message": "<string>"
}This response has no body data.Authorizations
Bearer token authentication
Headers
The ID of the client
"cmf41ajzv003706un4i99q19z"
Body
User invite
Email address that should receive the invitation.
"frida@example.com"
Role to assign to the invited user. Can be 'admin', 'user'.
admin, user "admin"
"user"
Optional list of workspace IDs the user should join immediately.
Workspace identifier the user should be granted access to.
Response
User invited
Identifier of the client user.
"cmf41ajzv003706un4i99q1a0"
The date and time when the client user record was created. ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ).
"2024-05-14T08:30:00Z"
Email address of the client user.
"frida@example.com"
First name of the client user, if provided.
"Frida"
Last name of the client user, if provided.
"Meyer"
List of role names assigned to the user.
Role name assigned to the user.