BlueSuite Developers
REST API v1

Users

Users in the BlueSuite REST API

List workspace users to resolve a name or email to the UUID used in owner, salesperson, account-manager, and assignee fields. Use the returned id / user_id, rather than an email address, in UUID fields.

The REST API also supports adding a user and editing membership/profile fields. POST /users returns an existing membership when the email is already in the workspace, adds an existing account when it is not a member, or invokes the invitation flow for a new account. These operations can affect workspace access.

PATCH /users updates the specified user's profile name and/or workspace role and active status. Its response is { "data": ... } without the usual success flag. MCP exposes only list_users; it does not expose these user writes.

For listing, supported sort columns are first_name, last_name, email, role, job_title, created_at, and updated_at. name is an alias for first_name.

GET /api/v1/users

GET /api/v1/users

Required scopes: users:read.

Query parameters

FieldType / accepted valuesRequiredDetails
pageintegerNoPage number, starting at 1. Default: 1.
per_pageintegerNoRecords per page, from 1 to 100. Default: 25. minimum: 1. maximum: 100.
searchstringNoSearch text. maxLength: 100.
sort_bystringNoSort column. See the supported columns below when listed.
sort_direction"asc", "desc"NoSort direction. Default: "desc".

Response

200 with { "success": true, "data": [...], "pagination": { "page": 1, "per_page": 25, "total_pages": 1 } }.

See response conventions and errors.

POST /api/v1/users

POST /api/v1/users

Required scopes: users:write.

JSON body

FieldType / accepted valuesRequiredDetails
emailstringYesEmail of the user to add to this workspace.
first_namestringNo
last_namestringNo
rolestringNoWorkspace role. Default: "member".

Response

201 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

PATCH /api/v1/users

PATCH /api/v1/users

Required scopes: users:write.

JSON body

FieldType / accepted valuesRequiredDetails
user_idstringYesProfile UUID returned by GET /users.
first_namestringNo
last_namestringNo
rolestringNoWorkspace role.
is_activebooleanNo

Response

200 with { "data": { "user_id": "...", ...updatedFields } }. This route omits the usual success flag.

See response conventions and errors.

On this page