Allows guests to cancel their RSVP via a DELETE endpoint using their guestToken. Frontend shows cancel button in RsvpBar and clears local storage on success. Includes unit tests, integration tests, and E2E spec. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
1.2 KiB
YAML
41 lines
1.2 KiB
YAML
# Cancel RSVP — API Contract
|
|
# This contract will be merged into backend/src/main/resources/openapi/api.yaml
|
|
|
|
# Path: /events/{token}/rsvps/{rsvpToken}
|
|
# Method: DELETE
|
|
|
|
path:
|
|
/events/{token}/rsvps/{rsvpToken}:
|
|
delete:
|
|
summary: Cancel RSVP
|
|
description: |
|
|
Permanently deletes an RSVP identified by the RSVP token.
|
|
Idempotent: returns 204 whether the RSVP existed or not.
|
|
operationId: cancelRsvp
|
|
tags:
|
|
- Events
|
|
parameters:
|
|
- name: token
|
|
in: path
|
|
required: true
|
|
description: Event token (UUID)
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: "550e8400-e29b-41d4-a716-446655440000"
|
|
- name: rsvpToken
|
|
in: path
|
|
required: true
|
|
description: RSVP token (UUID) identifying the attendance to cancel
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: "7c9e6679-7425-40de-944b-e07fc1f90ae7"
|
|
responses:
|
|
"204":
|
|
description: >
|
|
RSVP successfully cancelled (or was already cancelled).
|
|
No response body.
|
|
"500":
|
|
description: Internal server error
|