When to use this endpoint

Use Customers_getChangesList only when a legacy consumer needs the stored customer change records with their encoded before/after payloads.

For the formatted CRM2 activity display, use Customers_getCustomersLogList.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler performs no additional page or role-permission check.

The lookup and any write use the authenticated tenant; an ID from another tenant cannot be addressed through this call.

Parameters

ParameterTypeRequiredDescription
cust_idInteger stringYesCustomer ID. Presence is required; the value is converted to an integer, so blank and nonnumeric values query ID 0.

Example request

$changes = FM_api('Customers_getChangesList', [
	'cust_id' => '1088',
]);

Example response

[
  {
    "cdate": "1774517400",
    "changes": "[\"Old name\",\"Northwind Cork\",0]",
    "label": "name",
    "name": "Alex User"
  }
]

cdate is a Unix-seconds value returned as a database string. changes remains a JSON-encoded string; the endpoint does not decode or normalize it. name can be null when the user row no longer resolves.

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":"no \"cust_id\" parameter"}cust_id is absent.
[]No audit row matches the converted customer ID.

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 cdate descending. Entries sharing the same second have no secondary ordering guarantee.
  • The endpoint does not check whether the customer exists, is active, or is soft-deleted. Audit rows remain addressable by customer ID.
  • All stored labels and payload strings are returned, including legacy or truncated history markers.
  • There is no date filter, pagination, or limit.

See it in Fieldmotion

CRM1

A production-source search found no CRM1 caller for Customers_getChangesList. CRM1’s current customer history flows use other table/history implementations.

CRM2

A production-source search found no CRM2 caller for this raw endpoint. CRM2’s Customer activity view calls Customers_getCustomersLogList instead.

Related endpoints