Browse docs

Groups API

Create, list, and update groups using the same OAuth client credentials (API key) used for Employee Sync, Asset Sync, and Sites. All operations are scoped to your organization. Use groups to assign users and to scope work orders, tasks, and schedules.

v1

List groups

Returns all groups in your organization. Use activeOnly=true to exclude inactive groups (e.g. for assignment pickers).

GET /api/v1/groups
Authorization: Bearer <your_token>

# Optional: only active groups
GET /api/v1/groups?activeOnly=true

Get a group

Returns a single group by ID. The group must belong to your organization. Response includes memberCount.

GET /api/v1/groups/{groupId}
Authorization: Bearer <your_token>

Create a group

name is required and must be unique within the organization. description is optional. New groups are created as active.

POST /api/v1/groups
Authorization: Bearer <your_token>
Content-Type: application/json

{
  "name": "Maintenance Team",
  "description": "Field technicians and supervisors"
}

Update a group

PUT updates the full group (send all fields you want to keep). PATCH updates only the fields you send (e.g. { "isActive": false } to mark a group inactive). Inactive groups are hidden from assignment pickers; existing memberships are preserved.

PUT /api/v1/groups/{groupId}
Authorization: Bearer <your_token>
Content-Type: application/json

{
  "name": "Maintenance Team (Updated)",
  "description": "Field technicians and supervisors",
  "isActive": true
}
PATCH /api/v1/groups/{groupId}
Authorization: Bearer <your_token>
Content-Type: application/json

# Mark group as inactive (soft delete)
{ "isActive": false }

Response fields

Each group object includes: id, name, description, isActive, organizationId, organization (id, name), memberCount, createdAt, updatedAt.

Rate limits

Same as other v1 APIs (per API key). See Error Handling for details.

Top