Skip to main content
PUT
/
api
/
spaces
/
resources
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Updates an existing Resource record. You must include the Id of the record to update along with all required fields.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the Resource-Edit role.

Enums

ValueName
0None
1MeetingRoom
2HotDesk
3PrivateOffice
4EventSpace
5Lab
6Kitchen
7TreatmentRoom
9StorageUnit
10Machine
11DayPass
12PhoneBooth
99Other
ValueName
0None
1Absolute
2Percentage

Request Body

Required Fields

Id
integer
required
The Id of the Resource record to update.
BusinessId
integer
required
Business Id.
Name
string
required
Display name of the resource (e.g., ‘Board Room A’, ‘Phone Booth 3’)..
ResourceTypeId
integer
required
Resource Type Id.
DisplayOrder
integer
required
Sort position when listing resources. Lower values appear first..

Optional Fields

SystemResourceType
integer
Built-in resource category used for system behaviour (e.g., MeetingRoom, HotDesk, PhoneBooth). Distinct from the custom ResourceType.. See eResourceType enum above.
Description
string
Free-text description shown to users when viewing the resource details..
NewPictureUrl
string
New Picture Url.
ClearPictureFile
boolean
Clear Picture File.
EmailConfirmationContent
string
Custom HTML or text included in booking confirmation emails for this resource..
Visible
boolean
Whether the resource is visible and bookable by end users. Hidden resources can still be booked by admins..
RequiresConfirmation
boolean
When true, bookings for this resource are held as pending until an admin approves them..
GroupName
string
Optional grouping label used to cluster related resources together in the UI (e.g., ‘Floor 2’)..
Projector
boolean
Amenity flag: resource has a projector..
Internet
boolean
Amenity flag: resource has internet access..
ConferencePhone
boolean
Amenity flag: resource has a conference phone..
StandardPhone
boolean
Amenity flag: resource has a standard phone..
WhiteBoard
boolean
Amenity flag: resource has a whiteboard..
LargeDisplay
boolean
Amenity flag: resource has a large display..
Catering
boolean
Amenity flag: catering is available for this resource..
TeaAndCoffee
boolean
Amenity flag: tea and coffee are available..
Drinks
boolean
Amenity flag: drinks are available..
SecurityLock
boolean
Amenity flag: resource has a security lock..
CCTV
boolean
Amenity flag: resource has CCTV coverage..
VoiceRecorder
boolean
Amenity flag: resource has a voice recorder..
AirConditioning
boolean
Amenity flag: resource has air conditioning..
Heating
boolean
Amenity flag: resource has heating..
NaturalLight
boolean
Amenity flag: resource has natural light..
StandingDesk
boolean
Amenity flag: resource has a standing desk..
QuietZone
boolean
Amenity flag: resource is located in a quiet zone..
WirelessCharger
boolean
Amenity flag: resource has a wireless charger..
PrivacyScreen
boolean
Amenity flag: resource has a privacy screen..
Soundproof
boolean
Amenity flag: resource is soundproof..
VideoConferencing
boolean
Amenity flag: resource has video conferencing equipment..
DualDisplayScreen
boolean
Amenity flag: resource has a dual display screen..
DisplayScreen
boolean
Amenity flag: resource has a display screen..
WirelessPresentation
boolean
Amenity flag: resource has wireless presentation capabilities..
PaSystem
boolean
Amenity flag: resource has a PA system..
DesktopMonitor
boolean
Amenity flag: resource has a desktop monitor..
FlipChart
boolean
Amenity flag: resource has a flip chart..
SecureStorage
boolean
Amenity flag: resource has secure storage..
AllowMultipleBookings
boolean
When true, overlapping bookings are permitted up to the Allocation capacity..
Allocation
integer
Maximum number of attendees or concurrent bookings allowed. Used with AllowMultipleBookings to control capacity..
LimitVisitorsToAllocation
boolean
When true, the total number of visitors added to a booking cannot exceed the Allocation capacity..
BookInAdvanceLimit
number
Maximum number of days in advance a booking can be made for this resource. Null means no limit..
LateBookingLimit
number
Minimum lead time (in minutes) required before a booking can start. Prevents last-minute bookings..
LateCancellationLimit
integer
Cut-off in minutes before the booking start time. Cancellations after this point are considered late and may incur a fee..
IntervalLimit
integer
Minimum interval (in minutes) between consecutive bookings on this resource, used as a buffer for setup or cleaning..
NoReturnPolicy
integer
Cooldown in minutes: prevents the same user from booking this specific resource again within this window after their last booking ends..
NoReturnPolicyAllResources
integer
Cooldown in minutes: prevents the same user from booking any resource after booking this one, for the specified window..
NoReturnPolicyAllUsers
integer
Cooldown in minutes: prevents any user from booking this resource within the specified window after the previous booking ends..
MaxBookingLength
integer
Maximum allowed duration for a single booking on this resource, in minutes..
MinBookingLength
integer
Minimum allowed duration for a single booking on this resource, in minutes..
Tariffs
integer[]
Tariffs.
AddedTariffs
integer[]
Added Tariffs.
RemovedTariffs
integer[]
Removed Tariffs.
Teams
integer[]
Teams.
AddedTeams
integer[]
Added Teams.
RemovedTeams
integer[]
Removed Teams.
Shifts
string
JSON-encoded shifts configuration defining the resource’s availability schedule..
LinkedResources
integer[]
Linked Resources.
AddedLinkedResources
integer[]
Added Linked Resources.
RemovedLinkedResources
integer[]
Removed Linked Resources.
GoogleCalendarId
string
Google Calendar Id.
KisiGroupId
string
Kisi Group Id.
AccessControlGroupId
string
Access Control Group Id.
Longitude
number
GPS longitude coordinate of the resource’s physical location..
Latitude
number
GPS latitude coordinate of the resource’s physical location..
HideInCalendar
boolean
When true, this resource does not appear on the booking calendar view..
Archived
boolean
When true, the resource is archived and hidden from all views. It cannot be booked..
UseSharedZoomAccount
boolean
When true, bookings for this resource use the location’s shared Zoom account to create virtual meetings..
ZoomAccessToken
string
Zoom Access Token.
ZoomRefreshToken
string
Zoom Refresh Token.
ZoomUserId
string
Zoom user ID used to host virtual meetings when UseSharedZoomAccount is false..
LastCleanedAt
string
Timestamp of the last cleaning event for this resource..
Office365CalendarId
string
Office365Calendar Id.
LinkedResourceIds
string
Comma-separated string of linked resource IDs (read-only alternative view of LinkedResources)..
OnlyForContacts
boolean
When true, only contacts (non-member customers) can book this resource..
OnlyForMembers
boolean
When true, only active members (coworkers with a plan) can book this resource..
OnlyForInvoicingBusiness
boolean
When true, only coworkers invoiced by this specific location can book this resource..
BookingAvailabilityExceptions
integer[]
Booking Availability Exceptions.
AddedBookingAvailabilityExceptions
integer[]
Added Booking Availability Exceptions.
RemovedBookingAvailabilityExceptions
integer[]
Removed Booking Availability Exceptions.
CancellationFeeProductId
integer
Cancellation Fee Product Id.
ChargeCancellationFee
boolean
When true, a fee is charged for late cancellations (past the LateCancellationLimit)..
CancellationFeeType
integer
How the cancellation fee is calculated: Absolute (fixed amount) or Percentage (of booking cost).. See eCancellationFeeType enum above.
CancellationFeeAmount
number
Fixed cancellation fee amount. Used when CancellationFeeType is Absolute..
CancellationFeePercentage
number
Cancellation fee as a percentage of the booking cost. Used when CancellationFeeType is Percentage..
RepeatBookingQuantityLimit
integer
Maximum number of occurrences allowed when creating a recurring booking for this resource..
RepeatBookingPeriodLimitInMonths
integer
Maximum time span (in months) over which a recurring booking series can extend..

Children

TimeSlots
object[]
The days and times this resource is available for booking. The year, month and day component of FromTime/ToTime is always 1976-01-01.

Code Examples

curl -X PUT \
  "https://spaces.nexudus.com/api/spaces/resources" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "ResourceTypeId": 0,
    "DisplayOrder": 0,
    "Id": 87654321,
    "TimeSlots": [
        {
            "DayOfWeek": 0,
            "FromTime": "2025-01-15T10:30:00Z",
            "ToTime": "2025-01-15T10:30:00Z"
        }
    ]
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the update.
Value
object
Contains the Id of the updated record.
WasSuccessful
boolean
true if the resource was updated successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "Resource was successfully updated.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}