Asset API Changes

Asset API Changes

Asset API  

This document outlines the differences between the deprecated V3 API and the new V3 API for the Assets module. The new V3 API is available for customers who have upgraded to build 15100 of ServiceDesk Plus or 7700 of AssetExplorer, and introduces a more robust and standardized approach to asset management.
We recommend migrating to the new V3 API for all new integrations and applications.
Note:
  1. Support for the older V3 API will be provided until April 2026.
  2. All CRUD operations are supported in the APIs. However, only old asset and workstation additional fields, along with CI attributes created before the migration, will be fetched in the old APIs.
Temporarily Supported APIs
Unsupported APIs
/api/v3/assets
/api/v3/workstations
api/v3/assetcis
api/v3/workstationcis
api/v3/virtual_hosts
Api/v3/virtual_machines
 
Notes
For CMDB API, refer to this document
Contents:
Add Asset
Get All Assets
Get Metainfo
Workstations
Get Workstations
Update Workstations
Get Servers
Get CI Attributes of Asset
Get Asset Linked to CI  
Get Virtual Hosts
Get Virtual Machines  
Fetch Virtual Machines Under a Virtual Host
Get Associated Software
Get Workstations Based on IP Address
Get Assets Based on IP Address
Add Costs
Get Disposed
Add Attachments
Fetch Attachments List
Download Attachments
Convenience Operations
Bulk Update Assets
Fetch Assets with Service Tag
Fetch Assets with User
Fetch Assets Associated to User
Fetch Assets Based on State
 

Add Asset 

  1. The assets API is renamed to asset_assets.
  2. The asset_assets API does not support the Add Asset operation.
  3. Previously, a common API was used for product types. Now, there is a separate API for each product type. 
 
The API for the Access Point product type is given below:
 
Old Format
New Format
URL
/api/v3/assets
api/v3/asset_access_points
Input Data
{
    "asset": {
        "name": "asset-auto-lab1",
        "product": {
            "name": "HP LaserJet M1005"
        },
        "barcode": "YD-KKE-KDKKD",
        "asset_tag": "393939KDEK",
        "acquisition_date": {
            "value": "1588617009000"
        },
        "purchase_cost": "1000.00",
        "expiry_date": {
            "value": "1588617940000"
        },
        "warranty_expiry": {
            "value": "1588617200800"
        },
        "state": {
            "name": "In Store"
        }
    }
}
{
    "asset_access_point": {
        "name": "Access Point Asset 1",
        "product": {
            "id": "1201",
            "name": "Access Point Product 1"
        },
        "asset_tag": "Asset Tag 123",
        "vendor": {
            "id": "301",
            "name": "Vendor 1"
        },
        "barcode": "Access Point Asset 1",
        "state": {
            "id": "1",
            "name": "In Store"
        },
        "retain_user_site": true,
        "is_loanable": false,
        "purchase_cost": "2000.00"
    }
}
 

Get All Assets

  1. For GET requests, provide the input_data in GET Params section, and encode the input_data before sending the request.
  2. The older assets API in the released version fetches all access points as mentioned in  "filter_by": { "id": 9 }
  3. The new asset_assets API fetches all assets, including custom product types and components.
  4. To fetch assets under a specific product type, you can either use API specific to the product type API (e.g., api/v3/asset_access_points), or use the search_criteria field with module.id instead of product_type.id.
  5. Using the API specific to the product type will list all the assets including the assets of child product types. Whereas using search criteria lists only the assets of that particular module.
  6. The asset_assets API does not fetch product type-specific fields such as subforms and UDFs. Only the basic fields (fields included for the Asset product type) are returned.
 
Old Format
New Format
URL
api/v3/assets
api/v3/asset_assets
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "condition": "is",
            "field":     "product_type.id",
            "value": "9"
        },
        "sort_field": "name",
        "sort_order": "asc",
        "filter_by": {
            "id": 9
        },
        "fields_required": [
            "name",
            "product_type",
            "product",
            "state",
            "user",
            "department",
            "org_serial_number",
            "purchase_cost",
            "vendor",
            "is_loaned",
            "loan_end",
            "ci",
            "last_success_audit"
        ]
    }
}
{
    "list_info": {
        "sort_field": "name",
        "sort_order": "asc",
        "row_count": "25",
        "search_criteria": {
            "condition": "is",
            "field": "module.id",
            "value": "70"
        },
        "fields_required": [
            "name",
            "module",
            "product",
            "primary_ip",
            "state",
            "barcode",
            "user",
            "department",
            "used_by_asset",
            "site",
            "purchase_cost",
            "vendor",
            "loan_end"
        ]
    }
}
 

