When to use this endpoint

Use Suppliers_list to populate supplier selectors or poll a modest supplier set. Its output is deliberately limited to ID, name, and edit time.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler calls the normal login guard but performs no additional Suppliers-page, stock, purchasing, role, create, edit, or delete permission check.

All records are selected from the authenticated tenant. CRM1 and CRM2 hide some controls through client-side permissions, but these endpoints do not repeat those UI checks.

Parameters

ParameterTypeRequiredDescription
fieldsJSON array or native arrayNoRequested fields from id, name, and last_edited. Omission or no valid value falls back to id and name.
last_editedDate/time stringNoStrict lower bound. The query also applies a strict upper bound of the server’s current timestamp.
is_activeInteger stringNoExact activity flag after integer conversion.
on_holdInteger stringNoExact hold flag after integer conversion.

Example request

$suppliers = FM_api('Suppliers_list', [
	'fields' => json_encode(['id', 'name', 'last_edited']),
	'is_active' => '1',
	'on_hold' => '0',
	'last_edited' => '2026-09-30 08:00:00',
]);

Example response

[
  {"id":488104,"name":"Northshore Components","last_edited":"2026-09-30 11:20:00"}
]

IDs are explicitly converted to JSON numbers. Other database scalar values normally remain strings.

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.
[]No non-deleted supplier matches every supplied filter.

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 always ordered by supplier name and are not paginated. There is no total count or continuation token.
  • Soft-deleted suppliers are excluded. Inactive and on-hold suppliers remain unless their filters are supplied.
  • All supplied filters are AND-combined.
  • Unknown field names and malformed fields JSON do not error; the response falls back to ID and name.

See it in Fieldmotion

CRM1

Supplier pickers in purchasing and stock workflows call Suppliers_list, commonly requesting active, non-held options.

CRM2

CRM2’s purchase, requisition, goods-received, order, and stock screens also use this compact list for supplier choices.

Related endpoints