Stock catalog fields and lookups
Load the legacy stock supplier picker
/a/Stock_suppliersGet
Return all stored supplier columns for the stock editor’s supplier selector.
When to use this endpoint
Use only for the legacy supplier picker. It is a tenant-wide supplier list, not the suppliers linked to a particular stock item.
Authentication and permissions
Authenticate with signed API-key fields or a logged-in CRM session. This handler requires both a user identity and tenant context; it adds no stock-page, finance or administrator permission check.
All queries use the authenticated tenant. API signing and session CSRF checks still apply; see Getting started.
Parameters
This endpoint has no operation-specific parameters.
Example request
$suppliers = FM_api('Stock_suppliersGet', []);
Example response
[]
Example when no non-deleted suppliers exist. Otherwise returns an array of complete raw supplier rows, not id/name pairs. The representative schema includes id, name, contact_name, address fields, country, postcode, email, phone, notes, website, tax_id, terms, account_number, ref_number, is_active, on_hold, type, meta, cdate, last_edited, edited_uuid, custom_values, deleted and ddate. Stored JSON fields stay encoded; actual raw columns follow the tenant schema.
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. |
[] | No non-deleted supplier rows. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- SELECT * from suppliers with deleted=0, ordered by name. Inactive and on-hold suppliers remain included; this is not an active-status allowlist.
- No stock-ID, owner, department, paging or projection filter. Supplied id is ignored. No supplier-page or feature gate; relation costs/assignments are not fetched.
- No direct mobile caller was found in the current app JavaScript or
m/wwwintermediary. The app receives stock throughsyncDownloads, which selects non-deleted stock by edit timestamp; these calls are not the app synchronization protocol.
Side effects
- Read-only; no audit, edit timestamp, event or stock movement.
See it in Fieldmotion
CRM1
On Stock, click the supplier cell; CRM1 loads this list, then sends Stock_supplierSet for the chosen ID. The stock filter also loads it for options.
CRM2
No direct call was found; CRM2 Stocks uses the supplier list and multi-supplier editor rather than this legacy selector.
Related endpoints
Stock_supplierAddadds a minimal picker supplier.Stock_supplierSetassigns a selected scalar supplier ID.