Users
> Auto-generated from the OpenAPI spec. Method names shown are the manifest > (canonical) names; per-language casing is applied by each SDK.
Record handle: ref(id) → a lazy handle to one User (get/update/delete, field values, related records). See record handles.
bulkUpdate
PUT /user
Bulk update users
| Parameter | In | Required | Description |
|---|---|---|---|
body |
body | yes | Array of User records to be updated |
Returns: User · Cost: 1 API call.
create
POST /user
Create a user
| Parameter | In | Required | Description |
|---|---|---|---|
body |
body | yes | User to be created |
Returns: User · Cost: 1 API call.
createUserInvitation
POST /user/invitation
Send a user invitation — Sends an email invitation to join the system. Requires role (admin, user, supervisor, guest, or client) and optional team/category assignments. Generates a unique registration link valid until accepted or revoked.
| Parameter | In | Required | Description |
|---|---|---|---|
body |
body | yes |
Returns: Invitation · Cost: 1 API call.
createUserRate
POST /user/{userId}/rate
Create a user pay rate
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
body |
body | yes |
Returns: UserRate · Cost: 1 API call.
createUserRemote
POST /user/remote/{remoteId}/{remoteApplication}
Upsert record by remote ID (create or update) — Upsert by remote ID: updates the existing user if a mapping is found (200), otherwise creates a new one and stores the mapping (201).
| Parameter | In | Required | Description |
|---|---|---|---|
remoteId |
path | yes | Remote ID of record to be synchronized |
remoteApplication |
path | yes | Name of remote application |
body |
body | yes | Record data |
Returns: User · Cost: 1 API call.
delete
DELETE /user/{userId}
Delete a user
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
Returns: any · Cost: 1 API call.
deleteUserInvitation
DELETE /user/invitation/{invitationId}
Revoke a user invitation
| Parameter | In | Required | Description |
|---|---|---|---|
invitationId |
path | yes | ID of Invitation |
Returns: any · Cost: 1 API call.
deleteUserRate
DELETE /user/{userId}/rate/{rateId}
Delete a user pay rate
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
rateId |
path | yes | ID of rate |
Returns: any · Cost: 1 API call.
get
GET /user/{userId}
Get a user by ID
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
Returns: User · Cost: 1 API call.
getUserInvitation
GET /user/invitation/{invitationId}
Get a user invitation by ID
| Parameter | In | Required | Description |
|---|---|---|---|
invitationId |
path | yes | ID of Invitation |
Returns: Invitation · Cost: 1 API call.
getUserRate
GET /user/{userId}/rate/{rateId}
Get a user pay rate by ID
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
rateId |
path | yes | ID of rate |
Returns: UserRate · Cost: 1 API call.
getUserRemote
GET /user/remote/{remoteId}/{remoteApplication}
Get a user by remote ID — Retrieves a user by its external remote ID and application name, using the integration_pair mapping table. Returns 404 if no mapping exists.
| Parameter | In | Required | Description |
|---|---|---|---|
remoteId |
path | yes | Remote ID of record to be synchronized |
remoteApplication |
path | yes | Name of remote application |
Returns: User · Cost: 1 API call.
listUserInvitation
GET /user/invitation
List user invitations
| Parameter | In | Required | Description |
|---|---|---|---|
filter |
query | no | Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5. |
offset |
query | no | Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30. |
limit |
query | no | Maximum number of records to return. Use together with offset for pagination. |
order |
query | no | Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC. |
Returns: list<Invitation> · Cost: 1 API call per page (lazy paginator).
listUserInvitationHash
GET /user/invitation/hash
Get a user invitation by its hash token — Public endpoint — retrieves invitation details by hash token without authentication, allowing an invitee to view the invitation before accepting. Returns 404 if already accepted.
| Parameter | In | Required | Description |
|---|---|---|---|
hash |
query | yes | Invitation hash |
Returns: Invitation · Cost: 1 API call.
listUserRate
GET /user/{userId}/rate
List user pay rates
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
filter |
query | no | Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5. |
offset |
query | no | Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30. |
limit |
query | no | Maximum number of records to return. Use together with offset for pagination. |
order |
query | no | Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC. |
Returns: list<UserRate> · Cost: 1 API call per page (lazy paginator).
list
GET /user
Search users
| Parameter | In | Required | Description |
|---|---|---|---|
filter |
query | no | Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5. |
offset |
query | no | Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30. |
limit |
query | no | Maximum number of records to return. Use together with offset for pagination. |
order |
query | no | Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC. |
Returns: list<User> · Cost: 1 API call per page (lazy paginator).
update
PUT /user/{userId}
Update a user
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
body |
body | yes | User record to be updated |
Returns: User · Cost: 1 API call.
updateUserRate
PUT /user/{userId}/rate/{rateId}
Update a user pay rate
| Parameter | In | Required | Description |
|---|---|---|---|
userId |
path | yes | ID of user |
rateId |
path | yes | ID of rate |
body |
body | yes |
Returns: UserRate · Cost: 1 API call.