Meeting routes: book, cancel, hold
The Meeting Verbs book, cancel, hold as api.sb routes, with inputs, result, refusals and an example.
Reference for Meeting, one group of Meeting routes.
Meeting.book
Book schedules a Meeting with a Contact at a time both calendars hold free. Verb page.
POST /{namespace}/ meetings/ bookBody, as JSON: the inputs. Emits Meeting.booked.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | Who to meet. |
at | datetime | required | When. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
meeting | Meeting | required | The booked Meeting. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ meetings/ book \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"contact": "contact_WsrosCQi6J", "at": "2026-10-22T12: 00: 00Z"}'{
"api": "https: //api.sb/ leaseline.app",
"meeting": {
"$id": "https: //api.sb/ leaseline.app/ meetings/ meeting_TyEQGjh9uX",
"$type": "Meeting",
"at": "2026-10-22T12: 00: 00Z"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Meeting.book",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Meeting.cancel
Cancel ends a scheduled Meeting before it starts, frees its time, and applies the refund rule of any Offer it was paid through. Verb page.
POST /{namespace}/ meetings/ {meeting}/ cancelPath: meeting. Body, as JSON: the other inputs. Emits Meeting.canceled.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
meeting | Meeting | required | The Meeting to cancel. |
reason | string | Why, as the attendees read it. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
meeting | Meeting | required | The canceled Meeting. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ meetings/ meeting_TyEQGjh9uX/ cancel \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"meeting": {
"$id": "https: //api.sb/ leaseline.app/ meetings/ meeting_TyEQGjh9uX",
"$type": "Meeting",
"at": "2026-10-22T12: 00: 00Z"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Meeting.cancel",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Meeting.hold
Hold records that a Meeting took place, with its transcript and notes, so its Decisions and Tasks can follow. Verb page.
POST /{namespace}/ meetings/ {meeting}/ holdPath: meeting. Body, as JSON: the other inputs. Emits Meeting.held.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
meeting | Meeting | required | The Meeting that took place. |
transcript | text | What was said. | |
notes | text | What was agreed, in brief. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
meeting | Meeting | required | The held Meeting. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ meetings/ meeting_TyEQGjh9uX/ hold \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"meeting": {
"$id": "https: //api.sb/ leaseline.app/ meetings/ meeting_TyEQGjh9uX",
"$type": "Meeting",
"at": "2026-10-22T12: 00: 00Z"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Meeting.hold",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}