# 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