Get Metainfo  

  1. Use the API specific to the product type to get the metainfo.
  2. Additional fields created under Admin > Customization > Additional Fields > Asset must be associated with a product type layout to appear in the metainfo.
  3. Template ID (product type ID) is not required in the input data.
 
Old Format
New Format
URL
api/v3/assets/metainfo
api/v3/asset_servers/_metainfo
Input Data
{
    "template": {
        "id": "{product_type_id}"
}
}
 
-
 

Workstations  

  1. The workstations API has been renamed to asset_computers.
  2. The is_server field is deprecated. Use the asset_servers API to fetch details.
  3. Certain field names in the Processors subform have changed.
    1. model → cpu_model
    2. serial_number → cpu_serial_number
    3. Processor speed field input format is now a number instead of a string.
  4. Memory fields (both individual fields and those within subforms), such as free_space, capacity, virtual_memory, total_memory etc, now require an input in the format of a value and a unit (e.g., 8GB)
  5. In network_adapters, the dhcp field (string) is replaced by is_dhcp (boolean). Similarly, in printer_details, the is_default field is changed from string to boolean.
  6. Groups like sound_card and keyboard are now subforms and allow multiple entries.
  7. All groups (e.g., memory, operating_system, computer_system, etc.) are removed. Their fields are now individual fields. For example,
    1. operating_system.os → os_name
    2. computer_system.service_tag → service_tag
  8. computer_system.system_manufacturer and computer_system.model fields are removed as these are same as manufacturer and product fields.
 
The above changes, along with examples, are highlighted below.
 
