---
title: "List assets"
method: GET
path: "/assets"
tags: ["Assets"]
---

# List assets

`GET /assets`

Endpoint used to list asset resources

## Query parameters

- `cursor` string — Last pagination reference
- `limit` integer — max number of Assets returned
- `locationId` integer — Will only show assets that are related to the location
- `manufacturer` string[] — Filter assets by their manufacturer name
- `model` string[] — Filter assets by their manufacturer model name
- `updatedAt[gte]` string, date-time — Return records whose updatedAt is at or after this ISO 8601 date-time (UTC).
- `updatedAt[lte]` string, date-time — Return records whose updatedAt is at or before this ISO 8601 date-time (UTC).
- `createdAt[gte]` string, date-time — Return records whose createdAt is at or after this ISO 8601 date-time (UTC).
- `createdAt[lte]` string, date-time — Return records whose createdAt is at or before this ISO 8601 date-time (UTC).
- `customFieldName` string[] — Filter assets by custom field value. Your query parameter should be your custom field name. (ie: To filter by a custom field named "Industry" with the value "Construction", you would do this "/assets?Industry=Construction"). <br><br>Adding multiple instance of the same custom field act as an <code>OR</code> and adding a different custom field act as an <code>AND</code>. (ie: To filter by a custom field named <code>Industry</code> with the value <code>Construction</code> OR <code>Transportation</code> AND the custom field <code>Manufacturer</code> with the value <code>ACME</code>, you would do this <code>/assets?Industry=Construction&Industry=Transportation&Manufacturer=ACME</code>). <br><br>If your custom field label is the same as a reserved query parameter such as <code>limit</code>, <code>sort</code>, <code>expand</code>, etc, you can add <code>__c</code> to your custom field filtering (ie: To filter by a custom field named <code>limit</code> with the value <code>ten</code>, you would do this <code>/assets?limit__c=ten</code>). <br><br>Note that your custom field needs to be created beforehand. Only number and single line text custom field types are supported.
- `sort` 'id' | 'createdAt' | 'updatedAt' | '-id' | '-createdAt' | '-updatedAt' — Attribute on which to sort the list. (for descending order, prefix attribute with '-').
- `expand` string[] — To expand multiple fields: `expand=barcode&expand=team_ids`

## Headers

- `x-organization-id` integer
- `x-organization-ids` string

## Response `200`

Successfully fetched Assets list

- object
  - `assets` object[], required
    - `id` integer, required — Global ID of the asset
    - `name` string, required
    - `description` string, nullable, required
    - `parentId` integer, nullable, required — ID of the parent asset
    - `criticalityId` integer, nullable, required — ID of the criticality of the asset
    - `locationId` integer, nullable, required — ID of the location where the asset is located
    - `serialNumber` string, nullable, required — Serial number of the asset
    - `createdAt` string, date-time, required — Date & time at which the asset was created
    - `updatedAt` string, date-time, required — Date & time at which the asset was last updated. This doesn't include comments
    - `creatorId` integer, nullable, required — ID of the asset creator
    - `organizationId` integer — ID of the organization that owns this resource
    - `externalId` string, nullable — External ID for this asset, unique per organization.
    - `barcode` string — String encoded barcode (expand with query parameter)
    - `teamIds` integer[] — List of teams responsible for the asset (expand with query parameter)
    - `assetTypes` string[] — List of asset types (expand with query parameter)
    - `extraFields` object — Custom Fields on the entity. The object keys are the exact Custom Field labels, including spaces or special characters. (ie: "My Custom Field") (expand with query parameter)
    - `vendorIds` number[] — Vendor IDs (expand with query parameter)
    - `depreciation` object — Depreciation information of the asset (expand with query parameter)
      - `id` number — Global ID of the asset depreciation.
      - `accumulatedDepreciation` number, nullable — Accumulated depreciation of the asset.
      - `annualDepreciation` number, nullable — Annual depreciation of the asset.
      - `depreciationStartDate` string, date-time, nullable — Date at which the asset depreciation started.
      - `currentBookValue` number, nullable — Current book value of the asset.
      - `purchasePrice` number, nullable — Purchase price of the asset.
      - `purchaseDate` string, date-time, nullable — Date & time at which the asset was purchased.
      - `salvageValue` number, nullable — Salvage value of the asset.
      - `usefulLifeYears` number, nullable — Useful life of the asset in years.
      - `yearsDepreciated` number, nullable — Years depreciated of the asset.
      - `createdAt` string, date-time, nullable — Date & time at which the asset depreciation was created.
      - `archivedAt` string, date-time, nullable — Date & time at which the asset depreciation was archived.
    - `status` object — Status information of the asset (expand with query parameter)
      - `id` number — Global ID of the asset status.
      - `status` 'IGNORE' | 'OFFLINE' | 'ONLINE' — Asset status value.
      - `downtimeType` 'PLANNED' | 'UNPLANNED', nullable
      - `startedAt` string, date-time — Asset status effective start date.
      - `endedAt` string, date-time, nullable — Asset status effective end date.
      - `description` string, nullable
      - `createdAt` string, date-time — Date & time at which the asset status was created.
      - `updatedAt` string, date-time — Date & time at which the asset status was last updated.
      - `deletedAt` string, date-time, nullable — Date & time at which the asset status was deleted.
      - `customStatus` object, nullable — Custom status assigned to asset.
        - `id` number
        - `label` string, required
        - `createdAt` string, date-time — Date & time at which the asset custom status was created.
        - `updatedAt` string, date-time — Date & time at which the asset custom status was last updated.
        - `deletedAt` string, date-time, nullable — Date at which the asset custom status was deleted.
    - `manufacturer` string — Name of the manufacturer of the asset (expand with query parameter)
    - `model` string — Name of the model of the asset (expand with query parameter)
  - `nextCursor` string, nullable, required — The cursor to retrieve the next page of Assets.
  - `nextPageUrl` string, nullable, required — Path with query parameters that can be used to retrieve the next page of Assets.

## Other responses

- `400` — Error with query
- `401` — Invalid token

---

[API](https://skmtc.net/getmaintainx/apis/maintainx-api.md) · [All operations](https://skmtc.net/getmaintainx/apis/maintainx-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getmaintainx/maintainx-api/revisions/ef9153fcac7c/schema)
