When to use this endpoint

Use as a reverse lookup before inspecting or replacing table references. CRM1’s duplicate-table merge uses this after Form_areFieldsEqual; this call itself changes nothing.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session and is scoped to the authenticated tenant.

The handler performs no form, department, owner, or page-permission check unless the page below says otherwise. CRM navigation may impose additional UI-only access rules.

Parameters

ParameterTypeRequiredDescription
idInteger-compatible form IDYesPositive integer-converted table ID to find in subform fields. The target table need not exist for this scan.

Example request

$parents = FM_api('Form_listFormsWithTable', ['id'=>'1042']);

Example response

{"ok":1,"form_ids":["1088","1090"]}

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.
{"error":"missing or invalid parameter: id"}ID absent/null or converts below 1.

Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.

Behaviour and edge cases

  • Scans all type=0 Job forms, including archived definitions. Only top-level fields with type=subform and extras.values equal to the requested ID match; nested references and non-Job forms are not traversed.
  • Each parent is appended once even if several fields reference the table. IDs retain database scalar types; no ordering, pagination, maximum or name projection is provided.
  • This scans fields directly; it does not read or repair cached meta.form_parents. Stored fields must decode to iterable field definitions; malformed storage has no structured recovery contract.
  • No direct mobile app/m-service caller for this RPC was found. Mobile form definitions arrive through m’s syncDownloads form channel, not this endpoint.

Side effects

  • Read-only; no history, cache invalidation, file write, URL fetch or report rendering.

See it in Fieldmotion

CRM1

Forms table merge (widgetMergeTables) calls Form_listFormsWithTable for each duplicate before retargeting parent fields and job data. Inspect this RPC during that workflow.

CRM2

No direct caller found. Form editing and table loading use shared mapped/batch APIs.

Related endpoints