List Time Off
Retrieve a paginated list of staff time-off requests.
Endpointโ
GET /v1/staff/time-off
Authenticationโ
Requires an API key with the staff:read scope.
Query Parametersโ
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 15 | Items per page (max 100) |
staff_id | integer | - | Filter by staff member ID |
status | string | - | Filter by status: pending, approved, rejected |
start_date | string | - | Return requests whose end date is on or after this date (YYYY-MM-DD) |
end_date | string | - | Return requests whose start date is on or before this date (YYYY-MM-DD) |
sort | string | start_date | Sort field: id, start_date, end_date, status, created_at |
direction | string | desc | Sort direction: asc or desc |
Responseโ
Success (200 OK)โ
{
"data": [
{
"id": 7,
"staff_id": 5,
"staff": { "id": 5, "first_name": "Jane", "last_name": "Smith" },
"start_date": "2026-04-14",
"end_date": "2026-04-16",
"start_time": null,
"end_time": null,
"is_all_day": true,
"type": "annual_leave",
"status": "pending",
"reason": "Easter break",
"approved_by": null,
"created_at": "2026-04-01T09:00:00+00:00",
"updated_at": "2026-04-01T09:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 4,
"total_pages": 1,
"request_id": "req_abc123",
"timestamp": "2026-04-01T10:00:00+00:00"
}
}
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks staff:read scope |
Example Requestโ
curl -X GET "https://app.equipdash.com/api/v1/staff/time-off?status=pending&staff_id=5" \
-H "Authorization: Bearer eqd_live_abc123xyz789..."