Old Format
New Format
URL
/api/v3/workstations/{asset_id}
/api/v3/asset_computers/{asset_id}
Input Data
 {
"workstation": {
"is_server": true,
"processors": [
{
"number_of_cores": "1",
"name": "Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.80GHz",
"cpu_manufacturer": "Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz",
"model": "2",
"serial_number": "LJLJ",
"cpu_stepping": "55",
"family": "F",
"core_count": "8",
"speed": "2600.00",
"manufacturer": "GenuineIntel"
}],
"logical_drives": [
{
"drive_type": "Local Disk",
"file_system": "NTFS",
"name": "C:",
"serial_number": "B67EC8845",
"free_space": "476233871360",
"capacity": "536276365312"
}],
"network_adapters": [
{
"ipnet_mask": "255.255.225.0",
"mac_address": "00:0C:29:51:C8:5C",
"name": "Intel(R) 82574L Gigabit Network Connection",
"description": "Intel(R) 82574L Gigabit Network Connection",
"dhcp_server": "193.168.100.20",
"nic_lease": "DF",
"ip_address": "172.24.146.246",
"gateway": "172.24.128.1",
"dhcp": "true",
"network": "172.24.128.0"
}],
"memory": {
"virtual_memory": "39458934784",
"physical_memory": "34358661120"
},
"printer_details": [
{
"server": "sdpp-printers-serverr",
"name": "Microsoft Print to PDF",
"model": "Microsoft Print To PDF",
"location": "12th Floor",
"type": "Local",
"is_default": "True"
}
],
"sound_card": {
"sound_card_name": "Alphs Sound Card234"
},
"operating_system": {
"os": "Microsoft Windows Server 2016 Standard",
"service_pack": "0",
"product_id": "00377-70321-39146-AA856",
"build_number": "14393",
"version": "10.0.14393"
},
"keyboard": {
"keyboard_manufacturer": "Samsung",
"keyboard_serial_number": "JJHJKDH98989",
"keyboard_type": "Enhanced (101- or 102-key)"
},
"hard_disks": [
{
"model": "VMware Virtual disk SCSI Disk Device",
"serial_number": "6000c298fcde8ed0b55dd9aada6591f1a",
"free_space": "0",
"capacity": "536864025600",
"manufacturer": "(Standard disk drives)"
}
],
"computer_system": {
"system_manufacturer": "Microsoft",
"service_tag": "b1 c9 83 15-4a 4a 7c cb 9b 51 c8 5c",
"model": "VMware17,1",
"bios_version": "INTEL- 6040000"
},
"memory_modules": [
{
"module_tag": "Physical Memory 0",
"bank_label": "RAM slot 0",
"memory_type": "DRAM",
"socket": "RAM slot 0",
"capacity": "17179869184",
"frequency": null
} ] } } 
 
 {
"asset_computer": {
"processors": [
{
"cpu_model": 43,
"number_of_cores": 63,
"name": "Processor Y2 80",
"cpu_manufacturer": "Intel",
"cpu_serial_number": "LK1L0X06-RH0L0C98-YG9G9Y25",
"cpu_stepping": 5,
"family": "Q",
"core_count": 91,
"speed": 3.53,
"manufacturer": "Samsung"
}],
"logical_drives": [
{
"drive_type": "PATA",
"file_system": "NTFS",
"drive_serial_number": "AZ9X7Q72-HY8V4B93-UF9I3W99",
"name": "Logical Drive R1 54",
"drive_capacity": {
"value": 95, "unit": "TB" },
"free_space": {
"value": 24, "unit": "TB" }
}],
"network_adapters": [
{
"ipnet_mask": "163.38.56.102",
"is_dhcp": false,
"mac_address": "81:f0:99:8f:b3:5e",
"name": "Network Adapter J0 35",
"description": "Added via API (Data population tool)",
"dhcp_server": "177.140.220.42",
"nic_lease": "32.146.175.177",
"ip_address": "207.126.22.229",
"gateway": "198.204.98.163",
"network": "217.251.159.6"
}],
"virtual_memory": {
"value": 110, "unit": "TB"
},
"physical_memory": {
"value": 114, "unit": "TB"
},
"printer_details": [
{
"server": "SDP-D23-Asset",
"name": "Printer Detail G2 43",
"location": "Rack-90",
"model": 38,
"is_default": true,
"type": "3D Printer" }],
"sound_cards": [
{ "name": "Sound Card Y0 10",
"manufacturer": "Toshiba" },
{ "name": "Sound Card L0 77",
"manufacturer": "Intel" }
],
"product_id": "YU3E4B08-YK3J1N52-MA2R4T58",
"service_pack": "DM SP6",
"os_version": "7.7.49",
"build_number": "5.6.78 Build 2",
"os_name": "Debian 2019 Version",
"keyboards": [
{ "serial_number": "AK2T3J47-XI5I5E14-AC6Z2Q88",
"type": "Mechanical Keyboard",
"manufacturer": "Microsoft" },
{ "serial_number": "MI3Y0V45-UN4Q8Y08-KM9N6Q75",
"type": "Ergonomic Keyboard",
"manufacturer": "Intel" }
],
"hard_disks": [
{ "disk_manufacturer": "HP",
"disk_model": 77,
"disk_serial_number": "ML0R2T52-JY1G1C75-MG8D2Y10",
"disk_type": "CD-ROM Drive",
"disk_capacity": {
"value": 97, "unit": "TB" },
"free_space": {
"value": 21, "unit": "TB" }
}
],
"bios_name": "test",
"bios_version": "8.8.27",
"service_tag": "WJ4X409N2",
"bios_date": "2024-02-28 16:29:41",
"sm_bios_version": "2.2.82",
"memory_modules": [
{
"module_tag": "EZ7M453B5",
"bank_label": "different",
"memory_type": "MRAM",
"socket": 79,
"memory_capacity": {
"value": 85, "unit": "TB" },
"frequency": "3100"
} ] } } 
 
 

Get Workstations  

 
Old Format
New Format
URL
/api/v3/workstations
/api/v3/asset_workstations
Input Data
 {
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
     "field": "operating_system.os",
     "value": "windows",
     "condition": "contains",
     "logical_operator": "AND"
        },
        "sort_field": "name",
        "sort_order": "asc",
        "filter_by": {
            "id": 1
        },
        "fields_required": [
            "agentstatus",
            "name",
            "product_type",
            "computer_system.model",
            "operating_system.os",
            "ip_addresses",
      "computer_system.service_tag",
            "state",
            "user",
            "department",
            "org_serial_number",
            "purchase_cost",
            "vendor",
            "icon",
            "ci",
            "operating_system.os",
            "last_success_audit"
        ]
    }
}
 
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
          "field": "os_name",
          "value": "windows",
          "condition": "contains",
          "logical_operator": "AND"
        },
        "sort_field": "name",
        "sort_order": "asc",
        "fields_required": [
            "name",
            "module",
            "product",
            "vm_host",
            "os_name",
            "primary_ip",
            "service_tag",
            "state",
            "barcode",
            "user",
            "department",
            "used_by_asset",
            "site",
            "purchase_cost",
            "vendor",
            "loan_end",
            "os_name",
            "module"
        ]
    }
}
 
 

