Skip to main content
The Users endpoints allow you to view and manage user accounts within your organization. You can create new users, look up profile information, check whether an account exists, and retrieve the customer associations and organization memberships tied to a specific user.
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.
Requires Admin role. Calls from tokens without the Admin policy return 403 Forbidden.

Authentication

Request body

string
required
The user’s first name.Example: "Jane"
string
required
The user’s last name.Example: "Smith"
string
required
The user’s email address. Used as the login identifier. Must be unique across the platform.Example: "[email protected]"
string
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!"
string
The user’s phone number.Example: "561-555-1212"

Example request

cURL

Response fields

string
The created user’s first name.
string
The created user’s last name.
string
The created user’s email address.
string
The created user’s phone number.

Example response

Error responses


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.
Requires Customer role. Calls from tokens without a Customer policy return 403 Forbidden.

Authentication

Example request

cURL

Response fields

string
The authenticated user’s first name.
string
The authenticated user’s last name.
string
The authenticated user’s preferred email address.
string
The authenticated user’s phone number.

Example response

Error responses


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

string
required
The email address to look up.Example: [email protected]

Example request

cURL

Response fields

boolean
true if an account with the given email address exists on the platform; false otherwise.

Example response

Error responses


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.
Requires Admin role. Calls from tokens without the Admin policy return 403 Forbidden.

Authentication

Example request

cURL

Response fields

array
An array of organization objects the user belongs to.

Example response

Error responses


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.
Requires Admin role.

Authentication

Query parameters

string
required
The user ID of the user to look up.Example: "kp_abc123def456"

Example request

cURL

Response fields

string
The user ID.
string
The customer account number linked to this user.
string
The organization this association belongs to.

Example response

Error responses


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.
Requires Admin role.

Authentication

Query parameters

string
required
The user ID to retrieve associations for.Example: "kp_abc123def456"

Example request

cURL

Response

Returns an array of customer association objects.
array
A flat array of UserCustomer association objects.

Example response

Error responses