Skip to main content

Partner API: Employees & Groups

Create, update, terminate and bulk-import employees, and manage the groups used to assign handbooks.

Employees

All employee endpoints are under /organizations/{orgId}/employees and require an access token.

The employee resource

{
"id": "123…",
"employeeId": "R-10482",
"firstName": "Sam",
"lastName": "Okafor",
"email": "sam.okafor@acme.com",
"jobTitle": "Account Executive",
"department": "Sales",
"teamName": "EMEA Sales",
"location": "Lisbon",
"country": "PT",
"managerEmployeeId": "R-10021",
"hireDate": "2025-03-01",
"status": "active",
"terminatedDate": null,
"groups": ["Sales", "Lisbon Office"],
"activatedAt": "2025-03-02T09:14:00.000Z",
"createdAt": "2025-03-01T08:00:00.000Z",
"updatedAt": "2026-01-12T10:30:00.000Z"
}

status is one of invited (created, not yet activated), active, or terminated.

List employees

GET /organizations/{orgId}/employees

Optional filters: status, email, group (group name), updatedSince (ISO timestamp).

Get an employee

GET /organizations/{orgId}/employees/{employeeRef}

employeeRef is the AirMason id or ext:<employeeId>.

Create an employee

POST /organizations/{orgId}/employees

{
"employeeId": "R-10482",
"firstName": "Sam",
"lastName": "Okafor",
"email": "sam.okafor@acme.com",
"jobTitle": "Account Executive",
"department": "Sales",
"location": "Lisbon",
"country": "PT",
"managerEmployeeId": "R-10021",
"hireDate": "2025-03-01",
"groups": ["Sales", "Lisbon Office"],
"sendWelcomeEmail": true
}

employeeId and email are required and must be unique within the organization (409 conflict otherwise). Groups named in groups are created if they don't exist.

Set sendWelcomeEmail: false if you deliver the activation link yourself via the employee.created webhook.

Update an employee

PATCH /organizations/{orgId}/employees/{employeeRef}

Any field from the create request except employeeId.

Passing groups replaces the employee's full group membership; omit it to leave groups unchanged.

Terminate an employee

POST /organizations/{orgId}/employees/{employeeRef}/terminate

{ "terminatedDate": "2026-02-28" }

terminatedDate defaults to today. Terminated employees lose portal access immediately, stop receiving reminders, are excluded from employeeCount and signature-completion percentages, and are preserved (with their signature history) for audit purposes. To bring someone back, POST …/{employeeRef}/reactivate.

Bulk import

PUT /organizations/{orgId}/employees/importmultipart/form-data with a file field (CSV, up to 100 MB)

Creates or updates employees in bulk, matching on employeeId. Large files are processed asynchronously; the response includes a jobId you can poll at

GET /organizations/{orgId}/employees/import/{jobId}.


Groups

Groups are how you assign handbooks to sets of employees. All under /organizations/{orgId}/groups, access token.

Method & path

Description

GET /groups

List groups with employeeCount

POST /groups

Create

body { "name": "Lisbon Office" }

PATCH /groups/{groupId}

Rename

body { "name": "Lisbon Office" }

DELETE /groups/{groupId}

Delete (employees are not affected)


Partner API documentation:

Did this answer your question?