post
https://sandbox-api.softpoint.io/interface/v1/locations/YOUR_LOCATION_ID/users
Creates a dashboard user for a location. Use it to grant a person administrative access to a merchant account with a specific role.
Request Headers
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer YOUR_ACCESS_TOKEN |
| Content-Type | Yes | application/json |
Request Parameters
Path Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| location_id | integer | Yes | Location the user is created under. |
Request Body Fields:
| Field | Type | Required | Description |
|---|---|---|---|
| first_name | string | Yes | User's first name. |
| last_name | string | Yes | User's last name. |
| string | Yes | Unique email address. | |
| phone | string | number | No |
| role_id | integer | Yes | 1 location 2 admin 3 owner |
| status | integer | No | Account status (1 = active, 0 = inactive). |
| user_id | integer | No | The acting user performing the request. |
Request Example
{
"first_name": "Test User",
"last_name": "Doe",
"email": "[email protected]",
"phone": 1234567898,
"role_id": 2,
"status": 1,
"user_id": 2
}
cURL Example
curl --request POST \
--url https://sandbox-api.softpoint.io/interface/v1/locations/4004699/users \
--header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"first_name": "Test User",
"last_name": "Doe",
"email": "[email protected]",
"phone": 1234567898,
"role_id": 2
}'
Success Response
{
"id": 102,
"first_name": "Test User",
"last_name": "Doe",
"phone": "+1 (123) 456-7898",
"email": "[email protected]",
"global_country_id": 3,
"created_datetime": "2023-03-09T20:03:39.000000Z"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| id | integer | Unique identifier of the new user. |
| first_name | string | First name as stored. |
| last_name | string | Last name as stored. |
| phone | string | Phone number, normalized to international format. |
| string | Email address. | |
| global_country_id | integer | Country associated with the user, inferred from the phone number. |
| created_datetime | string (ISO 8601) | Creation timestamp in UTC. |
Error Responses
Duplicate Email
{
"error": {
"code": 10258,
"message": "The selected email is already in use, please select a different email.",
"details": ["email"]
}
}
Status Codes
| Code | Description |
|---|---|
| 200 | User created |
| 400 | Validation failed (for example, duplicate email) |
Workflow Placement
Part of merchant setup, after the location exists:
-
Create Location
-
Create User
-
Retrieve All Users / Retrieve a User
Notes
-
emailmust be unique across the platform. -
phonemay be sent as a number or string; it is returned formatted. -
role_idmust reference a role that exists for the account.
Common Mistakes
-
Reusing an email that already exists.
-
Omitting
role_id, which defines the user's permissions. -
Sending an invalid
Authorizationtoken.

