curl --request POST \
--url https://api.us.cr4ce.com/user \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"first_name": "<string>",
"last_name": "<string>",
"password": "<string>",
"email": "jsmith@example.com",
"mobile": "<string>",
"roles": [
"<string>"
],
"preferences": {
"broadcast_emails": true,
"notification_emails": true,
"notification_sms": true
},
"user_fields": {}
}
'import requests
url = "https://api.us.cr4ce.com/user"
payload = {
"first_name": "<string>",
"last_name": "<string>",
"password": "<string>",
"email": "jsmith@example.com",
"mobile": "<string>",
"roles": ["<string>"],
"preferences": {
"broadcast_emails": True,
"notification_emails": True,
"notification_sms": True
},
"user_fields": {}
}
headers = {
"Accept": "<accept>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Accept: '<accept>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
first_name: '<string>',
last_name: '<string>',
password: '<string>',
email: 'jsmith@example.com',
mobile: '<string>',
roles: ['<string>'],
preferences: {broadcast_emails: true, notification_emails: true, notification_sms: true},
user_fields: {}
})
};
fetch('https://api.us.cr4ce.com/user', 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.us.cr4ce.com/user",
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([
'first_name' => '<string>',
'last_name' => '<string>',
'password' => '<string>',
'email' => 'jsmith@example.com',
'mobile' => '<string>',
'roles' => [
'<string>'
],
'preferences' => [
'broadcast_emails' => true,
'notification_emails' => true,
'notification_sms' => true
],
'user_fields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"Content-Type: application/json",
"x-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.us.cr4ce.com/user"
payload := strings.NewReader("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"password\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"mobile\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"preferences\": {\n \"broadcast_emails\": true,\n \"notification_emails\": true,\n \"notification_sms\": true\n },\n \"user_fields\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept", "<accept>")
req.Header.Add("x-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.us.cr4ce.com/user")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"password\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"mobile\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"preferences\": {\n \"broadcast_emails\": true,\n \"notification_emails\": true,\n \"notification_sms\": true\n },\n \"user_fields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept"] = '<accept>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"password\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"mobile\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"preferences\": {\n \"broadcast_emails\": true,\n \"notification_emails\": true,\n \"notification_sms\": true\n },\n \"user_fields\": {}\n}"
response = http.request(request)
puts response.read_body{
"analytics_cookies": true,
"broadcast_emails": true,
"comments": "Jane Doe (2025-05-21T15:25:39+00:00): User comment",
"confirmation": "Confirmed",
"confirmed_at": "2018-04-17T00:00:00Z",
"created_at": "2024-06-24T06:34:30Z",
"created_by": "manual",
"email": "jane.doe@example.com",
"first_name": "Jane",
"language": {
"code": "en_GB",
"language": "English (United Kingdom)"
},
"last_name": "Doe",
"marketing_cookies": true,
"mobile": "",
"name": "Jane Doe",
"necessary_cookies": true,
"notification_emails": true,
"notification_sms": true,
"preferences": {
"broadcast_emails": true,
"notification_emails": true,
"notification_sms": true
},
"roles": [
{
"slug": "AbCdEfGh",
"link": "https://api.eu.cr4ce.com/role/AbCdEfGh",
"name": {
"en_GB": "Applicant"
}
},
{
"slug": "CdEfGhIj",
"link": "https://api.eu.cr4ce.com/role/CdEfGhIj",
"name": {
"en_GB": "Program manager"
}
}
],
"slug": "EfGhIjKl",
"social_sharing": true,
"updated": "2026-06-26T07:50:46Z",
"user_fields": [
{
"slug": "GhIjKlMn",
"link": "https://api.eu.cr4ce.com/field/GhIjKlMn",
"label": {
"en_GB": "<p>Title</p>"
},
"title": {
"en_GB": "Title"
},
"value": "Ms",
"translated": {
"en_GB": ""
}
},
{
"slug": "IjKlMnOp",
"link": "https://api.eu.cr4ce.com/field/IjKlMnOp",
"label": {
"en_GB": "<p>user file upload</p>"
},
"title": {
"en_GB": "user file upload"
},
"value": "https://api.eu.cr4ce.com/file/",
"token": "",
"translated": {
"en_GB": ""
}
}
]
}{
"message": "<string>",
"status_code": 400
}{
"message": "<string>",
"status_code": 401
}{
"message": "<string>",
"status_code": 403
}{
"message": "<string>",
"status_code": 422,
"errors": {}
}{
"message": "<string>",
"status_code": 429
}{
"status": "Maintenance in progress"
}Create user
Create a user.
curl --request POST \
--url https://api.us.cr4ce.com/user \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"first_name": "<string>",
"last_name": "<string>",
"password": "<string>",
"email": "jsmith@example.com",
"mobile": "<string>",
"roles": [
"<string>"
],
"preferences": {
"broadcast_emails": true,
"notification_emails": true,
"notification_sms": true
},
"user_fields": {}
}
'import requests
url = "https://api.us.cr4ce.com/user"
payload = {
"first_name": "<string>",
"last_name": "<string>",
"password": "<string>",
"email": "jsmith@example.com",
"mobile": "<string>",
"roles": ["<string>"],
"preferences": {
"broadcast_emails": True,
"notification_emails": True,
"notification_sms": True
},
"user_fields": {}
}
headers = {
"Accept": "<accept>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Accept: '<accept>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
first_name: '<string>',
last_name: '<string>',
password: '<string>',
email: 'jsmith@example.com',
mobile: '<string>',
roles: ['<string>'],
preferences: {broadcast_emails: true, notification_emails: true, notification_sms: true},
user_fields: {}
})
};
fetch('https://api.us.cr4ce.com/user', 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.us.cr4ce.com/user",
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([
'first_name' => '<string>',
'last_name' => '<string>',
'password' => '<string>',
'email' => 'jsmith@example.com',
'mobile' => '<string>',
'roles' => [
'<string>'
],
'preferences' => [
'broadcast_emails' => true,
'notification_emails' => true,
'notification_sms' => true
],
'user_fields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"Content-Type: application/json",
"x-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.us.cr4ce.com/user"
payload := strings.NewReader("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"password\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"mobile\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"preferences\": {\n \"broadcast_emails\": true,\n \"notification_emails\": true,\n \"notification_sms\": true\n },\n \"user_fields\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept", "<accept>")
req.Header.Add("x-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.us.cr4ce.com/user")
.header("Accept", "<accept>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"password\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"mobile\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"preferences\": {\n \"broadcast_emails\": true,\n \"notification_emails\": true,\n \"notification_sms\": true\n },\n \"user_fields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.cr4ce.com/user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept"] = '<accept>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"password\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"mobile\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"preferences\": {\n \"broadcast_emails\": true,\n \"notification_emails\": true,\n \"notification_sms\": true\n },\n \"user_fields\": {}\n}"
response = http.request(request)
puts response.read_body{
"analytics_cookies": true,
"broadcast_emails": true,
"comments": "Jane Doe (2025-05-21T15:25:39+00:00): User comment",
"confirmation": "Confirmed",
"confirmed_at": "2018-04-17T00:00:00Z",
"created_at": "2024-06-24T06:34:30Z",
"created_by": "manual",
"email": "jane.doe@example.com",
"first_name": "Jane",
"language": {
"code": "en_GB",
"language": "English (United Kingdom)"
},
"last_name": "Doe",
"marketing_cookies": true,
"mobile": "",
"name": "Jane Doe",
"necessary_cookies": true,
"notification_emails": true,
"notification_sms": true,
"preferences": {
"broadcast_emails": true,
"notification_emails": true,
"notification_sms": true
},
"roles": [
{
"slug": "AbCdEfGh",
"link": "https://api.eu.cr4ce.com/role/AbCdEfGh",
"name": {
"en_GB": "Applicant"
}
},
{
"slug": "CdEfGhIj",
"link": "https://api.eu.cr4ce.com/role/CdEfGhIj",
"name": {
"en_GB": "Program manager"
}
}
],
"slug": "EfGhIjKl",
"social_sharing": true,
"updated": "2026-06-26T07:50:46Z",
"user_fields": [
{
"slug": "GhIjKlMn",
"link": "https://api.eu.cr4ce.com/field/GhIjKlMn",
"label": {
"en_GB": "<p>Title</p>"
},
"title": {
"en_GB": "Title"
},
"value": "Ms",
"translated": {
"en_GB": ""
}
},
{
"slug": "IjKlMnOp",
"link": "https://api.eu.cr4ce.com/field/IjKlMnOp",
"label": {
"en_GB": "<p>user file upload</p>"
},
"title": {
"en_GB": "user file upload"
},
"value": "https://api.eu.cr4ce.com/file/",
"token": "",
"translated": {
"en_GB": ""
}
}
]
}{
"message": "<string>",
"status_code": 400
}{
"message": "<string>",
"status_code": 401
}{
"message": "<string>",
"status_code": 403
}{
"message": "<string>",
"status_code": 422,
"errors": {}
}{
"message": "<string>",
"status_code": 429
}{
"status": "Maintenance in progress"
}Authorizations
API key used to authenticate and authorise every request.
Include it in the x-api-key header.
Headers
Defines the response type.
application/vnd.Creative Force.v2.3+json, application/vnd.Creative Force.v2.3+xml Body
User create payload.
- Option 1
- Option 2
User's first name.
User's last name.
Password for the new user. The minimum length and complexity requirements are configured per account, so a value accepted on one account may be rejected on another.
User's email address. Required if mobile is not set.
User's mobile number in E.164 international format, such as +14155552671. Required if email is not set.
Role slugs to assign to the user. If omitted or empty, the default role for the account is assigned instead, so the user is never left without a role.
User notification preferences.
Show child attributes
Show child attributes
User field values, keyed by field slug. For example, { "fJkIjGmB": "Test value" }. Single-value fields take a string; multi-value fields, such as checkbox or multi-select, take an array of strings.
Show child attributes
Show child attributes
Response
User created, or an existing user added to the account.
Two outcomes share this status code:
- New user — a new user record is created. The body is the full user resource and the
Locationheader links to it. - Existing user — the email or mobile already belongs to a user on another account, so that user is added to the current account instead. The body is a confirmation message and no
Locationheader is returned.
- Option 1
- Option 2
Detailed user fields returned only for a single user.
Specifies whether the user accepted analytics cookies.
Specifies whether the user accepted broadcast emails.
Administrative notes recorded against the user, formatted for export.
Account confirmation status of the user, such as Confirmed or Invited.
Date and time when the user confirmed the account, null until confirmed.
Date and time when the user account was created.
Method by which the user account was created, such as manual or registration.
Email address of the user, null if not recorded.
First name of the user.
Preferred language of the user.
Show child attributes
Show child attributes
Last name of the user.
Specifies whether the user accepted marketing cookies.
Mobile phone number of the user.
Full name of the user.
Specifies whether the user accepted necessary cookies.
Specifies whether the user accepted notification emails.
Specifies whether the user accepted notification text messages.
Roles assigned to the user within the account.
Show child attributes
Show child attributes
URL-safe identifier of the user.
Date and time when the user account was last updated.
Notification preferences selected by the user.
Show child attributes
Show child attributes
Specifies whether the user opted in to social sharing.
Custom field responses captured on the user profile.
Show child attributes
Show child attributes