Most endpoints in this section require an Admin policy. The sole exception is
GET /api/users/profile, which requires a Customer-scoped token, and GET /api/users/exists, which is public and requires no authentication at all.POST /api/users
Create a new user account and add them to your organization. If the email address is already registered on the platform, the existing account is reused and only the organization membership is added.Authentication
Request body
The user’s first name.Example:
"Jane"The user’s last name.Example:
"Smith"The user’s email address. Used as the login identifier. Must be unique across the platform.Example:
"[email protected]"An initial password for the user. Ignored if the email is already registered on the platform — in that case the user keeps their current credentials.Example:
"SecurePass123!"The user’s phone number.Example:
"561-555-1212"Example request
cURL
Response fields
The created user’s first name.
The created user’s last name.
The created user’s email address.
The created user’s phone number.
Example response
Error responses
| Status | Description |
|---|---|
400 Bad Request | A required field is missing or invalid. |
403 Forbidden | Your token does not carry the Admin role. |
500 Internal Server Error | An unexpected error occurred. |
GET /api/users/profile
Returns the profile of the currently authenticated user. The user ID and organization ID are read from the JWT claims — you do not pass them as parameters.Authentication
Example request
cURL
Response fields
The authenticated user’s first name.
The authenticated user’s last name.
The authenticated user’s preferred email address.
The authenticated user’s phone number.
Example response
Error responses
| Status | Description |
|---|---|
404 Not Found | No user record exists for the ID in the token. |
400 Bad Request | The request is malformed. |
401 Unauthorized | The bearer token is missing or expired. |
GET /api/users/exists
Check whether a user account exists for a given email address. This endpoint is public — it does not require authentication.This endpoint is rate limited to 10 requests per minute per IP address.
Query parameters
The email address to look up.Example:
[email protected]Example request
cURL
Response fields
true if an account with the given email address exists on the platform; false otherwise.Example response
Error responses
| Status | Description |
|---|---|
400 Bad Request | The Email parameter is missing or not a valid email format. |
GET /api/users/organizations
Returns the list of organizations the currently authenticated user belongs to. The user ID and email are read from the JWT claims — you do not pass them as parameters.Authentication
Example request
cURL
Response fields
An array of organization objects the user belongs to.
Example response
Error responses
| Status | Description |
|---|---|
400 Bad Request | The user cannot be found based on your token’s identity claims. |
403 Forbidden | Your token does not carry the Admin role. |
GET /api/users/customer-association
Retrieve the customer record linked to a specific user within your organization. The organization is derived from your JWT claims. Use this to find which customer account a user is associated with.Authentication
Query parameters
The user ID of the user to look up.Example:
"kp_abc123def456"Example request
cURL
Response fields
The user ID.
The customer account number linked to this user.
The organization this association belongs to.
Example response
Error responses
| Status | Description |
|---|---|
404 Not Found | No customer association exists for this user in your organization. |
400 Bad Request | UserId is missing. |
403 Forbidden | Your token does not carry the Admin role. |
GET /api/users/customer-associations
Returns all customer associations for a given user across all organizations. Useful when a single user account is linked to multiple customer records.Authentication
Query parameters
The user ID to retrieve associations for.Example:
"kp_abc123def456"Example request
cURL
Response
Returns an array of customer association objects.A flat array of
UserCustomer association objects.Example response
Error responses
| Status | Description |
|---|---|
400 Bad Request | UserId is missing or invalid. |
403 Forbidden | Your token does not carry the Admin role. |