When to use this endpoint

Use PowerBI_getUserData for the Users table in the legacy connector.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session so that the tenant database and user context are available. The handler performs no page or role-permission check.

This direct dataset route does not consume the unsigned api_id/api_key pair used by the Power BI connector. Use PowerBI_getData for the self-authenticating connector feed.

Parameters

This endpoint has no operation-specific parameters.

Example request

FM_api('PowerBI_getUserData');

Example response

[
  {"user_id":"18","user_name":"Alex","active":"1","app_make":"Google","app_model":"Pixel","app_platform":"Android","app_repo":"main","cost_per_hour":"25.00","date_created":"2026-01-02","date_last_edited":"1727441000","departments":"[3]","edited_uuid":"...","email":"alex@example.test","hours_per_week":"40","language":"en","last_latitude":"54.60","last_longitude":"-5.93","last_latlon_time":"1788422400","last_login":"1788422500","last_login_app_ver":"5.2","price_per_hour":"50.00","server":"","uuid":"...","vehicle_id":"...","work_location_id":"8"}
]

Errors and unusual responses

ResponseCondition
{"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

  • Only rows with active=1 are returned. There is no role/department scope, explicit ordering, date filter, or pagination.
  • The exact selected keys are those shown in the example: IDs/names, active/device/app fields, rates and hours, creation/edit fields, departments, email/language, last location/login data, server/UUID, vehicle, and work-area ID.
  • Structured fields such as departments remain in their stored representation.
  • The aggregate feed exposes the array as user_data for module=all-users and includes it in module=all.

See it in Fieldmotion

CRM1

The legacy connector uses this result as its Users table.

CRM2

CRM2 does not call this reporting route for user administration.

Related endpoints