---
title: "Get unfilled slots (who do we still need?)"
method: GET
path: "/api/v1/open-days"
tags: ["Reminders"]
---

# Get unfilled slots (who do we still need?)

`GET /api/v1/open-days`

## Request

- Base URL: `https://volunteerreminder.com`
- URL: `https://volunteerreminder.com/api/v1/open-days`
- Auth: HTTP bearer

Wraps domain/openDays.ts (the same logic behind the public open-dates embed): calendar days with no attendable shift yet, plus recurring monthly slots not yet claimed by a schedule. Requires the `read` scope.

## Query parameters

- `months` integer: How many months to look ahead (1-24). Default 12.
- `current_year_only` 'true' | 'false': When true (the default), clamp the window to the end of the current calendar year instead of crossing into next year.

## Response `200`

Open days and open recurring slots.

- OpenDaysResponse
  - `open_dates` OpenDate[], required: Calendar days in the window with no attendable occurrence yet.
    - `date` string, required: ISO calendar date (yyyy-MM-dd), account-local.
    - `weekday` string, required
  - `open_schedules` OpenScheduleSlot[], required: Recurring Nth-weekday-of-month slots not yet claimed by a schedule.
    - `occurrence_number` integer, required: Nth occurrence of the weekday in the month (1-5).
    - `day_of_week` integer, required: 0 = Sunday .. 6 = Saturday.
    - `is_every_other_month` boolean, required: True when the slot is only open in alternating months.

## Other responses

- `401`: Missing or invalid API key.
- `403`: The API key lacks a scope required by this endpoint.

---

[API](https://skmtc.dev/volunteerreminder/apis/volunteerreminder-api.md) · [All operations](https://skmtc.dev/volunteerreminder/apis/volunteerreminder-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volunteerreminder/apis/volunteerreminder-api/revisions/f8e7e26ba96f?raw)
