---
title: "Asset List with views, and filters."
method: POST
path: "/api/v1/assets/list"
tags: ["assets"]
---

# Asset List with views, and filters.

`POST /api/v1/assets/list`

### Filtering

The request body is an **array of filter objects**. Send an empty array (`[]`) to retrieve all records.

Each filter object has the following fields:

| Field | Type | Description |
|---|---|---|
| `attribute` | string | The field to filter on (see Supported attributes below) |
| `operator` | string | Comparison operator (see Available operators below) |
| `values` | array | One or more `{ "value": <scalar> }` objects |

**Supported attributes**

| Attribute | Typical operator | Description |
|---|---|---|
| `status` | `IS_ANY_OF` | Asset status (e.g. `IN_USE`, `AVAILABLE`, `RETIRED`). |
| `type_id` | `IS_ANY_OF` | Asset type ID. |
| `assigned_to_id` | `IS_ANY_OF` | User ID the asset is assigned to. |

**Available operators**

| Operator | Meaning |
|---|---|
| `EQUALS` | Exact match |
| `NOT_EQUALS` | Exclude exact match |
| `IN` / `IS_ANY_OF` | Match any value in the list |
| `IS_NOT_ANY_OF` | Exclude all listed values |
| `IS_BETWEEN` | Inclusive range — pass exactly two values: `[start, end]` |
| `IS_ON_OR_BEFORE` / `IS_ON_OR_AFTER` | Date/time boundary comparisons |
| `CONTAINS` / `TEXT_CONTAINS` | Substring or set membership |
| `IS_NULL` / `IS_NOT_NULL` | Null checks — `values` array can be empty |
| `STARTS_WITH` / `ENDS_WITH` | String prefix/suffix match |

**Example**

```json
[
  {
    "attribute": "status",
    "operator": "IS_ANY_OF",
    "values": [
      {
        "value": "IN_USE"
      },
      {
        "value": "AVAILABLE"
      }
    ]
  }
]
```

## Query parameters

- `sort_order` 'CREATED_AT_DESC' | 'CREATED_AT_ASC' | 'UPDATED_AT_DESC' | 'NAME_ASC' | 'NAME_DESC'
- `sort` string
- `page` integer, required
- `per_page` integer

## Headers

- `X-Api-Key` string, required
- `X-Workspace-Id` string

## Request body

- ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItems[]
  - `attribute` string
  - `operator` 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'NOT_CONTAINS' | 'IN' | 'NOT_IN' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_EQUALS' | 'LESS_THAN_EQUALS' | 'IS_BETWEEN' | 'IS_NULL' | 'IS_NOT_NULL' | 'STARTS_WITH' | 'ENDS_WITH' | 'TEXT_CONTAINS' | 'TEXT_DOES_NOT_CONTAINS' | 'IS_ANY_OF' | 'IS_NOT_ANY_OF' | 'IS_EXACTLY' | 'IS_ON_OR_BEFORE' | 'IS_ON_OR_AFTER' | 'IS_WITHIN'
  - `values` ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItems[]
    - `value` ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItemsValue
    - `nested_filter` unknown

## Response `200`

Successful response

- AssetsPostapiV1AssetsListResponse200 — Empty response body

## Changes

- **2026-08-22** `6223f7496274` — 4 warning
  - for the `query` request parameter `sort`, the maxLength was set to `256`
  - for the `query` request parameter `per_page`, the max was set to `1000.00`
  - for the `query` request parameter `page`, the min was set to `1.00`
  - for the `query` request parameter `per_page`, the min was set to `1.00`
- **2026-08-12** `2ab1cf36239b` — 1 info
  - api operation id `postapi-v-1-assets-list` removed and replaced with `postapi_v1_assets_list`

[Change history](https://skmtc.dev/atomicwork/apis/atomicwork-public-api/changes/api/v1/assets/list/post.md)

---

[API](https://skmtc.dev/atomicwork/apis/atomicwork-public-api.md) · [All operations](https://skmtc.dev/atomicwork/apis/atomicwork-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/atomicwork/atomicwork-public-api/revisions/6223f7496274/schema)
