When to use this endpoint

Use Contract_getNotes for the lightweight CRM1 notes popup on a known contract.

For mapped contract detail screens, request notes through Contract_getRequestedDetails instead.

Authentication and permissions

The request must establish an authenticated tenant context through signed API-key fields or a CRM session. The handler checks the tenant table prefix rather than calling Core_requireLogin().

No page, role, contract-status, or ownership permission is checked.

Parameters

ParameterTypeRequiredDescription
idInteger stringYesContract ID after integer conversion. The query does not exclude soft-deleted rows.

Example request

$notes = FM_api('Contract_getNotes', [
	'id' => '720',
]);

Example response

"Renewal review due in September."

The JSON response is the scalar notes value, not an object. A stored null is returned as JSON null.

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 ID provided"}The id key is omitted.
falseNo row has the converted ID. This legacy path does not return a not-found error object.

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

Behaviour and edge cases

  • Soft-deleted contracts remain readable by ID through this endpoint.
  • No JSON parsing or notes formatting is applied, and there is no filtering or pagination.

See it in Fieldmotion

CRM1

On Contracts, a customer’s Contracts tab, or an asset’s Contracts tab, select the notes icon and filter Network requests for Contract_getNotes.

CRM2

No direct production CRM2 caller was found; CRM2 loads notes with the mapped contract-detail request.

Related endpoints