Ask Staff for Availability
Ask several staff members at once. Each gets their own link by email and, where possible, by text. This is the same as Staff > Action > Ask everyone for availability in the portal.
Ask for one of two things:
weekly: their usual week.dates: each day fromfrom_datetoto_date. On their link, or under More > My Hours in the EquipDash app, they answer one week at a time, starting from their usual week where they have one. The ask counts as answered once they save the week holdingto_date.
With a reply_by date, anyone who has not answered gets one reminder the day before.
Endpointโ
POST /v1/staff/availability-requests
Authenticationโ
Requires an API key with the staff:write scope. Limited to 30 calls a minute.
Request Bodyโ
| Parameter | Type | Required | Description |
|---|---|---|---|
staff_ids | array of integers | Yes | The staff members to ask. Every ID must belong to your account. Staff marked as terminated are skipped. |
kind | string | Yes | weekly or dates |
from_date | string | When kind is dates | First date to ask about, YYYY-MM-DD |
to_date | string | When kind is dates | Last date to ask about, YYYY-MM-DD. On or after from_date, and no more than three months later. |
reply_by | string | No | Date to answer by, YYYY-MM-DD |
email | boolean | No | Send by email. Default true. |
text | boolean | No | Send by text. Default true. Only goes out when your account has texting set up. |
Responseโ
Success (201 Created)โ
{
"data": {
"request_id": 46,
"kind": "dates",
"from_date": "2026-10-05",
"to_date": "2026-10-18",
"reply_by": "2026-10-02",
"sent": 6,
"not_reached": ["Jane Doe"]
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-09-28T09:00:00+00:00"
}
}
| Field | Type | Description |
|---|---|---|
request_id | integer | ID of the ask |
kind | string | weekly or dates |
from_date, to_date | string or null | The date range, null for weekly |
reply_by | string or null | The reply-by date |
sent | integer | How many staff members got an email or a text |
not_reached | array of strings | Names of the staff members nothing could be sent to, usually because they have no email address or phone number |
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks the staff:write scope |
| 422 | validation_error | A field is missing or malformed, or a staff ID is not in your account |
| 422 | availability_request_not_sent | The ask was refused. message says why, for example "Ask for three months at most at a time." or "The last date has to be on or after the first." |
| 429 | - | More than 30 calls in a minute. Wait a minute and try again. |
Example Requestโ
curl -X POST "https://app.equipdash.com/api/v1/staff/availability-requests" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"staff_ids": [123, 124],
"kind": "dates",
"from_date": "2026-10-05",
"to_date": "2026-10-18",
"reply_by": "2026-10-02"
}'