Assets
Endpoints for reading and managing assets across warehouses. API paths remain /assets.
Assets API
CRUD endpoints for managing assets (inventory items).
Endpoints
| Method | URL | Description |
|---|---|---|
| GET | /api/v1/assets |
List assets |
| GET | /api/v1/assets/{id} |
Show an asset |
| POST | /api/v1/assets |
Create an asset |
| PUT | /api/v1/assets/{id} |
Update an asset |
| DELETE | /api/v1/assets/{id} |
Delete an asset |
Authentication
Requires a Sanctum bearer token with assets:read (GET) or assets:write (POST/PUT/DELETE) ability.
List Assets
GET /api/v1/assets
Filters
| Parameter | Description |
|---|---|
q[catalogue_item_id_eq]=5 |
Filter by catalogue item |
q[warehouse_id_eq]=1 |
Filter by warehouse |
q[catalogue_category_eq]=50 |
barcoded assets only |
q[serial_number_cont]=SN |
Serial number contains |
q[asset_number_eq]=18670 |
Exact asset number |
q[barcode_eq]=123 |
Exact barcode |
Sorts
| Parameter | Description |
|---|---|
sort=quantity_held |
Sort by quantity held |
sort=catalogue_item_id |
Sort by catalogue item |
sort=created_at |
Sort by creation date |
Includes
Eager-load relationships with ?include=catalogue item,warehouse,account,customFieldValues
Live filters
Apply a saved live filter: ?filter_id=8
Response
{
"assets": [
{
"id": 1,
"catalogue_item_id": 5,
"warehouse_id": 1,
"item_name": "LED Wash #001",
"asset_number": "18670",
"serial_number": "SN-2026-001",
"barcode": "5060001234567",
"location": "Bay A, Shelf 3",
"preferred_catalogue_type": 1,
"catalogue_category": 50,
"quantity_held": "1.00",
"quantity_allocated": "0.00",
"quantity_unavailable": "0.00",
"custom_fields": {},
"created_at": "2026-01-15T14:30:00Z",
"updated_at": "2026-01-15T14:30:00Z"
}
],
"meta": {
"total": 156,
"per_page": 20,
"page": 1
}
}
Show Asset
GET /api/v1/assets/{id}
Returns the asset wrapped in {"asset": {...}}.
Create Asset
POST /api/v1/assets
Request Body
{
"catalogue_item_id": 5,
"warehouse_id": 1,
"item_name": "LED Wash #002",
"asset_number": "18671",
"serial_number": "SN-2026-002",
"preferred_catalogue_type": 1,
"catalogue_category": 50,
"quantity_held": "1.00"
}
Returns 201 Created.
Update / Delete
Standard update (PUT, 200) and delete (DELETE, 204) patterns.
Clearing nullable fields: Omitting a field or sending
nullleaves it unchanged. To clear a nullable field tonull, send an empty string""as its value.