Skip to main content
PATCH
Partially update a supplier

Authorizations

Authorization
string
header
required

Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.

Path Parameters

supplierId
integer
required

The unique identifier of the supplier

Body

application/json

Partial update. Only the fields you send are written; omitted fields are left unchanged. Send a nullable field as null to clear it. At least one recognized supplier field must be supplied.

For a full replace of the supplier record, use POST /suppliers/{supplierId} instead.

name
string

Supplier name. If supplied it must be a non-empty string.

Maximum string length: 255
Example:

"Acme Manufacturing"

description
string | null

Supplier description

Example:

"Primary overseas supplier for apparel"

street_address
string | null
Maximum string length: 255
Example:

"123 Industrial Way"

city
string | null
Maximum string length: 255
Example:

"Shenzhen"

state
string | null
Maximum string length: 255
Example:

"Guangdong"

zip
string | null
Maximum string length: 255
Example:

"518000"

country
string | null
Maximum string length: 255
Example:

"China"

factory_admin_id
integer | null

ID of the internal user to set as the primary admin for this supplier

Example:

100

bank_name
string | null
Maximum string length: 255
Example:

"Bank of China"

routing_number
string | null
Maximum string length: 255
Example:

"021000021"

account_number
string | null
Maximum string length: 255
Example:

"1234567890"

swift_code
string | null
Maximum string length: 255
Example:

"BKCHCNBJ"

default_payment_term
string | null

Default payment term name. Must match one of the payment term names configured in Luminous.

Example:

"Net 30"

default_currency_code
string | null

Default ISO 4217 currency code for this supplier (3 letters). Auto-applied to new purchase orders created for the supplier.

Required string length: 3
Example:

"USD"

contact_ids
integer[] | null

IDs of existing contacts to link to this supplier

Example:
default_logistic_code
enum<string> | null

Incoterm applied to a purchase order raised for this supplier when the order does not name one itself.

Available options:
fob,
exw,
cif,
ddp,
fca
Example:

"fob"

default_warehouse_id
integer | null

Warehouse a purchase order raised for this supplier defaults to when the order does not name one. A warehouse id, as returned by GET /warehouses.

Example:

7

default_order_type
enum<string> | null

Order type a purchase order raised for this supplier defaults to when the order does not name one.

Available options:
INTERNAL_TRANSFER_ORDER,
DROP_SHIP_ORDER
Example:

"DROP_SHIP_ORDER"

default_requested_ship_date_offset_days
integer | null

Whole calendar days (not business days) added to a purchase order's order date to produce its requested ship date, when the order does not carry one.

Example:

14

default_arrival_due_date_offset_days
integer | null

Whole calendar days (not business days) added to a purchase order's order date to produce its arrival due date, when the order does not carry one.

Example:

30

ship_to_addresses
object[] | null

The supplier's saved ship-to address set. There is no separate "default ship to" field — the default is the entry flagged is_default, and the set is normalized so exactly one carries the flag whenever it is non-empty.

Sending ship_to_addresses replaces rather than merges the set (even an empty array writes it); omitting it leaves the existing set untouched.

custom_fields
object | null

Custom field values as a label => value map, matching the shape GET returns. Only fields defined for the supplier object type are accepted; a label that is unknown, scoped to another object type, or a case-variant duplicate is rejected with a 422. Set a value to null to clear that field.

Sending custom_fields replaces rather than merges; omitting it leaves the existing values untouched.

Example:

Response

Supplier successfully updated

data
object