Signups

Cancel a signup and tell its participants

Marks the signup closed (leaving signupCloseDate as it was), and EMAILS (and, where consented, TEXTS) every attending registration that the signup is cancelled, with the optional message included. Immediate; no undo and no dry-run. Honors each person's notification preferences; texts only go to people with an account, a phone and SMS consent. The response is the signup plus notified: recipients is the audience (attending registrations, including people who opted out of email); emails and sms are the notices actually sent. Emits the signup.canceled webhook. To close WITHOUT telling anyone use DELETE /signups/{id}. Safe to retry: a repeat of a cancel that already told people returns the first call's notified and sends nothing (no second webhook or activity record). It tells people again only if the earlier close told nobody (a DELETE, a status change to closed, or a cancel that had no one attending), if the signup was closed another way since, or if it was reopened in between. A retry with the same Idempotency-Key replays the first response verbatim. The body is optional; one that is not a JSON object is refused with 400. The account that owns the credential must have a verified email address (returns 403 otherwise), as for publish.

post/signups/{id}/cancel

Request

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

Path parameters

idstring uuid required

Request body

messagestring

Participant-facing: the organizer's note, included in the cancellation EMAIL sent to every attending registration, and in the cancellation TEXT for those with an account who have texts on, a phone, and SMS consent. Omit it to send the standard cancellation notice with no note. Never private; do not put anything here you would not tell the participants.

Example request

{
  "message": "The park is closed for repairs. We will reschedule."
}

Response

The cancelled signup and who was told

idstring uuid required
organizationIdstring required
slugstring required
titlestring required
status'draft' | 'published' | 'closed' required
eventDatestring date-time required

ISO-8601 UTC.

signupCloseDatestring date-time nullable required

ISO-8601 UTC. Null = signups never close until the event.

locationstring nullable required
isPrivateboolean required
createdAtstring date-time required
updatedAtstring date-time required
descriptionstring nullable required
maxParticipantsinteger nullable required

Cap on total participants. Null only on a plan with no participant ceiling (uncapped); elsewhere the cap is stored as the plan ceiling.

commitmentRequiredboolean required

When true, a participant must claim a slot or an item to sign up — attending without committing to anything is not offered.

requiresPhoneboolean required
timezonestring required

IANA timezone the organizer attached to this signup. Display surfaces should prefer this over the viewer's local zone when rendering eventDate / slot times.

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440100",
  "organizationId": "org_123",
  "slug": "fall-fundraiser-a1b2",
  "title": "Fall fundraiser",
  "status": "published",
  "eventDate": "2026-09-15T17:00:00Z",
  "timezone": "America/Los_Angeles"
}

Changes

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