# Furniture

## Add furniture asset

 - [POST /api/v1/furniture/add](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1add/post.md): Creates a new furniture asset within the current account context.
            
Behavior:
- Resolves the furniture asset type for the account
- Applies asset details from the request body
- Creates the furniture asset record
- Returns the newly created asset details
- Logs the action as a furniture addition event

## Update furniture asset

 - [POST /api/v1/furniture/{assetIdentifier}](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D/post.md): Updates the specified furniture asset within the current account context.
            
Behavior:
- Validates asset association with the account
- Resolves the furniture asset type for the account
- Applies updated asset details from the request body
- Persists changes to the furniture asset record
- Returns the updated asset details
- Logs the action as a furniture update event

## Get furniture asset details

 - [GET /api/v1/furniture/{assetIdentifier}](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D/get.md): Returns detailed information for the specified furniture asset within the current account context.
            
Behavior:
- Validates asset association with the account
- Retrieves furniture asset details and related metadata
- Returns structured asset detail response
- Logs the action as a furniture view event

## Remove furniture asset

 - [POST /api/v1/furniture/{assetIdentifier}/remove](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D~1remove/post.md): Removes the specified furniture asset within the current account context based on the provided removal details.
            
Behavior:
- Validates asset association with the account
- Applies removal rules from the request body
- Marks or deletes the furniture asset as per business logic
- Returns removal confirmation details
- Logs the action as a furniture removal event

## List furniture assets

 - [POST /api/v1/furniture/list](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1list/post.md): Returns a filtered and/or paginated list of furniture assets within the current account context.
            
Behavior:
- Resolves the furniture asset type for the account
- Applies filtering criteria from the request body
- Supports pagination using the start query parameter
- Retrieves furniture assets associated with the account
- Returns structured furniture list response data
- Logs the action as a furniture list view event

## List furniture asset types

 - [GET /api/v1/furniture/assettypes/list](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assettypes~1list/get.md): Returns the list of available furniture asset types within the current account context.
            
Behavior:
- Retrieves asset types configured for furniture
- Filters asset types based on account scope
- Returns asset type identifiers and descriptive details
- Logs the action as a furniture asset type list view event

## List furniture asset classes

 - [POST /api/v1/furniture/assetclass/list](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assetclass~1list/post.md): Returns the list of available furniture asset classes within the current account context based on the provided search criteria.
            
Behavior:
- Applies keyword filtering from the request body
- Retrieves asset classes configured for furniture
- Filters results based on account scope
- Returns asset class identifiers and descriptive details
- Logs the action as a furniture asset class list view event

## Get asset class details

 - [GET /api/v1/furniture/assetclass/{assetClassIdentifier}](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assetclass~1%7Bassetclassidentifier%7D/get.md): Returns detailed information for the specified furniture asset class within the current account context.
            
Behavior:
- Validates asset class association with the account
- Retrieves asset class configuration and descriptive details
- Returns structured asset class detail response
- Logs the action as a furniture asset class view event

## List asset classes by type

 - [GET /api/v1/furniture/assettypes/{assetTypeIdentifier}/assetclass/list](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assettypes~1%7Bassettypeidentifier%7D~1assetclass~1list/get.md): Returns the list of asset classes associated with the specified furniture asset type within the current account context.
            
Behavior:
- Validates asset type association with the account
- Retrieves all asset classes linked to the specified asset type
- Returns asset class identifiers and descriptive details
- Logs the action as a furniture asset type classes view event

## Update furniture asset image

 - [POST /api/v1/furniture/{assetIdentifier}/assetimage](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D~1assetimage/post.md): Uploads or replaces the image associated with the specified furniture asset within the current account context.
            
Behavior:
- Validates asset association with the account
- Validates provided file identifier
- Associates the file as the asset image
- Updates existing image if one already exists
- Returns updated file detail information
- Logs the action as an asset image upload event

## Get furniture asset status

 - [GET /api/v1/furniture/{assetIdentifier}/status](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D~1status/get.md): Returns the current status information for the specified furniture asset within the current account context.
            
