HaloPSA Complete icon

HaloPSA Complete

Get data from the HaloPSA API

Overview

The "Asset - Get Many" operation in this node retrieves multiple asset records from the HaloPSA system based on various filtering criteria. It is designed to fetch a list of assets with flexible options for filtering, sorting, pagination, and inclusion of related data fields.

This operation is useful when you need to:

  • Retrieve all or a subset of assets matching specific conditions (e.g., by asset type, status, client, site).
  • Perform advanced searches or filter assets by custom fields.
  • Include additional related information such as user details, service links, child assets, or column profiles.
  • Paginate through large sets of assets efficiently.
  • Export or synchronize asset data for reporting, auditing, or integration with other systems.

Practical examples:

  • Fetch all active assets belonging to a particular client or site.
  • Retrieve assets linked to a specific contract or ticket.
  • Get a paginated list of consignable assets with detailed custom fields included.
  • Search assets by inventory number or perform an advanced search string query.

Properties

Name Meaning
Return All Whether to return all results or limit the number of returned assets.
Limit Maximum number of results to return if not returning all.
Filters Collection of filters to narrow down the assets returned. Includes:
  Active/Inactive Filter assets by active or inactive status (comma-separated true/false values).
  Advanced Search Free text advanced search string.
  Asset Group ID Filter by a specific asset group ID.
  Asset Groups Filter by multiple asset group IDs (comma-separated).
  Asset Statuses Filter by asset status IDs (comma-separated).
  Asset Type Filter by a specific asset type ID.
  Asset Type ID Filter by asset type ID (similar to Asset Type).
  Asset Types Filter by multiple asset type IDs (comma-separated).
  Assets Filter by specific asset IDs (comma-separated).
  Bookmarked Include only bookmarked assets.
  Client ID Filter by client ID.
  Columns ID Specify column profile ID to include.
  Consignable Include only consignable assets.
  Consignment ID Filter by consignment ID.
  Contract ID Filter by contract ID.
  Contract ID Adding To Include billing period of linked contract ID.
  Domotz Agents Include only assets linked to Domotz agents.
  Exclude These Exclude assets by IDs (comma-separated).
  Global Search ID Filter by global search ID.
  ID Only Return only asset IDs in response.
  Include Active Include active assets.
  Include Allowed Status Include allowed status field in response.
  Include Asset Fields Include asset fields (requires specifying asset type ID).
  Include Children Include child assets in response.
  Include Columns Include column details in response.
  Include Custom Fields Include specified custom field IDs in response.
  Include Inactive Include inactive assets.
  Include Services Include linked service IDs.
  Include User Include user details.
  Integration Tenant IDs Filter by integration tenant IDs (comma-separated).
  Integration Type Filter by integration source (Addigy, Atera RMM, ConnectWise Automate, Datto, Domotz, Liongard, Ninja RMM, PassPortal, ServiceNow, Syncro MSP).
  Inventory Number Filter by inventory number.
  Is Logon Behalf View Flag indicating logon behalf view.
  Item ID Filter by item ID.
  Item Stock ID Filter by item stock ID.
  KB ID Filter by knowledge base ID.
  Last Update From Date Include last update from date field.
  Last Update To Date Include last update to date field.
  Licence ID Filter by licence ID.
  Linked To ID Filter by linked asset ID.
  Linked to Ticket Filter assets linked to tickets.
  Mine Include only assets belonging to the current user.
  My Site Include only assets belonging to the user's site.
  No Icon Exclude asset icon in response.
  Order Field name to order results by (primary).
  Order 2 Secondary order field.
  Order 3 Tertiary order field.
  Order 4 Fourth order field.
  Order 5 Fifth order field.
  Order Desc Whether to order descending on primary order field.
  Order Desc 2 Descending order on secondary field.
  Order Desc 3 Descending order on tertiary field.
  Order Desc 4 Descending order on fourth field.
  Order Desc 5 Descending order on fifth field.
  Page Number Page number to return when using pagination.
  Page Size Page size (max 100) when using pagination.
  Paginate Whether to paginate the response.
  Previously Selected Include most recent date occurred from linked ticket.
  Previously Selected Client ID Filter previously selected by client ID.
  Previously Selected Site ID Filter previously selected by site ID.
  Previously Selected User ID Filter previously selected by user ID.
  Sales Order ID Filter by sales order ID.
  Sales Order Line Filter by sales order line ID.
  Search Search string to filter assets.
  Search Inventory Number Only Search only on inventory number field.
  Service ID Filter by service ID.
  Service IDs Filter by multiple service IDs (comma-separated).
  Site ID Filter by site ID.
  Stock Bin ID Filter by stock bin ID.
  Stock Bin IDs Filter by multiple stock bin IDs (comma-separated).
  Supplier Contract ID Filter by supplier contract ID.
  Supplier Contracts Filter by multiple supplier contract IDs (comma-separated).
  Supplier ID Filter by supplier ID.
  Ticket ID Filter by ticket ID.
  Ticket Type ID Filter by ticket type ID.
  User ID Filter by user ID.
  Username Filter by username.

Output

The output is a JSON array containing asset objects that match the specified filters and parameters. Each asset object includes standard asset properties and may include additional related data depending on the input options, such as:

  • Asset fields and custom fields (if requested).
  • Linked user details.
  • Linked services.
  • Child assets.
  • Column profile details.
  • Asset icons (unless excluded).

If the "ID Only" option is enabled, the output will contain only asset IDs instead of full asset objects.

Binary data is not indicated as part of the output for this operation.

Dependencies

  • Requires connection to the HaloPSA API with valid authentication credentials (an API key or token).
  • The node depends on the HaloPSA API endpoints for assets and related entities.
  • For loading custom fields dynamically, it uses the API endpoint for field information.
  • Proper configuration of the API credential in n8n is necessary.

Troubleshooting

  • Common issues:

    • Authentication errors due to invalid or expired API credentials.
    • Request timeouts or rate limiting if requesting too many assets without pagination.
    • Incorrect filter values causing empty results or API errors.
    • Using incompatible combinations of filters (e.g., including asset fields without specifying asset type ID).
  • Error messages:

    • Unauthorized or 401 errors: Check API credentials and permissions.
    • 400 Bad Request: Verify filter parameter formats and values.
    • 429 Too Many Requests: Use pagination or reduce request frequency.
    • Empty responses: Confirm that filters match existing assets.
  • Resolutions:

    • Ensure API credentials are correctly set up and have required permissions.
    • Use pagination and limit results to avoid overloading the API.
    • Validate filter inputs carefully.
    • Consult HaloPSA API documentation for correct parameter usage.

Links and References

Discussion