Skip to content
Core API
Esc
navigateopen⌘Jpreview
On this page

Create or cancel a draft meeting

Create a meeting as a draft and understand the separate cancellation operation.

Use a draft when preparing organizer-managed meetings before they are ready to be confirmed. The request needs two registrants and a networking timeslot in the event; table availability and other meeting rules still apply.

Prepare the scope

Enable the meetings create action and mappings for requester_registrant_id, receiver_registrant_id, timeslot_id, draft and send_individual_notifications. In particular, allow the draft input so the server receives true rather than ignoring it. A sponsor-restricted scope requires the requester to represent an allowed sponsor.

Create a draft

Build a request

Example data only. No request is sent.

POST
Choose the destination IDs
Start with these fields

Requester must belong to the event. Under a sponsor restriction, the requester must represent an allowed sponsor.

Receiver must belong to the event.

PATCH can move a draft meeting; accepted meetings are not rescheduled by this mutation.

On POST, notifications are sent only when true.

On POST, true creates a draft; otherwise the meeting is accepted.

Add optional fields (7)

Additional participants. PATCH fully reconfigures only the additional participants, preserving requester and receiver.

Must belong to the event. null clears the location. Changing it frees the assigned meeting point.

Creation/status message; also used as the cancellation message.

Participant-specific message.

Participant-specific message.

Other supplied values do not expose another transition.

Selects or changes a reserved meeting point when available.

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/meetings' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "requester_registrant_id": 1201,
  "receiver_registrant_id": 1202,
  "timeslot_id": 5501,
  "draft": true,
  "send_individual_notifications": false
}'
201 CreatedIllustrative response
{
  "data": {
    "id": "1201",
    "type": "meeting"
  }
}

The token scope determines returned fields. This selector illustrates that configuration; it does not change your token or the request.

The draft flag selects the draft creation flow. Without it, the creation flow uses an accepted meeting. send_individual_notifications: false alone does not turn an accepted meeting into a draft or disable all possible meeting side effects.

Save the returned data.id. Read the meeting back with status selected in the scope; its response field is current-status.

Update a draft

PATCH can change the timeslot of a draft through timeslot_id; it is not a general reschedule operation for an accepted meeting. Every ID must remain in the URL event, and capacity/availability checks can reject a move.

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/meetings/6001' \
  --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": 5502,
  "preferred_table_index": 6,
  "additional_registrant_ids": [
    1203,
    1204
  ],
  "message": "Moved to the later slot"
}'

Supplying additional_registrant_ids replaces the additional participants while preserving the requester and receiver. This operation can have notification side effects. Omit it when you only want to change the timeslot or a message.

Cancel separately

With the meetings update action and mappings for status and message, send status: "cancelled". Cancellation follows its own branch; other update fields in that request are ignored. It can notify participants and freezes the meeting chat.

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/meetings/6001' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "status": "cancelled",
  "message": "Cancelled by the event organizer"
}'

Do not send status: "accepted" expecting to confirm a draft. This Core API PATCH path does not implement that transition. Use the supported organizer workflow for confirmation.

See meeting inputs for the full behavior and restrictions.