Signups

Per-Shift coverage roll-up for a recurring signup

One entry per Shift — a repeating slot in the signup's Slot Series — rolled up across every date it runs. Answers 'which Shift is chronically short across its upcoming dates?', which the flat, event-wide /analytics snapshot cannot. Returns an empty list (200) for a signup with no Slot Series; a non-recurring signup simply has no Shifts. Regulars carry participant names and attendance counts and NO email addresses: this is an analytics roll-up, and the capability it owes is 'who are my dependable people for this Shift'. Use /signups/{id}/participants under its own scope to reach anyone. Not paginated, deliberately: the roll-up averages over every Occurrence and the roster read behind it is unpaged, because an average over a page is an average of the first 50 people. It is bounded upstream instead — a Slot Series generates at most 2000 Occurrences (MAX_OCCURRENCES in slot-series.service.ts) and each Shift publishes at most four Regulars, so the worst case is on the order of 2000 coverage cells.

get/signups/{id}/slot_coverage

Request

  • Base URL: https://thesignup.app/api/v1
  • URL: https://thesignup.app/api/v1/signups/{id}/slot_coverage
  • Auth: HTTP bearer

Path parameters

idstring uuid required

Response

Coverage roll-up, one entry per Shift, ordered by shiftIndex

Example response

{
  "data": [
    {
      "recurrence": {
        "rangeStart": "2026-08-24",
        "rangeEnd": "2026-12-21"
      },
      "cells": [
        {
          "seriesDate": "2026-09-07"
        }
      ]
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.