Update Workstations  

All additional fields for a product type and its parent are listed under a single key: udf_fields.
CI attributes are no longer supported. Only additional fields of product types can be updated.
 
Old Format
New Format
URL
/api/v3/workstations/{asset_id}
/api/v3/asset_computers/{asset_id}
Input Data
  {
    "workstation": {
        "ci_server_fields": {
            "udf_sline_165": null,
            "udf_pick_166": null
        },
        "workstation_udf_fields": {
            "udf_sline_33": "20",
            "udf_date_36": {
                "display_value": "Jul 28, 2024 12:37 AM",
                "value": "1722107260000"
            },
            "udf_mline_34": "Jeniffer",
            "udf_sline_32": "Sample text updated",
            "udf_long_35": "20"
        },
        "udf_fields": {
            "udf_sline_27": "zylker Corp",
            "udf_mline_28": "Sample multi line data",
            "udf_date_31": {
                "display_value": "May 13, 2021 02:51 PM",
                "value": "1620897660000"
            },
            "udf_pick_29": "HR",
            "udf_long_30": "39393"
        },
      "ci_default_fields": {
            "udf_pickref_1": null
        },
       "ci_windowsserver_fields": {}
    }
}
 
 {
"asset_computer": {
"udf_fields":{
"udf_asset_sline1":"asset field",
"udf_ap_sline_1":"Computer udf field"
}
}

 
 

Get Servers 

The is_server field is no longer used for fetching workstations or servers.
Use asset_workstations and asset_servers APIs to fetch workstation or server data.
 
Old Format
New Format
URL
/api/v3/workstations
/api/v3/asset_servers
Input Data
 {
 "list_info": {          "row_count": "25",         "start_index": 1,         "search_criteria": {
            "field": "is_server",
            "condition": "is",
            "value": "true",
     "logical_operator": "AND"
        },
        "sort_field": "name",
        "sort_order": "asc",
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model"
        ]
    }
}
 
{
    "list_info": {         "row_count": "25",         "start_index": 1,
        "sort_field": "name",
        "sort_order": "asc",
        "fields_required": [
            "name",
            "module",
            "product"
        ]
    }
}
 
 

Get CI Attributes of Asset 

  1. CI attributes are not supported in the new V3 API.
  2. Only additional fields associated to a product type are supported for search, get, and update operation.
  3. Existing CI attributes will be changed into additional fields and mapped to the respective product types. For example,
    1. Attributes from the base element CI (Default Attributes) → Additional fields under the Asset product type
    2. Attributes from Workstation CIs →Additional fields under the Workstation product type
    3. Attributes from Server CI → Additional fields under the Server product type
    4. Asset Additional fields  → Additional fields under Asset product type
    5. Workstation Additional fields → Additional fields under Computer product type.
 

Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_servers
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "field": "ci.id",
            "condition": "is",
            "value": "124",
            "logical_operator": "AND"
        },
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model",
"ci_default_fields.udf_pickref_171"
        ],
        "ci_attributes": {
            "ci_default_fields.udf_pickref_171": "aa"
        }
    }
}
 
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "field": "udf_fields.udf_asset_sline1",
            "value": "aa",
            "condition": "contains",
            "logical_operator": "AND"
        },
        "fields_required": [
            "name",
            "module",
            "product",
"udf_fields.udf_asset_sline1"
        ]
    }
}
 
 
 

 Get Asset Linked to CI

  1.  Not all assets are CIs, and an asset cannot be searched by using a CI ID. However, if an asset is linked to a CI, to can be searched by using the linked_instance field.
 
 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_servers
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "field": "ci.id",
            "condition": "is",
            "value": "301",
            "logical_operator": "AND"
        },
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model"
        ]
    }
}
 
{"list_info":{"search_fields":{"ci.id":"301"},"fields_required":"[id,name,ci_default_fields]"}}
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "field": "linked_instance.id",
            "value": "1",
            "condition": "is",
            "logical_operator": "AND"
        },
        "fields_required": [
            "name",
            "module",
            "product"
        ]
    }
}
 
 
 

 Get Virtual Hosts

  1. No separate API exists for virtual hosts.
  2. Use the vm_platform field to fetch virtual hosts.
 
 
