Power BI
Export Power BI recurrence data
/a/PowerBI_getRecurrenceData
Export every job recurrence with reporting aliases and flattened note text.
When to use this endpoint
Use PowerBI_getRecurrenceData for the Recurrences table in the legacy Power BI 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_getRecurrenceData');
Example response
[
{"recurrence_id":"51","recurrence_name":"Monthly Service","active":"1","copy_cust_ref":"1","copy_job_ref":"1","copy_user":"1","created_by":"18","custom":"{}","customer_id":"1042","customer_type":"0","date_created":"2026-01-01","days_in_advance":"30","department_id":"3","expiry_date":"2026-12-31","files":"[]","form_id":"12","last_edited":"2026-09-01 09:00:00","next_date":"2026-10-01 09:00:00","notes":"Check filters Bring parts ","recur_every":"1","recur_on":"monthly","user_id":"18"}
]
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. |
PHP warnings or incomplete output | A nonempty stored notes value is not a JSON array of rows compatible with content. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- All recurrence rows are returned, including inactive and expired entries. There is no date filter, explicit ordering, or pagination.
- The response uses
recurrence_id,recurrence_name,date_created,expiry_date,recur_every, andrecur_onaliases. Other selected scheduling/link fields retain their stored names and scalar/JSON-string representation. - Each stored note object’s nonempty
contentis concatenated in order with a trailing space after every item. An empty stored notes value is returned unchanged. - The aggregate feed exposes the array as
recurrence_dataonly formodule=all_recurrences;module=alldoes not include it.
See it in Fieldmotion
CRM1
The legacy connector builds its Recurrences navigation table from this result.
CRM2
CRM2 does not call this reporting route for recurrence management.
Related endpoints
PowerBI_getDatais the supported aggregate connector feed and supplies tenant settings to this helper.PowerBI_authenticateestablishes the unsigned connector session used by the aggregate feed.