Technical Docs
Ask or search…
K

Create User

Creating a user
Use the createUser mutation to create a new account for an end-user on your organization's account.
Anonymization: Kindly be aware that the essential fields for creating a user profile include the name and email. If you prefer a completely anonymous format, you are welcome to provide a generic user name, like "<ORGANIZATION_NAME> User," and a distinct email address, such as "<USER_ID>@<ORGANIZATION_DOMAIN>".

Arguments

Argument
Required
Type
Description
name
True
String
User's name
email
True
String
User's email
phone
False
String
User's phone
password
False
String
Set up a user's password
program
False
String
Include the database ID of the Program. If this parameter is not sent, the program can be later assgined by using the updateUserProgram mutation
restrictions
False
String
Restriction Base-64 ID. If this parameter is not sent, restrictions can be later assigned by using the profileRestrictionsUpdate mutation
emailPasswordNotification
False
Boolean
Notification sent via email to set up a user's password
subscription
False
ID
Base-64 subscription ID which will be assigned to the created user.

Available Fields

The following fields will be displayed in the response:
Field
Type
Description
success
string
True if the user has been created successfully. Otherwise, False
message
string
Description of the result
user
user
A structured version of user information. It contains id and databaseId fields

Examples

GraphQL

Mutation
Response
mutation {
createUser(
name: "Ernesto"
) {
success
message
user {
id
databaseId
}
}
}
{
"data": {
"createUser": {
"success": true,
"message": "User created",
"user": {
"id": "VXNlcjpWWE5sY2pvMk16QXlORE5oTWkxaVl6Rm1MVFEzWkdNdFlqbGtOaTAyTldOak1qa3lOMkZrWW1NPQ==",
"databaseId": "630243a2-bc1f-47dc-b9d6-65cc2927adbc"
}
}
}
}
Include the databaseId information along with the token id in the HTTP HEADERS within the GraphQL playground:
Note: Use the databaseIdin the sg-userheader to start using mutations and queries

cURL Example

curl -X POST "https://api.suggestic.com/users" \
-H "Authorization: Token {partner-token}" \
-d 'name=Pedro'

Python Example

import requests
user = {
"name": "Pedro",
"email": "[email protected]"
}
response = requests.post(
"https://api.suggestic.com/users",
headers={"Authorization": "Token {partner-token}"},
data=user
)
print(response.json())

PHP Example

<?php
$token = 'TOKEN';
$query = <<<'GQL'
mutation createUser($name: String!, $email: String!) {
createUser(name: $name, email: $email) {
success
message
user {
id
}
}
}
GQL;
$variables = array(
'name' => 'Ernesto',
'email' => '[email protected]'
);
$json = json_encode(['query' => $query, 'variables' => $variables]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://production.suggestic.com/graphql',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $json,
CURLOPT_HTTPHEADER => array(
'Authorization: Token ' . $token,
'Content-Type: application/json',
) ,
));
$response = curl_exec($curl);
$result = curl_close($curl);
echo $result;

Setup a user's password

The following example creates a user and sets up the password without sending an email notification.
Request
Response
mutation {
createUser(
name: "userCTest"
password: "F7YTu_ER#$"
program: "01bbd541-939b-4b85-8d90-48ff0b02d0ee"
restrictions: [
"UmVzdHJpY3Rpb246M2ZmZDQ1OGUtMjczZi00MTZmLWE5NjYtNmFkYzliYjQ3OWE1",
"UmVzdHJpY3Rpb246ODU1ZjkzZjYtODQzOC00MTIzLTk3YzktM2U2YzU2MzllZjli"
]
) {
success
message
user {
id
databaseId
profileId
}
}
}
{
"data": {
"createUser": {
"success": true,
"message": "User created",
"user": {
"id": "VXNlcjpWWE5sY2pvNE5USmhNV1ZpTWkwek1EWm1MVFJsWlRFdE9HVmlaUzB4WlROa016WTNNV014TXpFPQ==",
"databaseId": "852a1eb2-306f-4ee1-8ebe-1e3d3671c131",
"profileId": "97e4dd59-46bc-4f50-89b4-cdacbf57f515"
}
}
}
}

Send an email to set up a password

The following example creates a user and sends a password notification to the user's email to set up a password.
Mutation
Response
mutation {
createUser(
name: "Liliana"
email: "[email protected]" emailPasswordNotification: true
) {
success
message
user {
id
databaseId
}
}
}
{
"data": {
"createUser": {
"success": true,
"message": "User created",
"user": {
"id": "VXNlcjpWWE5sY2pwa05EYzFaR0ZpT0MwMFpESXpMVFJqTkRndFlXTTBNUzFsWkRJM1lqTXpZekZtWlRVPQ==",
"databaseId": "d475dab8-4d23-4c48-ac41-ed27b33c1fe5"
}
}
}
}
The following notification will arrive in the user's email:
Click on this link to set up the password, users are redirected to the following page where a new password must be introduced:

Assign a subscription to the user

Request
Response
mutation {
createUser(
name: "userCTest"
program: "01bbd541-939b-4b85-8d90-48ff0b02d0ee"
subscription: "NjI2NzEwNDEtOTI5Yi00MzJlLWJhN2ItMDNjZjFmZWYzZGQ0"
) {
success
message
user {
id
databaseId
profileId
}
}
}
{
"data": {
"createUser": {
"success": true,
"message": "User created",
"user": {
"id": "VXNlcjpWWE5sY2pvNE5USmhNV1ZpTWkwek1EWm1MVFJsWlRFdE9HVmlaUzB4WlROa016WTNNV014TXpFPQ==",
"databaseId": "852a1eb2-306f-4ee1-8ebe-1e3d3671c131",
"profileId": "97e4dd59-46bc-4f50-89b4-cdacbf57f515"
}
}
}
}
The following message is displayed in case the subscription does not exist:
Response
{
"data": {
"createUser": {
"success": false,
"message": "Subscription doesn't exist",
"user": null
}
}
}