Old Format
New Format
URL
/api/v3/virtual_hosts
/api/v3/asset_computers
Input Data
{
    "list_info": {
        "sort_field": "name",
        "sort_order": "asc",
        "row_count": "25",
        "fields_required": [
            "agentstatus",
            "name",
            "computer_system.model",
            "operating_system.os",
            "installed_vms",
            "logical_cpu_count",
           "memory.physical_memory",
            "purchase_cost",
            "icon",
            "ci",
            "operating_system.os",
            "last_success_audit"
        ]
    }
}
 
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "field": "vm_platform",
            "value": null,
            "condition": "is not",
            "logical_operator": "AND"
        },
        "fields_required": [
            "name",
            "module",
            "vm_platform",
            "product"
        ]
    }
}
 
 
 

Get Virtual Machines

  1. No separate API exists for virtual machines. 
  2. Use the vm_host field to fetch virtual machines.  
Notes
 Virtual machines can be fetched only by providing the host details.
 
Old Format
New Format
URL
/api/v3/virtual_machines
/api/v3/asset_computers
Input Data
{
    "list_info": {
        "sort_field": "name",
        "sort_order": "asc",
        "row_count": "25",
        "fields_required": [
            "agentstatus",
            "name",
            "computer_system.model",
            "operating_system.os",
            "installed_vms",
            "logical_cpu_count",
           "memory.physical_memory",
            "purchase_cost",
            "icon",
            "ci",
            "operating_system.os",
            "last_success_audit"
        ]
    }
}
 
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
           "field": "vm_host",
           "condition": "is not",
           "value": null,
           "logical_operator": "and"
     },
        "fields_required": [
            "name",
            "module",
            "product"
        ]
    }
}
 
 
 

Fetch Virtual Machines Under a Virtual Host 

Use the vm_host field to retrieve virtual machines associated with a host.
 
Old Format
New Format
URL
/api/v3/virtual_machines
/api/v3/asset_computers
Input Data
{
    "list_info": {
        "sort_field": "name",
        "sort_order": "asc",
        "row_count": "25",
        "search_criteria": {
    "field": "vm_host.id",
    "condition": "is",
    "value": "3",
    "logical_operator": "AND"
       }
    }
}
 
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
    "field": "vm_host.id",
    "condition": "is",
    "value": "3",
    "logical_operator": "AND"
       },
        "fields_required": [
            "name",
            "module",
            "product"
        ]
    }
}
 
 
 

 Get Associated Software 

 
Old Format
New Format
URL
/api/v3/workstations/{asset_id}/software
/api/v3/asset_computers/{asset_id}/softwares
Input Data
{
    "list_info": {
        "sort_order": "desc",
        "row_count": "25",
        "fields_required": [
            "software",
            "version",
            "software_type",
            "software_category",
            "product_key",
            "installed_on",
            "software_usage"
        ]
    }
}
 
{
    "list_info": {
        "sort_order": "desc",
        "row_count": "25",
        "fields_required": [
            "software.name",
            "version",
            "software.type",
            "software.category",
            "product_key",
            "installed_on",
            "usage"
        ]
    }
}
 
 

Get Workstations Based on IP Address 

The workstations API is renamed to asset_workstations.
 
 
Old Format
New Format
URL
/api/v3/workstations
/api/v3/asset_workstations
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {
            "field": "is_server",
            "condition": "is",
            "value": "false",
            "children": "[{\"field\": \"network_adapters.ip_address\", \"values\": [\"2\"], \"condition\": \"contains\", \"logical_operator\": \"and\"}]"
        },
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model"
        ]
    }
}
 
{
    "list_info": {
        "row_count": 25,
        "start_index": 1,
        "search_criteria": {
            "field": "network_adapters.ip_address",
            "values": ["2"],
     "condition": "contains",
     "logical_operator": "and"
        },
        "fields_required": [
            "product",
            "service_tag",
            "name",
            "module"
        ]
    }
}
 
 

Get Assets Based on IP Address  

The assets API is renamed to asset_assets.
 
 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_assets
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "search_criteria": {"field":"ip_addresses","values":"[\"2\"]","condition":"contains","logical_operator":"and"},
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model"
        ]
    }
}
 
{
    "list_info": {
        "row_count": 25,
        "start_index": 1,
        "search_criteria": {
            "field": "ip_addresses",
            "values": ["2"],
     "condition": "contains",
     "logical_operator": "and"
        },
        "fields_required": [
            "product",
            "service_tag",
            "name",
            "module"
        ]
    }
}
 
 

Add Costs 

  1. Add costs operation is supported in asset_assets API.
  2. The cost factor ID can be fetched by using the API api/v3/asset_assets/{asset_id}/costs/cost_factor. 
  3. The asset_cost key is changed to asset_sub_cost.
 
 
