Asset tables
Retrieve raw Asset Table rows
/a/AssetTable_getData
Read raw rows for one Asset Table, optionally across every asset.
When to use this endpoint
Use AssetTable_getData for the legacy Asset Tables screen when it needs complete row records and will render the configured columns in the browser.
Authentication and permissions
The request must establish an authenticated tenant through signed API-key fields or a CRM session. The handler checks tenant context but performs no page, role, or feature-permission check.
Only rows in the authenticated tenant table are queried.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
aid | Integer string | Yes | Asset scope. A positive value filters to that asset; exact 0 removes the asset filter and returns this table’s rows across all assets. Negative values are rejected. |
tid | Integer string | Yes | Positive table ID. Definition and asset existence are not checked. |
Example request
$rows = FM_api('AssetTable_getData', [
'aid' => '418',
'tid' => '1700000000123',
]);
Example response
[
{
"id": "92",
"table_id": "1700000000123",
"asset_id": "418",
"data": "{\"1\":\"8.2\",\"2\":\"passed\"}",
"cdate": "2026-09-24 10:15:00",
"last_edited": "2026-09-24 10:15: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. |
{"error":"missing or invalid parameter: aid"} | aid is absent or negative. |
{"error":"missing or invalid parameter: tid"} | tid is absent or not positive. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- Rows are ordered by
cdateascending. Equal timestamps have no defined secondary order. dataremains an encoded JSON string keyed by configured field ID.- There is no pagination, row limit, asset existence check, or soft-deleted-asset filter.
aid=0may therefore return a large tenant-wide result.
See it in Fieldmotion
CRM1
Open an asset’s Tables tab and select a table; CRM1 calls AssetTable_getData and builds its client-side data table from the returned rows.
CRM2
No direct production CRM2 caller was found; CRM2 uses AssetTables_getDataTable through its shared table widget.
Related endpoints
AssetTables_getDataTableprovides server-side paging and named fields.AssetTable_setRowcreates or changes the raw row JSON.