Users API
List and retrieve users, or create a single user with an email invite. Works alongside the Employee Sync API for bulk HR-driven provisioning.
When to use this API
Use Employee Sync for batch upserts from your HR system (including linking employees and accounts). Use POST /api/v1/users to invite one user at a time; they receive the same set-password email as users added from the admin UI. Use GET on this API to read roles and site assignments.
Authentication is the same as other endpoints – see Authentication for details.
List users
Retrieve all users for the authenticated organisation. You can filter by role and active status.
Request
GET /api/v1/users HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/jsonResponse
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "usr_123",
"name": "Jane Doe",
"email": "jane@example.com",
"isActive": true,
"employeeNumber": "E-001",
"supervisorName": "John Manager",
"supervisorEmail": "john.manager@example.com",
"lastSeen": "2025-12-01T10:15:00Z",
"organizationId": "org_123",
"roles": ["site_manager"],
"sites": [
{
"id": "site_123",
"name": "Melbourne Warehouse",
"code": "MEL-WH"
}
]
}
]Filters
role– filter users that have a given role name (for examplesite_manager).isActive–trueorfalseto filter by active status.
Example with filters
GET /api/v1/users?role=site_manager&isActive=true HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/jsonCreate a user (invite)
Creates a user in your organisation with no password and queues the standard invite email so they can set a password. Optional fields match the session-authenticated admin API: role IDs and/or role names, site IDs, contractor, and supervisor metadata.
roles– array of role names in this organisation (for examplesite_manager), same naming as in Employee Sync.roleIds– alternatively, pass UUIDs from your integration; you may combine withroles(deduplicated).siteIds– UUIDs of sites in your organisation; required when assigning roles that depend on site access (same rules as the rest of the product).
Request
POST /api/v1/users HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"name": "Jane Doe",
"email": "jane@example.com",
"roles": ["site_manager"],
"siteIds": ["550e8400-e29b-41d4-a716-446655440000"],
"employeeNumber": "E-042",
"supervisorName": "John Manager",
"supervisorEmail": "john.manager@example.com"
}Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "usr_new",
"name": "Jane Doe",
"email": "jane@example.com",
"isActive": true,
"employeeNumber": "E-042",
"supervisorName": "John Manager",
"supervisorEmail": "john.manager@example.com",
"lastSeen": null,
"organizationId": "org_123",
"roles": ["site_manager"],
"sites": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Melbourne Warehouse",
"code": "MEL-WH"
}
]
}Get a user
Retrieve a single user by ID. The response includes basic profile details, roles, and site assignments.
Request
GET /api/v1/users/usr_123 HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/jsonResponse
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "usr_123",
"name": "Jane Doe",
"email": "jane@example.com",
"isActive": true,
"employeeNumber": "E-001",
"supervisorName": "John Manager",
"supervisorEmail": "john.manager@example.com",
"lastSeen": "2025-12-01T10:15:00Z",
"organizationId": "org_123",
"roles": ["site_manager"],
"sites": [
{
"id": "site_123",
"name": "Melbourne Warehouse",
"code": "MEL-WH"
}
]
}