Old Format
New Format
URL
/api/v3/assets/{asset_id}/costs
/api/v3/asset_assets/{asset_id}/costs
Input Data
{
    "asset_cost": {
        "date": {
            "value": "1746037800000"
        },
        "cost_factor": {
            "id": "3"
        },
        "amount": "123",
        "description": ""
    }
}
 
{
    "asset_sub_cost": {
        "date": {
            "value": "1746469800000"
        },
        "cost_factor": {
            "id": "3"
        },
        "amount": "1234",
        "description": ""
    }
}
 
 

Get Disposed Assets 

Previously, the filter_by key was used to fetch assets in disposed state. Now, use the asset_filter_by key with the value disposed_assets to fetch assets in the Disposed state.
 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_assets
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "filter_by": {
            "id": 5,
            "name": "disposed"
        },
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model"
        ]
    }
}
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "asset_filter_by": {
          "name": "disposed_assets"
        },
        "fields_required": [
            "name",
            "module",
            "product"
        ]
    }
}
 
 

 Add Attachments 

 
Old Format
New Format
URL
/api/v3/assets/{asset_id}/upload
/api/v3/asset_assets/{asset_id}/_upload
Input Data
input_file
 
input_file
 
 

Fetch Attachments List


Get the list of all attachments under an asset by using the following API URL:
 
Old Format
New Format
URL
/api/v3/assets/{asset_id}/attachments
/api/v3/asset_assets/{asset_id}/attachments
 

Download Attachments  

Download attachments from an asset by using the following API URL:
 
Old Format
New Format
URL
/api/v3/assets/{asset_id}/attachments/{attachment_id}/_download
/api/v3/asset_assets/{assetId}/attachments/{attachment_id}/_download
 

Convenience Operations  

  1. All convenience operation keys (e.g., metainfo, copy, etc.) must be prefixed with an underscore (_) in the URL (i.e., api/v3/asset_servers/_metainfo and api/v3/asset_servers/_copy)
  2. The API for configuring depreciation is no longer supported. Depreciation must now be configured for an asset using an update operation.
 
 
Old Format
New Format
URL
POST - api/v3/assets/{asset_id}/_configure_depreciation
PUT - api/v3/asset_access_points/{asset_id}
Input Data
{
    "config": {
        "depreciation": {
            "salvage_value": "10",
            "depreciation_percent": null,
            "useful_life": "24",
            "depreciation_type": {
                "name": "Straight Line",
                "id": "1"
            }
        },
        "type": "asset",
        "purchase_cost": "390.00",
        "acquisition_date": {
            "value": 1620153000000
        }
    }
}
{
    "asset_access_point": {
        "is_asset_depreciation": true,
        "depreciation_detail": {
            "salvage_value": "300",
            "useful_life": "23",
            "depreciation_type": {
                "name": "Declining Balance",
                "id": "2"
            }
        },
        "purchase_cost": "2500",
        "acquisition_date": {
            "value": 1746037800000
        }
    }
}
 

Bulk Update Assets  

  1. The bulk update API allows you to update the fields of multiple assets with different values.
  2. Use asset_id in the input data to update assets.
  3. Only base fields (fields available for the Asset product type) can be updated using the asset_assets API. To update additional fields and other product type specific fields, use the corresponding product type's API.
 
 
Old Format
New Format
URL
/api/v3/assets?ids={id1,id2,id3}
/api/v3/asset_assets?ids={id1,id2,id3}
Input Data
{
  "assets": [
    {
      "asset_tag": "TAG2125w",
      "org_serial_number": "JASKL-KJSKJ-PIJSNJ5",
      "id": "5"
    },
    {
      "asset_tag": "TAG2126w",
      "org_serial_number": "JASKL-KJSKJ-PIJSNJ6",
      "id": "6"
    },
    {
      "asset_tag": "TAG2127w",
      "org_serial_number": "JASKL-KJSKJ-PIJSNJ7",
      "id": "7"
    }
  ]
}
{
  "asset_assets": [
    {
      "asset_tag": "TAG2125",
      "org_serial_number": "JASKL-KJSKJ-PIJSNJ5",
      "id": "5"
    },
    {
      "asset_tag": "TAG2126",
      "org_serial_number": "JASKL-KJSKJ-PIJSNJ6",
      "id": "6"
    },
    {
      "asset_tag": "TAG2127",
      "org_serial_number": "JASKL-KJSKJ-PIJSNJ7",
      "id": "7"
    }
  ]
}
 

