The Assets API (also referred to as “hardware” in routes) allows you to manage hardware assets in Snipe-IT.
List Assets
curl -X GET "https://your-domain.com/api/v1/hardware" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Number of results to return
Search string to filter results
sort
string
default:"created_at"
Column to sort by. Allowed values: id, name, asset_tag, serial, model, model_number, last_checkout, category, manufacturer, notes, expected_checkin, order_number, company, location, purchase_date, purchase_cost
Filter by status: Deleted, Pending, RTD, Undeployable, Archived, Requestable, Deployed
Filter by manufacturer ID
Filter by status label ID
Array of asset objects
Default location (Return to Default)
User or asset this is assigned to
Warranty duration in months
Get Asset by ID
curl -X GET "https://your-domain.com/api/v1/hardware/{asset_id}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Get Asset by Tag
curl -X GET "https://your-domain.com/api/v1/hardware/bytag/{asset_tag}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Get Asset by Serial
curl -X GET "https://your-domain.com/api/v1/hardware/byserial/{serial}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Create Asset
curl -X POST "https://your-domain.com/api/v1/hardware" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"asset_tag": "LAP-00123",
"model_id": 1,
"status_id": 2,
"name": "Employee Laptop"
}'
Purchase date (YYYY-MM-DD)
Warranty duration in months
Update Asset
curl -X PATCH "https://your-domain.com/api/v1/hardware/{asset_id}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Asset Name",
"status_id": 2
}'
Delete Asset
curl -X DELETE "https://your-domain.com/api/v1/hardware/{asset_id}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Checkout Asset
curl -X POST "https://your-domain.com/api/v1/hardware/{asset_id}/checkout" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"assigned_user": 123,
"checkout_at": "2024-01-15",
"note": "Assigned to employee"
}'
User ID to checkout to (use one of assigned_user, assigned_asset, or assigned_location)
Location ID to checkout to
Checkout date (YYYY-MM-DD)
Expected checkin date (YYYY-MM-DD)
Checkin Asset
curl -X POST "https://your-domain.com/api/v1/hardware/{asset_id}/checkin" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"note": "Returned in good condition",
"location_id": 5
}'
Audit Asset
curl -X POST "https://your-domain.com/api/v1/hardware/{asset_id}/audit" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"location_id": 5,
"note": "Annual audit"
}'
Next audit date (YYYY-MM-DD)
Get Assets Due for Audit
curl -X GET "https://your-domain.com/api/v1/hardware/audits/due" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Returns assets that are due for audit based on audit interval settings.
Get Overdue Audits
curl -X GET "https://your-domain.com/api/v1/hardware/audits/overdue" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Returns assets with overdue audits.