SIGNALS Documentation
API Reference

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 null leaves it unchanged. To clear a nullable field to null, send an empty string "" as its value.