Update Asset
Update fields on an existing asset.
/api/v1/assets/{id}Description
Send only the fields you want to change. Field names match Add Asset.
If you set asset_status to In Use, include assign_to_email. Send an empty assign_to_email to remove the current assignment.
Device detail fields may be sent at the top level or inside a specifications object.
Optional custom_fields updates stored values for the fields you include. Match field_label values from GET /api/v1/assets/custom-fields.
custom_fields[].value accepts string, number, or boolean (stored as a string). Send empty string or null to clear a previously stored value.
Fields with is_readonly true cannot be set; including them returns 422.
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer <access_token> | Yes |
| Content-Type | application/json | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Serial number, customer asset ID, internal asset ID, or asset number. |
Body Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| product_type | string | No | Laptop | Device category (e.g. Laptop, Desktop, Smartphone, Monitor, Printer). |
| product_name | string | No | MacBook Pro 14 | Product name or model title. |
| manufacturer | string | No | Apple | Brand or manufacturer. |
| serial_number | string | No | C02XK1ABCDEF | Device serial number (must be unique per company). |
| asset_status | string | No | In Use | Current status. Must match a status configured for your company. Common values: Ready to Deploy, In Use, Unprovisioned, Lost/Stolen, Faulty, Recycled, Pending Recovery, Pending, Pending Processing, In Processing, Awaiting Action, Processing Started, Resolved, Under Review, Open, Disposed, Available, Assigned, Faulty, In Use, Retired. |
| model_number | string | No | A2338 | Manufacturer model identifier. |
| sku | string | No | MBP-16-2021 | Stock keeping unit. Cannot be a parent SKU with product variants. |
| asset_id | string | No | IT-1234-ABCD | Customer asset ID. Alias: customer_asset_id. |
| condition | string | No | Good | New, Good, Fair, or Poor. |
| purchase_date | string | No | 2023-01-15 | Purchase date (YYYY-MM-DD). |
| purchase_cost | number | No | 1999.99 | Acquisition cost. Alias: price. |
| purchase_type | string | No | Leased | Leased, Owned, Financed, or Rented. |
| warranty_start | string | No | 2023-01-15 | Warranty start date. |
| warranty_expire | string | No | 2025-01-14 | Warranty end date (must be after warranty_start). |
| warranty_type | string | No | Manufacturer | Warranty type: Manufacturer or Extended. |
| assign_to_email | string | No | john.doe@example.com | Employee work email. Required when asset_status is In Use. |
| department | string | No | IT | Department name. Created automatically if it does not exist. |
| location_name | string | No | Headquarters | Where the device is stored or used (e.g. office name). |
| vendor | string | No | CDW | Vendor or supplier name. Must already exist in your company settings. |
| description | string | No | Engineering team laptop | Free-text asset notes. |
| end_of_life | string | No | 2028-06-01 | Planned end-of-life date (YYYY-MM-DD). |
| custom_fields | array | No | — | Manage-app custom field values. Use Custom Field List to discover field labels. File-type and read-only fields are not writable via API. |
Laptop / Desktop specifications
Applicable when product_type is Laptop or Desktop.
Fields
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| processor_name | string | No | Apple M3 Pro | CPU / processor. |
| memory | string | No | 16 GB | RAM. |
| storage | string | No | 512 GB SSD | Storage capacity. |
| os | string | No | macOS 14 | Operating system. |
| mac_address | string | No | 00:1A:2B:3C:4D:5E | MAC address. |
| ip_address | string | No | 192.168.1.42 | IP address. |
| encryption | string | No | FileVault | Disk encryption status or type. |
| antivirus | string | No | Installed | Whether antivirus is Installed or not Installed. |
Smartphone / Tablet specifications
Applicable when product_type is Smartphone or Tablet.
Fields
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| storage | string | No | 256 GB | Storage capacity. |
| os | string | No | iOS 17 | Operating system. |
| imei | string | No | 356938035643809 | Primary IMEI (must be unique per company). |
| imei2 | string | No | 356938035643817 | Secondary IMEI (must be unique per company). |
| mac_address | string | No | 00:1A:2B:3C:4D:5E | MAC address. |
| mdm_status | string | No | Enrolled | MDM enrollment status. |
Monitor specifications
Applicable when product_type is Monitor.
Fields
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| screen_size | string | No | 27" | Display size. |
| resolution | string | No | 2560x1440 | Screen resolution. |
| aspect_ratio | string | No | 16:9 | Aspect ratio. |
Printer specifications
Applicable when product_type is Printer.
Fields
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| print_resolution | string | No | 1200x1200 dpi | Print resolution. |
| printer_type | string | No | Laser | Printer technology type. |
Each object in custom_fields[]
Optional. Send only the custom fields you want to update. An empty or null value clears the stored value for that field.
Fields
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| field_label | string | No | Cost Center | Custom field label from Custom Field List. |
| value | string | number | boolean | null | No | Cost Center A | Accepted as string, number, or boolean; stored as a string. Prefer strings. Checkbox may use true/false. Multiselect must be a comma-separated string. Required when the definition is required for this product type. Send empty string or null to clear on update. |
Example Request Body
{
"asset_status": "In Use",
"assign_to_email": "john.doe@example.com",
"condition": "Good",
"memory": "32 GB",
"antivirus": "Installed",
"warranty_type": "Extended",
"description": "Upgraded RAM",
"custom_fields": [
{
"field_label": "Cost Center",
"value": "Cost Center B"
}
]
}Response
| Field | Type | Description |
|---|---|---|
| message | string | Human-readable confirmation. |
Related Endpoints
Request
curl -X PUT https://uat.unduit.com/api-exposed/api/v1/assets/C02XK1ABCDEF \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"asset_status": "In Use",
"assign_to_email": "john.doe@example.com",
"condition": "Good",
"memory": "32 GB",
"antivirus": "Installed",
"warranty_type": "Extended",
"description": "Upgraded RAM",
"custom_fields": [
{
"field_label": "Cost Center",
"value": "Cost Center B"
}
]
}'Success Response
{
"message": "Asset updated successfully."
}