Skip to content
Core API
Esc
↑↓navigate↵open⌘Jpreview
On this page

RSVPs

Create and update rsvps with complete curl request examples.

Build a request

Example data only. No request is sent.

POST
Choose the destination IDs
Start with these fields

Session must belong to the event and accept attendance registrations.

Registrant must belong to the event.

Add optional fields (2)

tentative, confirmed, attended, or rejected. attended does not need a check-in time. The other statuses clear an existing check-in time.

A time or "now" marks the RSVP attended when status is omitted. null clears check-in.

Use the API address and token from your environment. Set up authentication.

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
}'
201 CreatedIllustrative response
{
  "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.

Last updated on October 22, 2026