Add Asset

Add a new device or piece of equipment to your company's asset inventory.

POST
/api/v1/assets/add-asset

Description

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

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. Required applicable fields must be included when creating an 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.

Response Fields

FieldTypeDescription
successstringOperation status message.
dataobjectCreated asset record object.
data.idnumberInternal asset ID.
data.asset_numberstringGenerated unique asset number.
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?