bookkeeperOrgId.
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1/admin/pay-periods | List pay periods (paginated) |
POST | /api/v1/admin/pay-periods | Create a pay period |
GET | /api/v1/admin/pay-periods/{id} | Get one pay period (with entries + totals) |
PUT | /api/v1/admin/pay-periods/{id} | Update status / lock / pay date / export metadata |
DELETE | /api/v1/admin/pay-periods/{id} | Delete a pay period (only if it has no time entries) |
List pay periods
Query parameters
Filter to one company. The company must belong to your organization, or the
request returns
403. If omitted, all pay periods within your organization
are returned.Filter by status:
OPEN, SUBMITTED, APPROVED, PAID, or CLOSED.Response
Paginated envelope (items, total, page, pageSize, totalPages), ordered
by startDate descending. Each item includes its company (id, name) and a
_count of timeEntries.
Create a pay period
Request body
UUID of the client company. Must belong to your organization (
403 otherwise,
404 if the company does not exist).One of
WEEKLY, BI_WEEKLY, SEMI_MONTHLY, MONTHLY.ISO-8601 datetime or a
YYYY-MM-DD date.ISO-8601 datetime or
YYYY-MM-DD. If omitted, it is computed from
periodType and startDate.ISO-8601 datetime or
YYYY-MM-DD. Optional.status: "OPEN" and locked: false. The
server rejects date ranges that overlap an existing pay period for the same
company with 400 Overlapping pay period.
Get a pay period
The pay period’s UUID.
company, all timeEntries (each with a
trimmed employee), and a computed totals object summing totalHours,
regularHours, and overtimeHours. Returns 404 if not found, 403 if the
period belongs to another organization.
Response (200)
Update a pay period
The pay period’s UUID.
One of
OPEN, SUBMITTED, APPROVED, PAID, CLOSED.Lock or unlock the pay period.
ISO-8601 datetime or
YYYY-MM-DD.Marks the period as exported; the server also stamps
exportedAt with the
current time.Filename of the generated QuickBooks IIF export.
200 with the updated pay period. Returns 404 if not found, 403 for
cross-organization access.
Delete a pay period
The pay period’s UUID.
400 Cannot delete pay period if
it has any associated time entries. Returns 404 if not found, 403 for
cross-organization access.
Response (200)