Bulk Import

Add up to 200 assets in one request.

POST
/api/v1/assets/bulk-add

Description

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

HeaderValueRequired
AuthorizationBearer <access_token>Yes
Content-Typeapplication/jsonYes

Body Parameters

ParameterTypeRequiredDescription
assetsarrayYesArray of asset objects (max 200).

Each object in assets[]

Fields

ParameterTypeRequiredExampleDescription
product_typestringYesLaptopDevice category (e.g. Laptop, Desktop, Smartphone, Monitor, Printer).
product_namestringYesMacBook Pro 14Product name or model title.
manufacturerstringYesAppleBrand or manufacturer.
serial_numberstringYesC02XK1ABCDEFDevice serial number (must be unique per company).
asset_statusstringYesIn UseCurrent 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_numberstringNoA2338Manufacturer model identifier.
skustringNoMBP-16-2021Stock keeping unit. Cannot be a parent SKU with product variants.
asset_idstringNoIT-1234-ABCDCustomer asset ID. Alias: customer_asset_id.
conditionstringNoGoodNew, Good, Fair, or Poor.
purchase_datestringNo2023-01-15Purchase date (YYYY-MM-DD).
purchase_costnumberNo1999.99Acquisition cost. Alias: price.
purchase_typestringNoLeasedLeased, Owned, Financed, or Rented.
warranty_startstringNo2023-01-15Warranty start date.
warranty_expirestringNo2025-01-14Warranty end date (must be after warranty_start).
warranty_typestringNoManufacturerWarranty type: Manufacturer or Extended.
assign_to_emailstringNojohn.doe@example.comEmployee work email. Required when asset_status is In Use.
departmentstringNoITDepartment name. Created automatically if it does not exist.
location_namestringNoHeadquartersWhere the device is stored or used (e.g. office name).
vendorstringNoCDWVendor or supplier name. Must already exist in your company settings.
descriptionstringNoEngineering team laptopFree-text asset notes.
end_of_lifestringNo2028-06-01Planned end-of-life date (YYYY-MM-DD).
custom_fieldsarrayNoManage-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

ParameterTypeRequiredExampleDescription
processor_namestringNoApple M3 ProCPU / processor.
memorystringNo16 GBRAM.
storagestringNo512 GB SSDStorage capacity.
osstringNomacOS 14Operating system.
mac_addressstringNo00:1A:2B:3C:4D:5EMAC address.
ip_addressstringNo192.168.1.42IP address.
encryptionstringNoFileVaultDisk encryption status or type.
antivirusstringNoInstalledWhether antivirus is Installed or not Installed.

Smartphone / Tablet specifications

Applicable when product_type is Smartphone or Tablet.

Fields

ParameterTypeRequiredExampleDescription
storagestringNo256 GBStorage capacity.
osstringNoiOS 17Operating system.
imeistringNo356938035643809Primary IMEI (must be unique per company).
imei2stringNo356938035643817Secondary IMEI (must be unique per company).
mac_addressstringNo00:1A:2B:3C:4D:5EMAC address.
mdm_statusstringNoEnrolledMDM enrollment status.

Monitor specifications

Applicable when product_type is Monitor.

Fields

ParameterTypeRequiredExampleDescription
screen_sizestringNo27"Display size.
resolutionstringNo2560x1440Screen resolution.
aspect_ratiostringNo16:9Aspect ratio.

Printer specifications

Applicable when product_type is Printer.

Fields

ParameterTypeRequiredExampleDescription
print_resolutionstringNo1200x1200 dpiPrint resolution.
printer_typestringNoLaserPrinter technology type.

Each object in custom_fields[]

Optional per asset. Required applicable fields must be included when creating the asset.

Fields

ParameterTypeRequiredExampleDescription
field_labelstringYesCost CenterCustom field label from Custom Field List.
valuestring | number | boolean | nullNoCost Center AAccepted 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

FieldTypeDescription
successstringOperation status message.
dataarrayCreated asset records.
data[].idstringOpaque asset record ID.
data[].asset_numberstringGenerated unique asset number.
data[].customer_asset_idstringCustomer asset ID.
data[].serial_numberstringDevice serial number.
data[].model_numberstringManufacturer model number.
data[].statusstringAsset status name.
data[].created_atstringCreation timestamp.
data[].custom_fieldsarrayApplicable custom field definitions with stored values for the created asset.
data[].custom_fields[].field_labelstringDisplay label.
data[].custom_fields[].placeholderstring | nullPlaceholder text when configured.
data[].custom_fields[].field_typestringField type (file types are excluded from API responses).
data[].custom_fields[].optionsobject | array | nullSelect/multiselect options when configured.
data[].custom_fields[].is_requiredbooleanWhether a value is required for applicable product types.
data[].custom_fields[].is_readonlybooleanWhen true, the field cannot be set via add, bulk-add, or update (API returns 422).
data[].custom_fields[].default_valuestring | nullDefault value when configured.
data[].custom_fields[].is_globalbooleanWhether the field applies to all product types.
data[].custom_fields[].sort_orderintegerDisplay order.
data[].custom_fields[].validation_rulesobject | nullAdditional validation rules when configured.
data[].custom_fields[].is_activebooleanWhether the definition is active.
data[].custom_fields[].stored_valuestring | nullValue stored for the created asset.

Related Endpoints

Did this page help you?