---
title: "RSVPs"
description: "Create and update rsvps with complete curl request examples."
lastModified: "2026-08-25"
---

**Collection path:** `events/{event_id}/rsvps`

| Input | Type | POST | PATCH | Notes |
| :---- | :---- | ----: | ----: | :---- |
| `timeslot_id` | Scalar ID | Used | Ignored | Session must belong to the event and accept attendance registrations. |
| `registrant_id` | Scalar ID | Used | Ignored | Registrant must belong to the event. |
| `checked_in_at` | ISO 8601 string or `null` | Ignored | Optional | `null` clears check-in. |

Sponsor-restricted scopes may create or patch RSVPs only for sessions that the selected sponsor owns as main sponsor or session sponsor.

## POST an RSVP

```shell
curl --request POST \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/rsvps" \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "timeslot_id": 5501,
    "registrant_id": 1201
  }'
```

The attendance-registration service preserves capacity checks and creates the corresponding bookmark as a side effect. The response type is `rsvp`; useful write-response fields include `timeslot_id`, `registrant_id`, `checked_in_at`, and `updated_at`.

## PATCH an RSVP

```shell
curl --request PATCH \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/rsvps/9201" \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "checked_in_at": "2026-09-03T09:02:00Z"
  }'
```

Clear the check-in timestamp with:

```json
{
  "checked_in_at": null
}
```
