Add Asset
Add a new device or piece of equipment to your company's asset inventory.
/api/v1/assets/add-assetDescription
Register company equipment such as laptops, phones, monitors, or printers so you can track, assign, and manage it in Unduit.
When asset_status is In Use, include assign_to_email for the employee who will use the device. For statuses like Ready to Deploy, assign_to_email is optional.
Device details (processor, memory, IMEI, screen size, and so on) are optional. Send them as top-level fields or inside a specifications object — include only what applies to the product_type.
Optional custom_fields let you set Manage-app custom field values. Use GET /api/v1/assets/custom-fields to discover field labels for each product type.
custom_fields[].value accepts string, number, or boolean (stored as a string). Multiselect values must be a comma-separated string.
Fields with is_readonly true cannot be set; including them returns 422.
Request
Request Body Parameters
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| product_type | string | Yes | Laptop | Device category (e.g. Laptop, Desktop, Smartphone, Monitor, Printer). |
| product_name | string | Yes | MacBook Pro 14 | Product name or model title. |
| manufacturer | string | Yes | Apple | Brand or manufacturer. |
| serial_number | string | Yes | C02XK1ABCDEF | Device serial number (must be unique per company). |
| asset_status | string | Yes | 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. Required applicable fields must be included when creating an asset.
Fields
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| field_label | string | Yes | 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. |
Response Fields
| Field | Type | Description |
|---|---|---|
| success | string | Operation status message. |
| data | object | Created asset record object. |
| data.id | number | Internal asset ID. |
| data.asset_number | string | Generated unique asset number. |
| data.custom_fields | array | Applicable custom field definitions with stored values for the created asset. |
| data.custom_fields[].field_label | string | Display label. |
| data.custom_fields[].placeholder | string | null | Placeholder text when configured. |
| data.custom_fields[].field_type | string | Field type (file types are excluded from API responses). |
| data.custom_fields[].options | object | array | null | Select/multiselect options when configured. |
| data.custom_fields[].is_required | boolean | Whether a value is required for applicable product types. |
| data.custom_fields[].is_readonly | boolean | When true, the field cannot be set via add, bulk-add, or update (API returns 422). |
| data.custom_fields[].default_value | string | null | Default value when configured. |
| data.custom_fields[].is_global | boolean | Whether the field applies to all product types. |
| data.custom_fields[].sort_order | integer | Display order. |
| data.custom_fields[].validation_rules | object | null | Additional validation rules when configured. |
| data.custom_fields[].is_active | boolean | Whether the definition is active. |
| data.custom_fields[].stored_value | string | null | Value stored for the created asset. |
Related Endpoints
Request
curl -X POST https://uat.unduit.com/api-exposed/api/v1/assets/add-asset \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"product_type": "Laptop",
"product_name": "MacBook Pro 14",
"manufacturer": "Apple",
"serial_number": "C02XK1ABCDEF",
"asset_status": "In Use",
"model_number": "A2338",
"sku": "MBP-16-2021",
"asset_id": "IT-1234-ABCD",
"condition": "Good",
"purchase_date": "2023-01-15",
"purchase_cost": 1999.99,
"purchase_type": "Leased",
"warranty_start": "2023-01-15",
"warranty_expire": "2025-01-14",
"warranty_type": "Manufacturer",
"assign_to_email": "john.doe@example.com",
"department": "IT",
"location_name": "Headquarters",
"vendor": "CDW",
"description": "Engineering team laptop",
"processor_name": "Apple M3 Pro",
"memory": "16 GB",
"storage": "512 GB SSD",
"os": "macOS 14",
"mac_address": "00:1A:2B:3C:4D:5E",
"ip_address": "192.168.1.42",
"encryption": "FileVault",
"antivirus": "Installed",
"custom_fields": [
{
"field_label": "Cost Center",
"value": "Cost Center A"
}
]
}'Success Response
{
"success": "Asset created successfully",
"data": {
"id": 24546,
"company_id": 317,
"user_id": 0,
"purchase_id": 0,
"product_type_id": 4108,
"product_category_id": 1,
"model_id": 1196,
"asset_id": "",
"customer_asset_id": "IT-112342443E1234",
"serial_number": "2312E2334E234",
"model_number": "A23338",
"status_id": 60,
"condition": "Good",
"purchase_date": "2023-01-15",
"price": 1999.99,
"purchase_type": 1,
"warranty_start": "2023-01-15",
"warranty_expire": "2025-01-14",
"warranty_type": "Manufacturer",
"assign_to": 8019,
"department_id": 88,
"asset_location_beta": 132,
"imei": "",
"imei2": "",
"processor_name": "Apple M3 Pro",
"memory": "16 GB",
"storage": "512 GB SSD",
"os": "macOS 14",
"mac_address": "00:1A:2B:3C:4D:5E",
"ip_address": "192.168.1.42",
"encryption": "FileVault",
"antivirus": "Installed",
"mdm_status": "",
"screen_size": "",
"resolution": "",
"aspect_ratio": "",
"print_resolution": "",
"printer_type": "",
"description": "Engineering team laptop",
"end_of_life": "2028-06-01",
"asset_assign_date": "",
"vendor_id": 12,
"currency_code": "",
"currency_symbol": "",
"sku": "MBP-16-2021",
"address_1": "",
"city": "",
"state": "",
"zip": "",
"is_old": 0,
"status": "In Use",
"created_at": "2025-06-02 04:48:25",
"updated_at": "2025-06-02 04:48:25",
"asset_number": "2454620250602044825",
"custom_fields": [
{
"field_label": "Cost Center",
"placeholder": null,
"field_type": "text",
"options": null,
"is_required": true,
"is_readonly": false,
"default_value": null,
"is_global": false,
"sort_order": 0,
"validation_rules": null,
"is_active": true,
"stored_value": "Cost Center A"
}
]
}
}