List and retrieve users, or create a single user with an email invite. Works alongside the Employee Sync API for bulk HR-driven provisioning.
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.
Retrieve all users for the authenticated organisation. You can filter by role and active status.
GET /api/v1/users HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/jsonHTTP/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"
}
]
}
]role – filter users that have a given role name (for example site_manager).isActive – true or false to filter by active status.GET /api/v1/users?role=site_manager&isActive=true HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/jsonCreates 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 example site_manager), same naming as in Employee Sync.roleIds – alternatively, pass UUIDs from your integration; you may combine with roles (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).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"
}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"
}
]
}Retrieve a single user by ID. The response includes basic profile details, roles, and site assignments.
GET /api/v1/users/usr_123 HTTP/1.1
Host: api.lambdaassetcheck.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/jsonHTTP/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"
}
]
}