Work areas and stock categories
Refresh named work-area options
/a/Locations_getNames
Load alphabetically sorted work-area labels, optionally changed since a datetime checkpoint.
When to use this endpoint
Location_get loads the selected option’s full details. The checkpoint only refreshes surviving records and cannot notify you of deletions.
These records represent work areas and map locations, not live user GPS positions or geofence definitions. Read IDs before editing; the stored user column is distinct from user-to-area membership.
Authentication and permissions
Authenticate using signed API-key fields or a logged-in CRM session. All object queries use the authenticated tenant. The handler has no additional page, role or feature check unless stated below.
Sign numeric request values as strings, including nested native arrays; only JSON-encode parameters that explicitly accept JSON text. See Getting started.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
last_edited | Datetime string | No | Truthy value enables strict last_edited > checkpoint AND last_edited < current server datetime. Omitted/blank/"0" disables the date filter. |
Example request
$result = FM_api('Locations_getNames', []);
Example response
[{"id":"1042","name":"Depot","last_edited":"2026-10-03 10:30:00"}]
Errors and unusual responses
| Response | Condition |
|---|---|
{"error":"not logged in"} | No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- Returns only id/name/last_edited, ordered by name without pagination. Datetimes are stored SQL strings, not Unix timestamps.
- Both checkpoint bounds are exclusive. A row edited exactly at the request’s current second is excluded, and rows with NULL last_edited are excluded by an active checkpoint.
- This is not a deletion feed and returns no next-checkpoint value. An omitted checkpoint has no upper-time filter.
- Only non-deleted work areas are read or changed. No department or ownership restriction is applied. CRM1/CRM2 hide Area Settings with feature bit
524288, but these APIs do not enforce that UI restriction. - The source search found no direct caller in the mobile JavaScript app or its
m/wwwintermediary for this endpoint.
Side effects
- Read-only; closes the PHP session write lock before querying. No timestamps are changed.
See it in Fieldmotion
CRM1
Settings → General or Job Settings, and customer/asset address selectors, request Locations_getNames to populate area choices.
CRM2
General Settings and job-module selectors use Locations_getNames. Header cached-list refresh also sends the latest cached last_edited checkpoint; filter the same endpoint.
Related endpoints
Locations_listselects raw location fields, optionally by user association.Location_getRequestedDetailsuses the mapped CRM2 field names.