Skip to content

Suppliers

A Supplier is one of the vendors behind your article catalogue — who you buy from. Each supplier is keyed by the supplier_id you assign in your source system. Mercura uses supplier data when sourcing articles for an offer and when generating supplier requests (RFQs).

You can:

  • POST /suppliers — bulk-upsert up to 100,000 suppliers in a single call. Async — returns a JobAck; poll GET /jobs/{job_id} for status. Existing suppliers are updated in place by supplier_id; new ones are inserted.
  • GET /suppliers — cursor-paginated list of your suppliers. Use modified_since for delta-sync.
  • GET /suppliers/{supplier_id} — fetch a single supplier by the partner-supplied id.

About supplier_id

Supplier ids are partner-supplied and must match [A-Za-z0-9._\-]{1,255} so they round-trip safely through URL path segments. Up to v1.6.x this field was called external_id (see the v1.7.0 entry in the changelog).

About custom_fields

Read responses (GET /suppliers, GET /suppliers/{supplier_id}) return custom_fields keyed by the field's display label — the same label you see in the Mercura admin UI — rather than the internal column id. Columns with no active definition are omitted, and on a label collision the column defined first (by display order, then creation time) wins. On the write path (POST /suppliers) send custom_fields keyed by the internal column id; only reads are label-keyed.