Behavior:
- Validates asset association with the account
- Retrieves current status details of the asset
- Returns structured status information response
- Logs the action as an asset status view event

## Update furniture asset status

 - [POST /api/v1/furniture/{assetIdentifier}/status](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D~1status/post.md): Updates the current status of the specified furniture asset within the current account context based on the provided status details.
            
Behavior:
- Validates asset association with the account
- Validates status details from the request body
- Applies status change according to business rules
- Persists updated status information
- Returns updated status details
- Logs the action as an asset status update event

## Updates multiple furniture assets

 - [POST /api/v1/furniture/update](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1update/post.md): Applies bulk updates to multiple furniture assets within the current account context based on the provided request data.
            
Behavior:
- Resolves the furniture asset type for the account
- Validates asset associations within the account
- Processes update rules for multiple asset records
- Applies changes according to the request model
- Returns the updated furniture asset details list
- Logs the action as a multiple furniture update event

## Get paginated asset classes

 - [POST /api/v1/furniture/assetclass/list/all](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assetclass~1list~1all/post.md): Returns a filtered and paginated list of furniture asset classes within the current account context.
            
Behavior:
- Applies filtering criteria from the request body
- Uses the start query parameter for pagination
- Retrieves asset classes associated with furniture
- Returns structured asset class list response data
- Logs the action as a furniture asset class list view event

## Get related furniture assets

 - [POST /api/v1/furniture/{assetIdentifier}/relatedAssets](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D~1relatedassets/post.md): Returns assets related to the specified furniture asset within the current account context based on the provided relation criteria.
            
Behavior:
- Validates asset association with the account
- Applies relation type filtering from the request body
- Retrieves assets linked to the specified asset
- Returns structured related asset details
- Logs the action as a related asset view event

## Get grouped asset locations

 - [POST /api/v1/furniture/{assetIdentifier}/assetlocation/list](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetidentifier%7D~1assetlocation~1list/post.md): Returns a grouped list of location instances associated with the specified furniture asset within the current account context.
            
Behavior:
- Validates asset association with the account
- Applies filtering criteria from the request body if provided
- Retrieves asset instance locations grouped by hierarchy or category
- Returns structured grouped location response data
- Logs the action as an asset instance location list view event

## Get asset instance location details

 - [GET /api/v1/furniture/assetlocation/{assetLocationIdentifier}](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assetlocation~1%7Bassetlocationidentifier%7D/get.md): Returns detailed information for the specified furniture asset instance location within the current account context.
            
Behavior:
- Validates asset location identifier
- Retrieves grouped asset location details and related metadata
- Returns structured asset instance location response
- Logs the action as an asset instance location view event

## Update asset instance location

 - [POST /api/v1/furniture/assetlocation/{assetLocationIdentifier}](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1assetlocation~1%7Bassetlocationidentifier%7D/post.md): Updates the specified furniture asset instance location within the current account context based on the provided request details.
            
Behavior:
- Validates asset location association with the account
- Validates update details from the request body
- Applies changes to the grouped asset location record
- Persists updated location information
- Returns updated asset instance location details
- Logs the action as an asset instance location update event

## Get paginated furniture basics

 - [POST /api/v1/furniture/basic/list](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1basic~1list/post.md): Returns a filtered and paginated list of basic furniture asset details within the current account context.
            
Behavior:
- Resolves the furniture asset type for the account
- Applies filtering criteria from the request body
- Supports pagination using the start query parameter
- Retrieves essential furniture asset information only
- Returns structured basic asset list response data
- Logs the action as a furniture basic list view event

## Get furniture changeset history

 - [POST /api/v1/furniture/{assetId}/changesets](https://zonedevelopersdocumentationv1.redocly.app/apis/furniture/paths/~1api~1v1~1furniture~1%7Bassetid%7D~1changesets/post.md): Returns the changeset history for the specified furniture asset within the current account context based on the provided request criteria.
            
Behavior:
- Validates asset association with the account
- Applies filtering criteria from the request body
- Supports pagination using limit and start query parameters
- Retrieves historical changesets for the asset
- Returns structured changeset history response
- Logs the action as a furniture changeset view event

