Luxor PlatformAPI DocumentationCommanderInventory

Update inventory asset

Updates an inventory asset. All fields optional; only supplied fields change. `custom_fields` is merged (only supplied keys are updated; send an empty string to clear a key).

PATCH
/v2/commander/inventory/assets/{asset_id}

Authorization

LuxorAPIKey
authorization<token>

Use your API key here.

In: header

Path Parameters

asset_id*string

Asset id (uuid) or asset_code.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v2/commander/inventory/assets/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",  "asset_code": "WM-S21P-000001",  "mac_address": "AA:BB:CC:DD:EE:FF",  "serial_number": "SN-123456",  "manufacturer": "Bitmain",  "model": "S21 Pro",  "external_id": "ERP-0001",  "site_id": "b0a5fad8-1234-5678-9abc-def012345678",  "site_name": "Phoenix 1",  "lifecycle_status": "deployed",  "current_miner_id": "m-0001",  "client_id": "c1a2b3c4-...",  "location": {    "group_name": "Hall A",    "rack_name": "R-12",    "row": 3,    "column": 8  },  "acquisition_date": "2025-09-01",  "acquisition_cost": "2450.00",  "supplier": "Acme Distributors",  "warranty_expiry": "2027-09-01",  "custom_fields": {    "po_number": "PO-558"  },  "has_activity_conflict": false,  "created_at": "2025-09-02T09:30:00Z",  "updated_at": "2026-04-20T10:15:00Z",  "retirement_reason": "Damaged beyond repair",  "url": "/v2/commander/inventory/assets/a1b2c3d4-e5f6-7890-abcd-ef1234567890"}
{  "statusCode": 400,  "code": "FST_ERR_VALIDATION",  "error": "Bad Request",  "message": "body/end_date Required"}
{  "statusCode": 400,  "code": "FST_ERR_VALIDATION",  "error": "Bad Request",  "message": "body/end_date Required"}
{  "statusCode": 400,  "code": "FST_ERR_VALIDATION",  "error": "Bad Request",  "message": "body/end_date Required"}