Fetch Assets with Service Tag

Since groups are removed, computer_system.service_tag is now service_tag .
 
 
Old Format
New Format
URL
/api/v3/workstations
/api/v3/asset_workstations
Input Data
{ "list_info": {
    "row_count": 100,
    "start_index": 1,
    "search_criteria": {
      "field": "org_serial_number",
      "condition": "=",
      "value": null,
      "children": [
        { "field": "computer_system.service_tag",
          "condition": "!=",
          "value": null,
          "logical_operator": "and"
        }
      ] }
  } }
{
    "list_info": {
  "row_count": "25",
  "start_index": 1,
  "search_criteria": {
       "condition": "is",
       "field": "org_serial_number",
       "logical_operator": "and",
       "value": null,
       "children": [ {
          "condition": "is not",
          "field": "service_tag",
          "logical_operator": "and",
          "value": null
        }]
} } }
 
 

Fetch Assets with User 

 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_assets
Input Data
{
  "list_info": {
    "row_count": "25",
    "start_index": 1,
    "search_criteria": {
      "field": "user",
      "values": "[{\"id\": \"3\", \"name\": \"administrator\"}]",
      "condition": "is",
      "logical_operator": "and"
    },
    "filter_by": {
      "id": 9
    }
  }
}
{
  "list_info": {
    "row_count": 25,
    "start_index": 1,
    "search_criteria": {
      "field": "user",
      "values": [
        {
          "id": "5",
          "name": "administrator"
        }
      ],
      "condition": "is",
      "logical_operator": "and"
    }
  }
}
 
 

 Fetch Assets Associated to User

 Use the user name field for search_criteria to retrieve assets associated to a user.
 
 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_assets
Input Data
{
  "list_info": {
    "row_count": "25",
    "start_index": 1,
    "search_criteria": {
      "field": "user.name",
      "values": "[\"admin\"]",
      "condition": "is",
      "logical_operator": "and"
    },
    "sort_field": "name",
    "sort_order": "asc",
    "filter_by": {
      "id": 9
    }
  }
}
{
  "list_info": {
    "row_count": "25",
    "start_index": 1,
    "search_criteria": {
      "field": "user.name",
      "value": "admin",
      "condition": "is",
      "logical_operator": "and"
    },
    "sort_field": "name",
    "sort_order": "asc"
  }
}
 
 

 Fetch Assets Based on State  

 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_assets
Input Data
{
  "list_info": {
    "row_count": "25",
    "start_index": 1,
    "search_criteria": {
      "field": "state.name",
      "values": "[\"In Store\"]",
      "condition": "is",
      "logical_operator": "and"
    },
    "sort_field": "name",
    "sort_order": "asc",
    "filter_by": {
      "id": 9
    }
  }
}
{
  "list_info": {
    "row_count": "25",
    "start_index": 1,
    "search_criteria": {
      "field": "state.name",
      "value": "In Store",
      "condition": "is",
      "logical_operator": "and"
    },
    "sort_field": "name",
    "sort_order": "asc"
  }
}
 
 

Get All Assets (Including Disposed Assets )

Disposed assets are normally not accessible when fetching assets, but the filter_by key can be used to retrieve all assets regardless of their state.
To get disposed assets, use the asset_filter_by key with the value all_states to retrieve all assets, including those in the Disposed state.
 
Old Format
New Format
URL
/api/v3/assets
/api/v3/asset_assets
Input Data
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
       "filter_by":{
        "id":9,
        "name":"all_states"
        },
        "fields_required": [
            "name",
            "product_type",
            "computer_system.model"
        ]
    }
}
{
    "list_info": {
        "row_count": "25",
        "start_index": 1,
        "asset_filter_by": {
          "name": "all_states"
        },
        "fields_required": [
            "name",
            "module",
            "product"
        ]
    }
}
 
 

