Filtering & Sorting

Learn how to narrow list results with query-parameter filters and how default sort order works across endpoints.

Overview

Many list endpoints accept optional filter query parameters alongside pagination (page and limit). Filter parameter names are endpoint-specific — there is no single global filter or search param used everywhere.

Sort order is fixed on the server. You cannot pass a sort or order query parameter. Most lists return newest records first.

Common filter patterns

PatternExample paramsUsed for
Exact matchemail, country, statusEmployees, team users, orders, wallet
Text searchkeyword, searchTeam users, wallet, device hub inventory
Date rangestart_date, end_dateOrders, shipping labels
Resource scopeactiveinvite, include_assets, warehouse_idTeam users, employee detail, device hub inventory

Sorting

The API does not support client-controlled sorting. Each endpoint applies a fixed order when returning list results:

ResourceDefault order
TicketscreatedAt descending (newest first)
Wallet transactionsid descending
Orders (ITAD, deployment, procurement, repair)created_at descending
Recover campaignsid descending
Team users / invitationsid descending
Shipping labelsid descending
Legal hold assetsplacement date descending

Filters by endpoint

ResourceFilter parametersDocs
EmployeesemailEmployees List
Employee detailinclude_assetsEmployee Detail
AssetsserialNumber, assetId, asset_numberAsset List
Team usersactiveinvite, status, country, keyword, filter_by_roleUser List
Ordersstatus, start_date, end_dateOrder List
Wallet transactionscurrency_code, status, type, searchWallet Transactions
Shipping labelscountry, start_date, end_dateLabel List
Device hub inventorywarehouse_id (required), search, category_nameInventory List

Tickets, recover campaign list, and legal hold active-holds endpoints support pagination only — no additional filters.

Combining filters and pagination

Pass filters and pagination in the same query string:

# Employees filtered by email, page 1
curl -X GET 'https://uat.unduit.com/api-exposed/api/v1/employees?page=1&limit=10&email=jane.smith@example.com' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

# Wallet transactions with search and status filter
curl -X GET 'https://uat.unduit.com/api-exposed/api/v1/wallet/transactions?page=1&limit=10&status=Debit&search=INV-2026' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Wallet filter discovery

The wallet transactions endpoint returns a filters object in the response with allowed values for status and type. Use these when building UI pickers or validating query params before sending requests.

{
  "filters": {
    "status": ["All", "Credit", "Debit"],
    "type": ["Work Order", "Repair", "Logistics", "Withdrawal"]
  }
}

Notes

  • ITAD order status filtering is applied after the database query. Pagination totals may not reflect the filtered subset — a page can return fewer orders than limit when status is set.
  • Asset list uses a fixed page size of 50 records per page — there is no limit query parameter on that endpoint.
  • Team users search uses keyword for name/email substring matching.

Next steps