Bulk user management APIs are in Early Access, and may change without notice.
Requirements
- SafetyCulture Premium Plan or Enterprise Plan
- "Platform management: Users" permission
- "Platform management: Permissions" permission
- Full seat
Create and update users in bulk through two separate flows:
- Synchronous: Create or update up to 10 users per request with immediate results, including the created user IDs.
- Asynchronous: Manage large-scale user creation or update through a background job process.
Both flows support the same operations and API format. If the system encounters an error with a user record, it will continue processing the remaining records.
API format
{
"username": "[email protected]",
"first_name": "Joe",
"last_name": "Bloggs",
"password": "[REDACTED]",
"seat_type": "SUBSCRIPTION_SEAT_TYPE_PREMIUM",
"timezone": "Australia/Sydney",
"status": "USER_ACTIVE_STATUS_ACTIVE",
"language": "LANGUAGE_EN_US",
"permission_set": {
"name": "Administrator"
},
"groups": {
"remove_references": [
{ "name": "*" }
],
"add_references": [
{ "name": "My Group" },
{ "name": "Another Group" },
{ "id": "87b859dc-e616-40a3-939a-08c20969b105" }
]
},
"sites": {
"remove_references": [
{ "name": "*" }
],
"add_references": [
{ "name": "Sydney" }
]
},
"attributes": [
{
"reference": {
"name": "Department"
},
"values": [
{
"string_value": "Management"
}
]
}
]
}
Synchronous
Use the Create or update users synchronously endpoint for immediate bulk operations.
You can send up to 10 users per request, and the rate limit is 5 requests per minute. For larger operations, use the asynchronous endpoint.
Asynchronous
Use the following endpoints to manage larger user updates through a job-based flow:
- Initialize create-or-update users job
- Start create-or-update users job
- Get create-or-update users job
- List create-or-update users jobs
- Cancel create-or-update users job
Step 1: Initialize the job
Start by calling Initialize create-or-update users job to create a job. This returns a job_id
that you'll use to add users and later start the job.
You can add up to 2000 users per request. To process more users, call the same endpoint again with the job_id
and additional users.
Step 2: Start the job
After initializing the job, call the Start create-or-update users job endpoint to begin processing.
Use the validate_only
parameter to validate records without making changes.
Step 3: Check validation results and progress
Use Get create or update users job to track the job's status and review validation results.
This includes progress updates and detailed validation information when validate_only
is set to false
.