Saltar al contenido
Docs
Español
Esc
↑↓navegar↵abrir⌘Jvista previa

Create a room

Creates a physical or online room in your institution. Required: name and personCapacity. For physical rooms, personCapacity must be at least 1; for online rooms set isOnline: true and personCapacity: 0. Optionally link amenities (discover via GET /amenities) and a location in the same request. Scoped to your integration’s institution via Basic Auth credentials.

POST/rooms
Authorization
AuthorizationBasic auth · headerrequired

Basic Auth with clientId as username and clientSecret as password

Header parameters
Idempotency-Keystringrequired
Request body
requiredapplication/json
namestringrequired

Display name for the room, shown in the dashboard and when scheduling appointments (e.g. Lecture Hall A, Seminar Room 3).

max length 100
personCapacityintegerrequired

Maximum number of people the room holds. Required on create. Must be at least 1 for physical rooms (isOnline: false or omitted). Use 0 only when isOnline is true.

min 0 · max 1000
codestring

Optional short identifier for the room. When omitted or empty, a unique code is auto-generated from name.

max length 50
addressNotesstring

Optional free-text notes for finding or accessing the room (e.g. directions, door codes, wheelchair access).

max length 1000
amenityIdsstring[]

Optional IDs of equipment/amenities to link to the room (e.g. Projector, Whiteboard). Discover available amenities via GET /amenities. Amenities must belong to your institution.

locationIdstring | null

Optional ID of a location (campus/building) this room belongs to. Pass null to leave the room unassigned.

isOnlineboolean

Whether this is a virtual/online room rather than a physical space. When true, personCapacity may be 0 and onlineLink can hold the meeting URL.

onlineLinkstring | null

Meeting or video link for online rooms (e.g. Zoom or Teams URL). Only relevant when isOnline is true.

max length 2000
Responses
201

Room created

dataRoomDetailrequired

Full room returned by GET /rooms/{id}, POST /rooms, and PATCH /rooms/{id}. Includes location, equipmentAndAmenities, courses, modules, and scheduledChanges (sorted by most recent startDate first).

Show properties
idstringrequired
namestringrequired
institutionIdstringrequired
personCapacityintegerrequired
addressNotesstringrequired

Additional address notes. Empty string when not set.

codestring | null
locationIdstring | null
statusstringrequired
Allowed:ACTIVEMAINTENANCEINACTIVE
isOnlinebooleanrequired
onlineLinkstring | null
locationLocationSummary | null
Show properties
One of:
LocationSummary
idstringrequired
namestringrequired

Display name for the location — the label shown in the dashboard when managing rooms and assigning them to a site (e.g. Main Campus, North Building, Sleeping Pod Area).

max length 100
addressstringrequired

Physical street or postal address of the location. Used in the dashboard for map display and geocoding — provide a real-world address, not the location name repeated (e.g. 123 University Ave, 10115 Berlin).

max length 500
institutionIdstringrequired
null
null
equipmentAndAmenitiesAmenity[]required

Structured equipment and amenities linked to the room.

Show properties
Array of Amenity
idstringrequired
institutionIdstringrequired
namestringrequired
createdAtstring<date-time>required
updatedAtstring<date-time>required
colorstring | null
iconstring | null
coursesobject[]required
Show properties
Array of object
idstringrequired
roomIdstringrequired
courseIdstringrequired
courseobjectrequired
Show properties
idstringrequired
namestringrequired
codestring | null
colorinteger | null
iconstring | null
iconTypestring | null
layer_idstringrequired
modulesobject[]required
Show properties
Array of object
idstringrequired
roomIdstringrequired
moduleIdstringrequired
moduleobjectrequired
Show properties
idstringrequired
namestringrequired
codestring | null
scheduledChangesRoomScheduledChange[]required

All scheduled status windows for this room (past, active, and future), sorted by most recent startDate first.

Show properties
Array of RoomScheduledChange
idstringrequired
roomIdstringrequired
statusstringrequired
Allowed:ACTIVEMAINTENANCEINACTIVE
startDatestring<date-time>required
endDatestring<date-time> | null
reasonstring | null
createdAtstring<date-time>required
createdByobject | nullrequired
Show properties
One of:
object
idstringrequired
namestringrequired
null
null
metaResponseMetarequired
Show properties
requestIdstringrequired
timestampstring<date-time>required
versionstringrequired
Allowed:v4
400

Bad Request

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
401

Unauthorized

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
409

Conflict

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
422

Unprocessable Entity — validation or business rule error

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
429

Too Many Requests

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
500

Internal Server Error

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://fuxam.app/api/v4/rooms' \
  -H 'Authorization: Basic YOUR_CREDENTIALS' \
  -H 'Idempotency-Key: string' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Lecture Hall A",
  "personCapacity": 120,
  "code": "LHA",
  "addressNotes": "Enter via the north wing, 2nd floor",
  "locationId": "loc_001",
  "amenityIds": [
    "amen_001"
  ],
  "isOnline": false
}'
Response
{
  "data": {
    "id": "room_001",
    "name": "Lecture Hall A",
    "institutionId": "inst_123",
    "personCapacity": 120,
    "addressNotes": "",
    "code": "LHA",
    "locationId": "loc_001",
    "status": "ACTIVE",
    "isOnline": false,
    "onlineLink": null,
    "equipmentAndAmenities": [
      {
        "id": "amen_001",
        "institutionId": "inst_123",
        "name": "Projector",
        "createdAt": "2026-01-01T00:00:00.000Z",
        "updatedAt": "2026-06-01T00:00:00.000Z",
        "color": "#0361fc",
        "icon": "projector"
      }
    ],
    "location": {
      "id": "loc_001",
      "name": "Main Campus",
      "address": "123 University Ave",
      "institutionId": "inst_123"
    },
    "courses": [],
    "modules": [],
    "scheduledChanges": []
  },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-06-26T00:00:00.000Z",
    "version": "v4"
  }
}