RSVPs
Create and update rsvps with complete curl request examples.
Build a request
Example data only. No request is sent.
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
--url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/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
}'{
"data": {
"id": "1201",
"type": "rsvp"
}
}The token scope determines returned fields. This selector illustrates that configuration; it does not change your token or the request.
Collection path: events/{event_id}/rsvps
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
View the complete cURL example
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
--url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/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, status, checked_in_at, and updated_at.
Add "status" to create the RSVP with a specific status, for example "attended". Without it, the session’s approval and waitlist rules choose the status.
PATCH an RSVP
View the complete cURL example
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request PATCH \
--url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/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"
}'Mark attendance without a check-in time:
{
"status": "attended"
}
Clear the check-in timestamp with the request below. An attended RSVP becomes confirmed; send "status": "attended" as well to keep it attended.
{
"checked_in_at": null
}
Map status in the scope’s writable fields before sending it. See RSVP status for how status and checked_in_at combine and which requests return 403 or 422.
Input reference
4 inputs. Expand a field for its request type and update behavior. These are the example request keys; your administrator can configure aliases.
timeslot_idScalar ID
- POST
- Used
- PATCH
- Ignored
Session must belong to the event and accept attendance registrations.
registrant_idScalar ID
- POST
- Used
- PATCH
- Ignored
Registrant must belong to the event.
statusScalar string
- POST
- Optional
- PATCH
- Optional
tentative, confirmed, attended, or rejected. attended does not need a check-in time. The other statuses clear an existing check-in time.
checked_in_atISO 8601 string, `"now"`, or `null`
- POST
- Optional
- PATCH
- Optional
A time or "now" marks the RSVP attended when status is omitted. null clears check-in.