Skip to main content
PUT
/
api
/
sys
/
floorplans
Update FloorPlan
curl --request PUT \
  --url https://spaces.nexudus.com/api/sys/floorplans \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "Id": 123,
  "BusinessId": 123,
  "Name": "<string>",
  "BackgroundScale": 123,
  "PositionX": 123,
  "PositionY": 123,
  "FloorLevel": 123,
  "Scale": 123
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Updates an existing FloorPlan 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 FloorPlan-Edit role.

Request Body

Required Fields

Id
integer
required
The Id of the FloorPlan record to update.
BusinessId
integer
required
ID of the location this floor plan belongs to.
Name
string
required
Display name of the floor plan (e.g. ‘Ground Floor’, ‘Level 2’).
BackgroundScale
integer
required
Zoom/scale factor applied to the background/tracing image, expressed as a percentage (e.g. 100 = original size).
PositionX
integer
required
Horizontal offset (in pixels) of the background image within the floor plan canvas.
PositionY
integer
required
Vertical offset (in pixels) of the background image within the floor plan canvas.
FloorLevel
integer
required
Floor number used to order floor plans (e.g. 0 = ground floor, 1 = first floor, -1 = basement).
Scale
number
required
Real-world scale of the floor plan, representing how many real-world units correspond to one canvas unit.

Optional Fields

FloorPlanLayoutId
integer
ID of the floor plan layout template to apply to this floor plan.
NewBackgroundImageUrl
string
URL of a new background/tracing image to upload. The image will be fetched and stored when the floor plan is saved.
ClearBackgroundImageFile
boolean
Set to true to remove the current background/tracing image from this floor plan.
DisplayBackground
boolean
Whether the background/tracing image is visible when the floor plan is rendered.
Capacity
integer
Maximum number of people this floor can accommodate at the same time.
ArchilogicUniqueId
string
Unique identifier used to link this floor plan to a corresponding Archilogic 3D model.

Code Examples

curl -X PUT \
  "https://spaces.nexudus.com/api/sys/floorplans" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "BackgroundScale": 0,
    "PositionX": 0,
    "PositionY": 0,
    "FloorLevel": 0,
    "Scale": 0,
    "Id": 87654321
}'

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 floorplan was updated successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "FloorPlan 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
}