Skip to content

Suppliers API

POST /api/v1/integration/suppliers

Bulk upsert suppliers. Matches existing records by externalId — creates new records or updates existing ones.

Required scope: integration:suppliers:write

{
"suppliers": [
{
"externalId": "string (required)",
"name": "string (required)",
"code": "string",
"country": "string (ISO 3166-1 alpha-2)",
"address": "string",
"contactPerson": "string",
"email": "string",
"phone": "string",
"certifications": ["string"],
"isEuOrigin": "boolean"
}
]
}
  • Maximum 500 suppliers per request
{
"success": true,
"created": 2,
"updated": 1,
"errors": [
{ "externalId": "VENDOR-005", "error": "Supplier name is required" }
],
"records": [
{ "externalId": "VENDOR-001", "internalId": "clx...", "status": "CREATED" },
{ "externalId": "VENDOR-002", "internalId": "clx...", "status": "UPDATED" },
{ "externalId": "VENDOR-005", "internalId": "", "status": "ERROR" }
]
}
FieldTypeRequiredDescription
externalIdstringUnique ID in your system
namestringSupplier/vendor name
codestringVendor number or code
countrystringISO country code (e.g., “BR”, “DE”)
addressstringFull address
contactPersonstringPrimary contact name
emailstringContact email
phonestringContact phone
certificationsstring[]List of certifications
isEuOriginbooleanWhether supplier is EU-based

GET /api/v1/integration/suppliers

List suppliers that were synced from external systems with their sync status.

Required scope: integration:suppliers:read

ParameterTypeDefaultDescription
pagenumber1Page number
limitnumber50Items per page (max 100)
sincestringISO date — only show records synced after this date
{
"entities": [
{
"externalId": "VENDOR-001",
"internalId": "clx...",
"name": "Amazon Timber Co.",
"syncStatus": "SYNCED",
"lastSyncedAt": "2024-01-15T10:30:00.000Z"
}
],
"total": 42,
"page": 1,
"limit": 50
}