suppliers

Change one supplier's terms, warehouses and lanes

Changes one supplier and answers it whole, as get_supplier_details serves it. Send only the fields that move: omitted or null is left alone, with the exceptions below.

location_lead_times is a list of {location_id, lead_time}; each entry replaces that warehouse's setting whole, null means no override, and warehouses not listed are untouched. lanes states a whole warehouse instead, lead time, box, freight quote and road limit in one object, each omitted field meaning none on file. A warehouse in both lists is refused 400 naming it.

container_type_id is the exception to "null is omitted": null clears it to "use the organisation default", not to "no container", so send the key to clear it and omit it to leave it.

contacts is ignored. primary_contact is not: {"id": <contact id>} makes an existing contact this supplier's main one, clearing the flag from whichever contact held it and linking that contact to the supplier if it was not linked. It creates and edits nothing, create_contact and update_contact are the only doors that write a person.

is_archived true suffixes the name " (Archived)" and re-points every variant this supplier is default for onto another of that variant's suppliers; false reverses the suffix. clear_variant_supplier_lead_time true drops the per-variant lead time across this supplier's variants. domains re-syncs supplier email in the background, after the answer.

An unknown supplier is refused 404 and an unknown container type 400.

Scope: suppliers:write, which includes suppliers:read.

put/api/v1/inventory/suppliers/{supplier_id}

Request

  • Base URL: https://api.app.tightly.io
  • URL: https://api.app.tightly.io/api/v1/inventory/suppliers/{supplier_id}
  • Auth: HTTP bearer

Path parameters

supplier_idstring required

The supplier's id, as list_suppliers serves it.

Headers

Tightly-Versionstring
Example:2026-11

The date train to answer on. One train exists today, 2026-11, the one this reference describes and the one every key is minted on, so the call answers on it with or without this header. Send it anyway, so a client built now names its train from the start.

Idempotency-Keystring
Example:b8f1c0d2-6a4e-4f39-9c21-0d5f2e7a1b44

A string of your own, up to 255 characters, that makes this write safe to retry. Send the same key twice and the second request is answered with the first one's status and body instead of writing again, so a client that retried after a timeout ends holding the record's id rather than creating a second one. Reusing a key with a different body, or while the first request is still running, is refused 409. A write that failed releases its key. Keys answer for 24 hours and belong to the API key that used them. A key longer than 255 characters is ignored and the write goes ahead without the guarantee.

Request body

address1string nullable
address2string nullable
brand_idsstring[] nullable
citystring nullable
clear_variant_supplier_lead_timeboolean nullable
container_type_idinteger nullable
container_type_statedboolean

Server-set: true when the body named container_type_id (even as null). Anything a client sends here is overwritten, so omit it.

countrystring nullable
currencystring nullable
domainsstring[] nullable
edi_statedboolean

Server-set: true when the body named edi (even as null). Anything a client sends here is overwritten, so omit it.

is_archivedboolean nullable
kind'factory' | 'vendor' | 'distributor' | 'null' nullable
kind_statedboolean

Server-set: true when the body named kind (even as null). Anything a client sends here is overwritten, so omit it.

lead_timeinteger nullable
min_order_valueinteger nullable
namestring nullable
payment_terms_daysinteger nullable
postal_codestring nullable
provincestring nullable

Response

The supplier as it now stands, in the shape get_supplier_details serves.

Changes

No recorded changes to this operation across all 1 revision of this API.