---
title: "Create or cancel a draft meeting"
description: "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


Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. Optional inputs are documented in the resource input reference.

```shell
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
}'
```



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.


Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. 

```shell
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.


Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. 

```shell
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](https://docs.brella.io/cookbook/meetings#input-reference) for the full behavior and restrictions.
