Rooms (admin)

Meeting rooms and their bookings. Rooms accept bookings automatically when they're free. Needs Global Administrator.

MethodPathSummary
GET/api/admin/roomsList rooms
POST/api/admin/roomsCreate a room
PATCH/api/admin/rooms/:idUpdate a room
DELETE/api/admin/rooms/:idDeleting a room drops its bookings; meetings keep it on their list
GET/api/admin/rooms/:id/bookingsA room's bookings (next 60 days) for the admin page

#List rooms

GET/api/admin/rooms
Address
https://<your-org>.brambleit.cloud/mail/api/admin/rooms
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Response 200

FieldTypeDescription
roomsarray of any
domainsarray of any
Example response
JSON
{
  "rooms": [],
  "domains": []
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/api/admin/rooms', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Create a room

POST/api/admin/rooms
Address
https://<your-org>.brambleit.cloud/mail/api/admin/rooms
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Request body JSON

NameTypeDescription
namestringThe room's name.
emailstringIts address (invitations go here).
capacitystringHow many people it seats.
locationanyWhere it is.
notesarray of any

Response 200

FieldTypeDescription
roomsarray of any
Example response
JSON
{
  "rooms": []
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/api/admin/rooms', {
  method: 'POST',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({"name":"Example name","email":"alex@example.com","capacity":"string","location":"…","notes":[]}),
});
const data = await res.json();

#Update a room

PATCH/api/admin/rooms/:id
Address
https://<your-org>.brambleit.cloud/mail/api/admin/rooms/:id
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
roomsarray of any
Example response
JSON
{
  "rooms": []
}

Errors

StatusMessage
404Room not found

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/api/admin/rooms/12.5', {
  method: 'PATCH',
  credentials: 'include',
});
const data = await res.json();

#Deleting a room drops its bookings; meetings keep it on their list

DELETE/api/admin/rooms/:id
Address
https://<your-org>.brambleit.cloud/mail/api/admin/rooms/:id
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
roomsarray of any
Example response
JSON
{
  "rooms": []
}

Errors

StatusMessage
404Room not found

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/api/admin/rooms/12.5', {
  method: 'DELETE',
  credentials: 'include',
});
const data = await res.json();

#A room's bookings (next 60 days) for the admin page

GET/api/admin/rooms/:id/bookings
Address
https://<your-org>.brambleit.cloud/mail/api/admin/rooms/:id/bookings
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
titlestring
startany
endany
allDayany
organizerany
Example response
JSON
[
  {
    "title": "Example title",
    "start": null,
    "end": null,
    "allDay": null,
    "organizer": null
  }
]

Errors

StatusMessage
404Room not found

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/api/admin/rooms/12.5/bookings', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();