↑ ↓ to navigate · ↵ to open See all results
GET /api/v1/assets

List assets

List assets in the organization attached to your API token, with optional search, filters and sorting.

Last updated

Request

GET /api/v1/assets

Requires assets:read. See token permissions. Every listed permission is required for this endpoint.

Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.

Query parameters

page integer Optional
The page of results to return. Starts at 1; defaults to 1.
per_page integer Optional
The maximum number of results per page. Accepts 1–100; defaults to 25.
search string Optional
Up to 255 characters. Matches asset tag, manufacturer, model, model number, serial number or any custom field value. Each space-separated word must match one of those fields. Checkbox custom fields match yes, no, true, false, 1 or 0.
statuses[] string array Optional
Up to 100 values. Each is available, deployed, decommissioned, or dec_ followed by a decommission event type ID (such as dec_14) to match assets decommissioned with that type. Event type IDs come from the decommission options.
category_ids[] integer array Optional
Up to 100 category IDs from the asset categories list. Returns assets in any of the listed categories.
condition_ids[] integer array Optional
Up to 100 condition event type IDs from the condition options. Matches the asset’s current condition_id.
assignment string Optional
person (assigned to a person), location (assigned to a location), both (assigned to a person and a location) or none (assigned to neither).
components string Optional
include (the default) returns every asset. dont_include leaves out components, meaning assets with a parent_id.
sort_field string Optional
One of id, created_at, updated_at, asset_tag, manufacturer, model. Defaults to id.
sort_direction string Optional
asc or desc. Defaults to desc.

Example

Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization. This example lists available or deployed assets that are not assigned to anyone, sorted by asset tag.

cURL / Bash
curl --globoff --request GET "https://my.assetcenter.app/api/v1/assets?statuses[]=available&statuses[]=deployed&assignment=none&sort_field=asset_tag&sort_direction=asc" \
  --header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
  --header "Accept: application/json"

Response

200 OK. Illustrative record and the common pagination fields; inventory responses include additional pagination links and metadata.

JSON
{
  "data": [
    {
      "id": 123,
      "asset_tag": "LAP-042",
      "manufacturer": "Lenovo",
      "model": "Field laptop",
      "model_number": null,
      "serial_number": null,
      "manufacture_date": null,
      "parent_id": null,
      "parent_cost_rollup": false,
      "status": "available",
      "category_id": 7,
      "person_id": null,
      "location_id": null,
      "sublocation_id": null,
      "is_in_storage": false,
      "person_loan_due": null,
      "location_loan_due": null,
      "condition_id": null,
      "decommission_event_type_id": null,
      "created_at": "2026-09-07T16:00:00.000000Z",
      "updated_at": "2026-09-07T16:00:00.000000Z"
    }
  ],
  "links": {
    "next": null,
    "prev": null
  },
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 25,
    "total": 1
  }
}

Behavior and constraints

Without sort_field, results are ordered by numeric ID, newest first. Records that tie on the sort field are ordered by ID in the same direction. When sorting by asset_tag, manufacturer or model, assets with an empty value in that field come last in either direction.

Filters combine: a record must match every parameter you send. Within one array parameter, a record may match any of the listed values. Send arrays with repeated bracketed names, such as statuses[]=active&statuses[]=inactive; a bare statuses=active returns 422. Follow links.next until it is null; the links keep your filter and sort parameters. Changing filters or sort part-way through gives a new result set, so start again from page 1.

tenant_id and account_id are prohibited. There is no updated-since filter; sort by updated_at descending to find recent changes.

Errors

401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 422 identifies invalid or unsupported input; inspect the errors object when present. 429 means a rate limit was reached. See error handling and rate limits.