/api/v1/locations
List locations
List locations in the organization attached to your API token, with optional search, filters and sorting.
Last updated
Request
GET /api/v1/locations
Requires locations:read. See token permissions. Every listed permission is required for this endpoint.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.
Query parameters
-
pageinteger Optional - The page of results to return. Starts at
1; defaults to1. -
per_pageinteger Optional - The maximum number of results per page. Accepts
1–100; defaults to25. -
searchstring Optional - Up to 255 characters. Matches name, city, state, address or type.
-
statuses[]string array Optional - Up to 100 values, each
activeorinactive. -
sort_fieldstring Optional - One of
id,created_at,updated_at,name,city. Defaults toid. -
sort_directionstring Optional ascordesc. Defaults todesc.
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization. This example lists active locations matching “seattle”, sorted by name.
curl --globoff --request GET "https://my.assetcenter.app/api/v1/locations?search=seattle&statuses[]=active&sort_field=name&sort_direction=asc" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json"
Response
200 OK. Illustrative record and the common pagination fields; inventory responses include additional pagination links and metadata.
{
"data": [
{
"id": 123,
"name": "Main office",
"address": null,
"city": "Seattle",
"state": null,
"zip": null,
"type": null,
"is_temporary": false,
"status": "active",
"location_end": null,
"created_at": "2026-09-07T16:00:00.000000Z",
"updated_at": "2026-09-07T16:00:00.000000Z"
}
],
"links": {
"next": null,
"prev": null
},
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 25,
"total": 1
}
}
Behavior and constraints
Without sort_field, results are ordered by numeric ID, newest first. Records that tie on the sort field are ordered by ID in the same direction.
Filters combine: a record must match every parameter you send. Within one array parameter, a record may match any of the listed values. Send arrays with repeated bracketed names, such as statuses[]=active&statuses[]=inactive; a bare statuses=active returns 422. Follow links.next until it is null; the links keep your filter and sort parameters. Changing filters or sort part-way through gives a new result set, so start again from page 1.
category_ids, condition_ids, assignment and components are not available for locations and return 422. tenant_id and account_id are prohibited. There is no updated-since filter; sort by updated_at descending to find recent changes.
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. 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.