Bulk Import
Add up to 200 assets in one request.
/api/v1/assets/bulk-addDescription
Add multiple assets using the same fields as Add Asset.
All rows are validated before anything is saved. If any row fails, none are created.
Device detail fields may be sent at the top level or inside a specifications object.
Each asset object may include custom_fields. Required applicable custom fields must be provided per row.
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
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer <access_token> | Yes |
| Content-Type | application/json | Yes |
Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| assets | array | Yes | Array of asset objects (max 200). |
Each object in assets[]
Fields
| 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 per asset. Required applicable fields must be included when creating the 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. |
Example Request Body
{
"assets": [
{
"product_type": "Laptop",
"product_name": "MacBook Pro 14",
"manufacturer": "Apple",
"serial_number": "C02XK1ABCDEF",
"asset_status": "Ready to Deploy",
"model_number": "A2338",
"asset_id": "IT-1234-ABCD",
"condition": "Good",
"purchase_cost": 1999.99,
"warranty_type": "Manufacturer",
"vendor": "CDW",
"processor_name": "Apple M3 Pro",
"memory": "16 GB",
"storage": "512 GB SSD",
"os": "macOS 14",
"antivirus": "Installed",
"custom_fields": [
{
"field_label": "Cost Center",
"value": "Cost Center A"
}
]
},
{
"product_type": "Printer",
"product_name": "LaserJet Pro M404dn",
"manufacturer": "HP",
"serial_number": "CNFK8A1B2C",
"asset_status": "Ready to Deploy",
"model_number": "W1A52A",
"sku": "HP-LJ-M404",
"asset_id": "IT-5678-PRTR",
"condition": "Good",
"purchase_date": "2024-03-01",
"purchase_cost": 449.99,
"purchase_type": "Owned",
"warranty_start": "2024-03-01",
"warranty_expire": "2027-02-28",
"warranty_type": "Manufacturer",
"assign_to_email": "jane.admin@example.com",
"department": "Operations",
"location_name": "Print Room - Floor 2",
"vendor": "CDW",
"description": "Shared office laser printer",
"end_of_life": "2029-03-01",
"print_resolution": "1200x1200 dpi",
"printer_type": "Laser"
}
]
}Response
| Field | Type | Description |
|---|---|---|
| success | string | Operation status message. |
| data | array | Created asset records. |
| data[].id | string | Opaque asset record ID. |
| data[].asset_number | string | Generated unique asset number. |
| data[].customer_asset_id | string | Customer asset ID. |
| data[].serial_number | string | Device serial number. |
| data[].model_number | string | Manufacturer model number. |
| data[].status | string | Asset status name. |
| data[].created_at | string | Creation timestamp. |
| 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/bulk-add \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"assets": [
{
"product_type": "Laptop",
"product_name": "MacBook Pro 14",
"manufacturer": "Apple",
"serial_number": "C02XK1ABCDEF",
"asset_status": "Ready to Deploy",
"model_number": "A2338",
"asset_id": "IT-1234-ABCD",
"condition": "Good",
"purchase_cost": 1999.99,
"warranty_type": "Manufacturer",
"vendor": "CDW",
"processor_name": "Apple M3 Pro",
"memory": "16 GB",
"storage": "512 GB SSD",
"os": "macOS 14",
"antivirus": "Installed",
"custom_fields": [
{
"field_label": "Cost Center",
"value": "Cost Center A"
}
]
},
{
"product_type": "Printer",
"product_name": "LaserJet Pro M404dn",
"manufacturer": "HP",
"serial_number": "CNFK8A1B2C",
"asset_status": "Ready to Deploy",
"model_number": "W1A52A",
"sku": "HP-LJ-M404",
"asset_id": "IT-5678-PRTR",
"condition": "Good",
"purchase_date": "2024-03-01",
"purchase_cost": 449.99,
"purchase_type": "Owned",
"warranty_start": "2024-03-01",
"warranty_expire": "2027-02-28",
"warranty_type": "Manufacturer",
"assign_to_email": "jane.admin@example.com",
"department": "Operations",
"location_name": "Print Room - Floor 2",
"vendor": "CDW",
"description": "Shared office laser printer",
"end_of_life": "2029-03-01",
"print_resolution": "1200x1200 dpi",
"printer_type": "Laser"
}
]
}'Success Response
{
"success": "Assets created successfully",
"data": [
{
"id": "2309186-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-1234-ABCD",
"serial_number": "C02XK1ABCDEF",
"model_number": "A2338",
"status_id": 58,
"condition": "Good",
"purchase_date": "2023-01-15",
"price": 1999.99,
"purchase_type": 0,
"warranty_start": null,
"warranty_expire": null,
"warranty_type": "Manufacturer",
"assign_to": 0,
"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": "",
"ip_address": "",
"encryption": "",
"antivirus": "Installed",
"mdm_status": "",
"screen_size": "",
"resolution": "",
"aspect_ratio": "",
"print_resolution": "",
"printer_type": "",
"description": "",
"end_of_life": null,
"asset_assign_date": "",
"vendor_id": 12,
"currency_code": "",
"currency_symbol": "",
"sku": "",
"address_1": "",
"city": "",
"state": "",
"zip": "",
"is_old": 0,
"status": "Ready to Deploy",
"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"
}
]
},
{
"id": "2309187-24547",
"company_id": 317,
"user_id": 0,
"purchase_id": 0,
"product_type_id": 4112,
"product_category_id": 1,
"model_id": 1204,
"asset_id": "",
"customer_asset_id": "IT-5678-PRTR",
"serial_number": "CNFK8A1B2C",
"model_number": "W1A52A",
"status_id": 58,
"condition": "Good",
"purchase_date": "2024-03-01",
"price": 449.99,
"purchase_type": 0,
"warranty_start": "2024-03-01",
"warranty_expire": "2027-02-28",
"warranty_type": "Manufacturer",
"assign_to": 0,
"department_id": 92,
"asset_location_beta": 145,
"imei": "",
"imei2": "",
"processor_name": "",
"memory": "",
"storage": "",
"os": "",
"mac_address": "",
"ip_address": "",
"encryption": "",
"antivirus": "",
"mdm_status": "",
"screen_size": "",
"resolution": "",
"aspect_ratio": "",
"print_resolution": "1200x1200 dpi",
"printer_type": "Laser",
"description": "Shared office laser printer",
"end_of_life": "2029-03-01",
"asset_assign_date": "",
"vendor_id": 12,
"currency_code": "",
"currency_symbol": "",
"sku": "HP-LJ-M404",
"address_1": "",
"city": "",
"state": "",
"zip": "",
"is_old": 0,
"status": "Ready to Deploy",
"created_at": "2025-06-02 04:48:26",
"updated_at": "2025-06-02 04:48:26",
"asset_number": "2454720250602044826"
}
]
}