/api/v1/assets/scan
Look up an asset by barcode
Find the asset whose asset tag or serial number matches a scanned barcode.
Last updated
Request
GET /api/v1/assets/scan
Requires assets:read. See token permissions. Every listed permission is required for this endpoint.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.
Query parameters
-
codestring Required - The scanned value, up to 255 characters. Leading and trailing spaces are ignored.
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization.
curl --request GET "https://my.assetcenter.app/api/v1/assets/scan?code=PF3K9X2" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json"
Response
200 OK. The matching asset, in the same shape as get an asset.
{
"data": {
"id": 123,
"asset_tag": "LAP-042",
"manufacturer": "Lenovo",
"model": "ThinkPad T14",
"model_number": null,
"serial_number": "PF3K9X2",
"manufacture_date": null,
"parent_id": null,
"parent_cost_rollup": false,
"status": "available",
"category_id": 7,
"person_id": null,
"location_id": null,
"sublocation_id": null,
"is_in_storage": false,
"person_loan_due": null,
"location_loan_due": null,
"condition_id": null,
"decommission_event_type_id": null,
"created_at": "2026-09-07T16:00:00.000000Z",
"updated_at": "2026-09-07T16:00:00.000000Z"
}
}
Behavior and constraints
The code is first matched exactly against asset tags. If no asset tag matches, it is matched against serial numbers without regard to case, with or without a leading S, the prefix many manufacturers print in front of serial-number barcodes. So SPF3K9X2 and pf3k9x2 both find serial number PF3K9X2. An exact serial number is preferred over a match found by adding or removing the S. When more than one asset still matches, the newest is returned. Only assets in the token’s organization are searched. No match returns 404 with the message We could not find an asset matching that barcode. See also barcode scanning in the app.
Errors
401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 404 means no asset in this organization matches the code. 422 identifies invalid or unsupported input; inspect the errors object when present. 429 means a rate limit was reached. See error handling and rate limits.