Fetch Assets from Requester Login   

 
Old Format
New Format
URL
/api/v3/requests/assets
/api/v3/requests/assets
Input Data
{
    "list_info": {
        "row_count": 100,
        "start_index": 1,
        "sort_field": "id",
        "sort_order": "asc",
        "search_criteria": [
            {
                "field": "product.id",
                "condition": "is",
                "value": "{product_id}",
                "logical_operator": "and"
            },
            {
                "field": "state.id",
                "condition": "is",
                "value": "{in_store_state_id}",
                "logical_operator": "AND"
            }
        ],
        "get_total_count": true
    }
}
{
    "list_info": {
        "row_count": 100,
        "start_index": 1,
        "sort_field": "id",
        "sort_order": "asc",
        "search_criteria": [
            {
                "field": "product.id",
                "condition": "is",
                "value": "{product_id}",
                "logical_operator": "and"
            },
            {
                "field": "state.id",
                "condition": "is",
                "value": "{in_store_state_id}",
                "logical_operator": "AND"
            }
        ],
        "get_total_count": true
    }
}
 

Fetch Product Types from Requester Login   

The product_type field is changed to module in the URL. Additionally, the response format has been modified.
The name field in the previous format has been replaced with the display_name field in the new format.
 
Old Format
New Format
URL
/api/v3/requests/assets/product_type
/api/v3/requests/assets/module
Input Data
{
    "list_info": {
        "row_count": 100,
        "start_index": 1,
        "sort_field": "id",
        "sort_order": "asc",
        "get_total_count": true
    }
}
{
    "list_info": {
        "row_count": 100,
        "start_index": 1,
        "sort_field": "id",
        "sort_order": "asc",
        "get_total_count": true
    }
}
 
{
 "product_type": [
{
"name": "Access Point",
"internal_name": "Access Point",
"id": "9",
"is_default": true,
"icon_name": {
"content-url": "/api/v3/requests/assets/product_type/9/images/1509",
"id": "1509"
}
}
],
"response_status": {
"status_code": 2000,
"status": "success"
},
"image_token": "dbf295caeb3bc697f73f3d46f78dc90eb7b1f419e8c382ff19e773d783ccfd9f63755eb06da6532476a8a54b74b889f75478e6d2",
"list_info": {
"has_more_rows": true,
"start_index": 1,
"sort_field": "id",
"page": 1,
"sort_order": "asc",
"row_count": 10

}
{
    "response_status": {
        "status_code": 2000,
        "status": "success"
    },
    "module": [
        {
            "parent": {
               "api_plural_name": "asset_assets",
                "name": "asset_asset",
                "id": "68",
                "display_name": "Asset",
                "display_plural_name": "Assets"
            },
            "api_plural_name": "asset_access_points",
            "icon": {
                "content-url": "/api/v3/asset_modules/79/images/32",
                "id": "32"
            },
            "is_deletable": true,
            "display_name": "Access Point",
            "display_plural_name": "Access Points",
            "asset_category": {
                "name": "IT",
                "id": "2"
            },
            "internal_name": "Access Point",
            "inactive": false,
            "api_name": "asset_access_point",
            "name": "asset_access_point",
            "asset_type": {
                "name": "Asset",
                "id": "1"
            },
            "id": "79",
            "is_child_allowed": true,
            "category": {
                "name": "asset",
                "id": "12",
                "display_name": "Asset"
            }
        }
    ],
    "image_token": "6b2ea7b6b64770f895dde1216d9162900ee2b098f5b354724ed148423af5b67b2822ca86f2c5b6bd53aeaa1a2736d260a4a8ac4e",
    "list_info": {
        "has_more_rows": true,
        "sort_field": "id",
        "start_index": 1,
        "sort_order": "asc",
        "row_count": 10
    }
}
 
    • Related Articles

    • CMDB and Asset Behavior Changes

      Behavior Changes This document outlines the behavior changes in the Assets and CMDB modules, applicable to customers migrating to build 15100 of ServiceDesk Plus and build 7700 of AssetExplorer. In this release, CMDB and Assets are treated as ...
    • Asset Summary

      Obtain a bird's eye view of the Assets module. Go to Assets. On the left navigation pane, select Summary. An overview of the assets will be displayed in the following widgets. Click the number beside a row to view the list of assets/workstations ...
    • View IT Asset Details

      View IT Asset Details View all details of an asset, including the financial and contractual data and the asset history. Technicians with edit permission to the asset can spot-edit field values in the details page. To view details of an asset, Go to ...
    • Asset Sync Rules

      Asset sync rules enable you to populate CIs as assets in ServiceDesk Plus. Using sync rules, you can define which CI and what data should be synced from it. Any changes made to the data in the CI will be reflected in the corresponding asset. Sync ...
    • Introduction to Asset Management

      An asset is any resource or item that is purchased and used by an organization to deliver IT services. AssetExplorer provides an organized approach to add, track, maintain, and manage ownership of all assets throughout their life cycle. You can ...