import { SyllableSDK } from "syllable-sdk";
const syllableSDK = new SyllableSDK({
apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});
async function run() {
const result = await syllableSDK.v1.create({
email: "user@syllable.ai",
firstName: "Jane",
lastName: "Smith",
roleId: 1,
loginType: "username_and_password",
});
console.log(result);
}
run();import os
from syllable_sdk import SyllableSDK, models
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.v1.create(request={
"email": "user@syllable.ai",
"first_name": "Jane",
"last_name": "Smith",
"role_id": 1,
"login_type": models.LoginType.USERNAME_AND_PASSWORD,
})
# Handle response
print(res)curl --request POST \
--url https://api.syllable.cloud/api/v1/users/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"email": "user@syllable.ai",
"role_id": 1,
"first_name": "Jane",
"last_name": "Smith",
"utm": {
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>"
},
"login_type": "username_and_password",
"skip_auth": false
}
'const options = {
method: 'POST',
headers: {'Syllable-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'user@syllable.ai',
role_id: 1,
first_name: 'Jane',
last_name: 'Smith',
utm: {
utm_source: '<string>',
utm_medium: '<string>',
utm_campaign: '<string>',
utm_term: '<string>',
utm_content: '<string>'
},
login_type: 'username_and_password',
skip_auth: false
})
};
fetch('https://api.syllable.cloud/api/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.syllable.cloud/api/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' => 'user@syllable.ai',
'role_id' => 1,
'first_name' => 'Jane',
'last_name' => 'Smith',
'utm' => [
'utm_source' => '<string>',
'utm_medium' => '<string>',
'utm_campaign' => '<string>',
'utm_term' => '<string>',
'utm_content' => '<string>'
],
'login_type' => 'username_and_password',
'skip_auth' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Syllable-API-Key: <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://api.syllable.cloud/api/v1/users/"
payload := strings.NewReader("{\n \"email\": \"user@syllable.ai\",\n \"role_id\": 1,\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"utm\": {\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\"\n },\n \"login_type\": \"username_and_password\",\n \"skip_auth\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Syllable-API-Key", "<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://api.syllable.cloud/api/v1/users/")
.header("Syllable-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"user@syllable.ai\",\n \"role_id\": 1,\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"utm\": {\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\"\n },\n \"login_type\": \"username_and_password\",\n \"skip_auth\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syllable.cloud/api/v1/users/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Syllable-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"user@syllable.ai\",\n \"role_id\": 1,\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"utm\": {\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\"\n },\n \"login_type\": \"username_and_password\",\n \"skip_auth\": false\n}"
response = http.request(request)
puts response.read_body{
"email": "user@syllable.ai",
"role_id": 1,
"id": 1,
"role_name": "Admin",
"email_sent": true,
"activity_status": "invited",
"last_updated": "2023-11-07T05:31:56Z",
"first_name": "Jane",
"last_name": "Smith",
"utm": {
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>"
},
"last_updated_comments": "Updated to change which role was assigned",
"last_updated_by": "admin@email.com",
"last_session_at": "2025-01-01T12:00:00Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Create User
Create a new user.
import { SyllableSDK } from "syllable-sdk";
const syllableSDK = new SyllableSDK({
apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});
async function run() {
const result = await syllableSDK.v1.create({
email: "user@syllable.ai",
firstName: "Jane",
lastName: "Smith",
roleId: 1,
loginType: "username_and_password",
});
console.log(result);
}
run();import os
from syllable_sdk import SyllableSDK, models
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.v1.create(request={
"email": "user@syllable.ai",
"first_name": "Jane",
"last_name": "Smith",
"role_id": 1,
"login_type": models.LoginType.USERNAME_AND_PASSWORD,
})
# Handle response
print(res)curl --request POST \
--url https://api.syllable.cloud/api/v1/users/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"email": "user@syllable.ai",
"role_id": 1,
"first_name": "Jane",
"last_name": "Smith",
"utm": {
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>"
},
"login_type": "username_and_password",
"skip_auth": false
}
'const options = {
method: 'POST',
headers: {'Syllable-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'user@syllable.ai',
role_id: 1,
first_name: 'Jane',
last_name: 'Smith',
utm: {
utm_source: '<string>',
utm_medium: '<string>',
utm_campaign: '<string>',
utm_term: '<string>',
utm_content: '<string>'
},
login_type: 'username_and_password',
skip_auth: false
})
};
fetch('https://api.syllable.cloud/api/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.syllable.cloud/api/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' => 'user@syllable.ai',
'role_id' => 1,
'first_name' => 'Jane',
'last_name' => 'Smith',
'utm' => [
'utm_source' => '<string>',
'utm_medium' => '<string>',
'utm_campaign' => '<string>',
'utm_term' => '<string>',
'utm_content' => '<string>'
],
'login_type' => 'username_and_password',
'skip_auth' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Syllable-API-Key: <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://api.syllable.cloud/api/v1/users/"
payload := strings.NewReader("{\n \"email\": \"user@syllable.ai\",\n \"role_id\": 1,\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"utm\": {\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\"\n },\n \"login_type\": \"username_and_password\",\n \"skip_auth\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Syllable-API-Key", "<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://api.syllable.cloud/api/v1/users/")
.header("Syllable-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"user@syllable.ai\",\n \"role_id\": 1,\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"utm\": {\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\"\n },\n \"login_type\": \"username_and_password\",\n \"skip_auth\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syllable.cloud/api/v1/users/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Syllable-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"user@syllable.ai\",\n \"role_id\": 1,\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"utm\": {\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\"\n },\n \"login_type\": \"username_and_password\",\n \"skip_auth\": false\n}"
response = http.request(request)
puts response.read_body{
"email": "user@syllable.ai",
"role_id": 1,
"id": 1,
"role_name": "Admin",
"email_sent": true,
"activity_status": "invited",
"last_updated": "2023-11-07T05:31:56Z",
"first_name": "Jane",
"last_name": "Smith",
"utm": {
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>"
},
"last_updated_comments": "Updated to change which role was assigned",
"last_updated_by": "admin@email.com",
"last_session_at": "2025-01-01T12:00:00Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Body
Request model to create a user.
Email address of the user
"user@syllable.ai"
ID of the role assigned to the user
1
First name of the user
"Jane"
Last name of the user
"Smith"
Optional UTM campaign attribution to record in user_metadata.
Show child attributes
Show child attributes
The type of login to use for the user. If not provided, defaults to google for @gmail.com email addresses, and username and password otherwise.
google, username_and_password "username_and_password"
Whether to skip authentication for the user.
Response
Successful Response
Information about a user.
Email address of the user
"user@syllable.ai"
ID of the role assigned to the user
1
Internal ID of the user
1
Name of the role assigned to the user
"Admin"
Whether the welcome email has been sent to the user
true
The activity status of the user
not_invited, invited, active "invited"
The timestamp of the most recent update to the user
First name of the user
"Jane"
Last name of the user
"Smith"
Optional UTM campaign attribution to record in user_metadata.
Show child attributes
Show child attributes
Comments for the most recent edit to the user.
"Updated to change which role was assigned"
The email address of the user who last updated the user
"admin@email.com"
The timestamp of the user's last session
"2025-01-01T12:00:00Z"

