curl --request PATCH \
--url https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Acme Manufacturing",
"description": "Primary overseas supplier for apparel",
"street_address": "123 Industrial Way",
"city": "Shenzhen",
"state": "Guangdong",
"zip": "518000",
"country": "China",
"factory_admin_id": 100,
"bank_name": "Bank of China",
"routing_number": "021000021",
"account_number": "1234567890",
"swift_code": "BKCHCNBJ",
"default_payment_term": "Net 30",
"default_currency_code": "USD",
"contact_ids": [
501,
502
],
"default_logistic_code": "fob",
"default_warehouse_id": 7,
"default_order_type": "DROP_SHIP_ORDER",
"default_requested_ship_date_offset_days": 14,
"default_arrival_due_date_offset_days": 30,
"ship_to_addresses": [
{
"is_default": true,
"ship_to_name": "Main Warehouse",
"ship_to_company": "Acme Distribution",
"ship_to_phone": "+1 555 123 4567",
"ship_to_email": "receiving@acme.example",
"street_address_1": "500 Distribution Blvd",
"street_address_2": "Suite 200",
"street_address_3": "<string>",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA"
}
],
"custom_fields": {
"Region": "Southwest",
"Preferred Carrier": "UPS"
}
}
'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}"
payload = {
"name": "Acme Manufacturing",
"description": "Primary overseas supplier for apparel",
"street_address": "123 Industrial Way",
"city": "Shenzhen",
"state": "Guangdong",
"zip": "518000",
"country": "China",
"factory_admin_id": 100,
"bank_name": "Bank of China",
"routing_number": "021000021",
"account_number": "1234567890",
"swift_code": "BKCHCNBJ",
"default_payment_term": "Net 30",
"default_currency_code": "USD",
"contact_ids": [501, 502],
"default_logistic_code": "fob",
"default_warehouse_id": 7,
"default_order_type": "DROP_SHIP_ORDER",
"default_requested_ship_date_offset_days": 14,
"default_arrival_due_date_offset_days": 30,
"ship_to_addresses": [
{
"is_default": True,
"ship_to_name": "Main Warehouse",
"ship_to_company": "Acme Distribution",
"ship_to_phone": "+1 555 123 4567",
"ship_to_email": "receiving@acme.example",
"street_address_1": "500 Distribution Blvd",
"street_address_2": "Suite 200",
"street_address_3": "<string>",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA"
}
],
"custom_fields": {
"Region": "Southwest",
"Preferred Carrier": "UPS"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Acme Manufacturing',
description: 'Primary overseas supplier for apparel',
street_address: '123 Industrial Way',
city: 'Shenzhen',
state: 'Guangdong',
zip: '518000',
country: 'China',
factory_admin_id: 100,
bank_name: 'Bank of China',
routing_number: '021000021',
account_number: '1234567890',
swift_code: 'BKCHCNBJ',
default_payment_term: 'Net 30',
default_currency_code: 'USD',
contact_ids: [501, 502],
default_logistic_code: 'fob',
default_warehouse_id: 7,
default_order_type: 'DROP_SHIP_ORDER',
default_requested_ship_date_offset_days: 14,
default_arrival_due_date_offset_days: 30,
ship_to_addresses: [
{
is_default: true,
ship_to_name: 'Main Warehouse',
ship_to_company: 'Acme Distribution',
ship_to_phone: '+1 555 123 4567',
ship_to_email: 'receiving@acme.example',
street_address_1: '500 Distribution Blvd',
street_address_2: 'Suite 200',
street_address_3: '<string>',
city: 'Dallas',
state: 'TX',
zip: '75201',
country: 'USA'
}
],
custom_fields: {Region: 'Southwest', 'Preferred Carrier': 'UPS'}
})
};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Acme Manufacturing',
'description' => 'Primary overseas supplier for apparel',
'street_address' => '123 Industrial Way',
'city' => 'Shenzhen',
'state' => 'Guangdong',
'zip' => '518000',
'country' => 'China',
'factory_admin_id' => 100,
'bank_name' => 'Bank of China',
'routing_number' => '021000021',
'account_number' => '1234567890',
'swift_code' => 'BKCHCNBJ',
'default_payment_term' => 'Net 30',
'default_currency_code' => 'USD',
'contact_ids' => [
501,
502
],
'default_logistic_code' => 'fob',
'default_warehouse_id' => 7,
'default_order_type' => 'DROP_SHIP_ORDER',
'default_requested_ship_date_offset_days' => 14,
'default_arrival_due_date_offset_days' => 30,
'ship_to_addresses' => [
[
'is_default' => true,
'ship_to_name' => 'Main Warehouse',
'ship_to_company' => 'Acme Distribution',
'ship_to_phone' => '+1 555 123 4567',
'ship_to_email' => 'receiving@acme.example',
'street_address_1' => '500 Distribution Blvd',
'street_address_2' => 'Suite 200',
'street_address_3' => '<string>',
'city' => 'Dallas',
'state' => 'TX',
'zip' => '75201',
'country' => 'USA'
]
],
'custom_fields' => [
'Region' => 'Southwest',
'Preferred Carrier' => 'UPS'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}"
payload := strings.NewReader("{\n \"name\": \"Acme Manufacturing\",\n \"description\": \"Primary overseas supplier for apparel\",\n \"street_address\": \"123 Industrial Way\",\n \"city\": \"Shenzhen\",\n \"state\": \"Guangdong\",\n \"zip\": \"518000\",\n \"country\": \"China\",\n \"factory_admin_id\": 100,\n \"bank_name\": \"Bank of China\",\n \"routing_number\": \"021000021\",\n \"account_number\": \"1234567890\",\n \"swift_code\": \"BKCHCNBJ\",\n \"default_payment_term\": \"Net 30\",\n \"default_currency_code\": \"USD\",\n \"contact_ids\": [\n 501,\n 502\n ],\n \"default_logistic_code\": \"fob\",\n \"default_warehouse_id\": 7,\n \"default_order_type\": \"DROP_SHIP_ORDER\",\n \"default_requested_ship_date_offset_days\": 14,\n \"default_arrival_due_date_offset_days\": 30,\n \"ship_to_addresses\": [\n {\n \"is_default\": true,\n \"ship_to_name\": \"Main Warehouse\",\n \"ship_to_company\": \"Acme Distribution\",\n \"ship_to_phone\": \"+1 555 123 4567\",\n \"ship_to_email\": \"receiving@acme.example\",\n \"street_address_1\": \"500 Distribution Blvd\",\n \"street_address_2\": \"Suite 200\",\n \"street_address_3\": \"<string>\",\n \"city\": \"Dallas\",\n \"state\": \"TX\",\n \"zip\": \"75201\",\n \"country\": \"USA\"\n }\n ],\n \"custom_fields\": {\n \"Region\": \"Southwest\",\n \"Preferred Carrier\": \"UPS\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Acme Manufacturing\",\n \"description\": \"Primary overseas supplier for apparel\",\n \"street_address\": \"123 Industrial Way\",\n \"city\": \"Shenzhen\",\n \"state\": \"Guangdong\",\n \"zip\": \"518000\",\n \"country\": \"China\",\n \"factory_admin_id\": 100,\n \"bank_name\": \"Bank of China\",\n \"routing_number\": \"021000021\",\n \"account_number\": \"1234567890\",\n \"swift_code\": \"BKCHCNBJ\",\n \"default_payment_term\": \"Net 30\",\n \"default_currency_code\": \"USD\",\n \"contact_ids\": [\n 501,\n 502\n ],\n \"default_logistic_code\": \"fob\",\n \"default_warehouse_id\": 7,\n \"default_order_type\": \"DROP_SHIP_ORDER\",\n \"default_requested_ship_date_offset_days\": 14,\n \"default_arrival_due_date_offset_days\": 30,\n \"ship_to_addresses\": [\n {\n \"is_default\": true,\n \"ship_to_name\": \"Main Warehouse\",\n \"ship_to_company\": \"Acme Distribution\",\n \"ship_to_phone\": \"+1 555 123 4567\",\n \"ship_to_email\": \"receiving@acme.example\",\n \"street_address_1\": \"500 Distribution Blvd\",\n \"street_address_2\": \"Suite 200\",\n \"street_address_3\": \"<string>\",\n \"city\": \"Dallas\",\n \"state\": \"TX\",\n \"zip\": \"75201\",\n \"country\": \"USA\"\n }\n ],\n \"custom_fields\": {\n \"Region\": \"Southwest\",\n \"Preferred Carrier\": \"UPS\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Acme Manufacturing\",\n \"description\": \"Primary overseas supplier for apparel\",\n \"street_address\": \"123 Industrial Way\",\n \"city\": \"Shenzhen\",\n \"state\": \"Guangdong\",\n \"zip\": \"518000\",\n \"country\": \"China\",\n \"factory_admin_id\": 100,\n \"bank_name\": \"Bank of China\",\n \"routing_number\": \"021000021\",\n \"account_number\": \"1234567890\",\n \"swift_code\": \"BKCHCNBJ\",\n \"default_payment_term\": \"Net 30\",\n \"default_currency_code\": \"USD\",\n \"contact_ids\": [\n 501,\n 502\n ],\n \"default_logistic_code\": \"fob\",\n \"default_warehouse_id\": 7,\n \"default_order_type\": \"DROP_SHIP_ORDER\",\n \"default_requested_ship_date_offset_days\": 14,\n \"default_arrival_due_date_offset_days\": 30,\n \"ship_to_addresses\": [\n {\n \"is_default\": true,\n \"ship_to_name\": \"Main Warehouse\",\n \"ship_to_company\": \"Acme Distribution\",\n \"ship_to_phone\": \"+1 555 123 4567\",\n \"ship_to_email\": \"receiving@acme.example\",\n \"street_address_1\": \"500 Distribution Blvd\",\n \"street_address_2\": \"Suite 200\",\n \"street_address_3\": \"<string>\",\n \"city\": \"Dallas\",\n \"state\": \"TX\",\n \"zip\": \"75201\",\n \"country\": \"USA\"\n }\n ],\n \"custom_fields\": {\n \"Region\": \"Southwest\",\n \"Preferred Carrier\": \"UPS\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 42,
"status": 1,
"name": "Acme Manufacturing",
"created_at": "2026-04-20T14:30:00Z",
"updated_at": "2026-04-20T14:30:00Z",
"created_by": 100,
"updated_by": 100,
"description": "Primary overseas supplier for apparel",
"street_address": "123 Industrial Way",
"city": "Shenzhen",
"state": "Guangdong",
"zip": "518000",
"country": "China",
"factory_admin_id": 100,
"supplier_admin_id": 100,
"contact_name": "Jane Doe",
"contact_email": "jane@acme.example",
"contact_phone": "+86 755 1234 5678",
"bank_name": "Bank of China",
"routing_number": "021000021",
"account_number": "1234567890",
"swift_code": "BKCHCNBJ",
"default_payment_term": "Net 30",
"default_currency_code": "USD",
"default_logistic_code": "fob",
"default_warehouse_id": 7,
"default_order_type": "DROP_SHIP_ORDER",
"default_requested_ship_date_offset_days": 14,
"default_arrival_due_date_offset_days": 30,
"custom_fields": {
"Region": "Southwest",
"Preferred Carrier": "UPS",
"Onboarded On": "2025-03-14"
},
"ship_to_addresses": [
{
"id": 88,
"is_default": true,
"ship_to_name": "Main Warehouse",
"ship_to_company": "Acme Distribution",
"ship_to_phone": "+1 555 123 4567",
"ship_to_email": "receiving@acme.example",
"street_address_1": "500 Distribution Blvd",
"street_address_2": "Suite 200",
"street_address_3": "<string>",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA"
}
],
"contacts": [
{
"id": 501,
"name": "Jane Doe",
"email": "jane@acme.example",
"phone": "+86 755 1234 5678"
}
]
}
}{
"error": "Unauthorized",
"message": "Authentication credentials are missing or invalid",
"status_code": 401
}{
"error": "Forbidden",
"message": "You do not have permission to access this resource",
"status_code": 403
}{
"error": "Not Found",
"message": "The requested resource could not be found",
"status_code": 404
}{
"message": "<string>",
"errors": {}
}Partially update a supplier
Partially update an existing supplier. Only the fields present in the request body are written; omitted fields are left unchanged, and a nullable field sent as null is cleared. At least one recognized supplier field must be supplied.
Use POST /suppliers/{supplierId} when you want to replace the whole record instead.
curl --request PATCH \
--url https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Acme Manufacturing",
"description": "Primary overseas supplier for apparel",
"street_address": "123 Industrial Way",
"city": "Shenzhen",
"state": "Guangdong",
"zip": "518000",
"country": "China",
"factory_admin_id": 100,
"bank_name": "Bank of China",
"routing_number": "021000021",
"account_number": "1234567890",
"swift_code": "BKCHCNBJ",
"default_payment_term": "Net 30",
"default_currency_code": "USD",
"contact_ids": [
501,
502
],
"default_logistic_code": "fob",
"default_warehouse_id": 7,
"default_order_type": "DROP_SHIP_ORDER",
"default_requested_ship_date_offset_days": 14,
"default_arrival_due_date_offset_days": 30,
"ship_to_addresses": [
{
"is_default": true,
"ship_to_name": "Main Warehouse",
"ship_to_company": "Acme Distribution",
"ship_to_phone": "+1 555 123 4567",
"ship_to_email": "receiving@acme.example",
"street_address_1": "500 Distribution Blvd",
"street_address_2": "Suite 200",
"street_address_3": "<string>",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA"
}
],
"custom_fields": {
"Region": "Southwest",
"Preferred Carrier": "UPS"
}
}
'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}"
payload = {
"name": "Acme Manufacturing",
"description": "Primary overseas supplier for apparel",
"street_address": "123 Industrial Way",
"city": "Shenzhen",
"state": "Guangdong",
"zip": "518000",
"country": "China",
"factory_admin_id": 100,
"bank_name": "Bank of China",
"routing_number": "021000021",
"account_number": "1234567890",
"swift_code": "BKCHCNBJ",
"default_payment_term": "Net 30",
"default_currency_code": "USD",
"contact_ids": [501, 502],
"default_logistic_code": "fob",
"default_warehouse_id": 7,
"default_order_type": "DROP_SHIP_ORDER",
"default_requested_ship_date_offset_days": 14,
"default_arrival_due_date_offset_days": 30,
"ship_to_addresses": [
{
"is_default": True,
"ship_to_name": "Main Warehouse",
"ship_to_company": "Acme Distribution",
"ship_to_phone": "+1 555 123 4567",
"ship_to_email": "receiving@acme.example",
"street_address_1": "500 Distribution Blvd",
"street_address_2": "Suite 200",
"street_address_3": "<string>",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA"
}
],
"custom_fields": {
"Region": "Southwest",
"Preferred Carrier": "UPS"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Acme Manufacturing',
description: 'Primary overseas supplier for apparel',
street_address: '123 Industrial Way',
city: 'Shenzhen',
state: 'Guangdong',
zip: '518000',
country: 'China',
factory_admin_id: 100,
bank_name: 'Bank of China',
routing_number: '021000021',
account_number: '1234567890',
swift_code: 'BKCHCNBJ',
default_payment_term: 'Net 30',
default_currency_code: 'USD',
contact_ids: [501, 502],
default_logistic_code: 'fob',
default_warehouse_id: 7,
default_order_type: 'DROP_SHIP_ORDER',
default_requested_ship_date_offset_days: 14,
default_arrival_due_date_offset_days: 30,
ship_to_addresses: [
{
is_default: true,
ship_to_name: 'Main Warehouse',
ship_to_company: 'Acme Distribution',
ship_to_phone: '+1 555 123 4567',
ship_to_email: 'receiving@acme.example',
street_address_1: '500 Distribution Blvd',
street_address_2: 'Suite 200',
street_address_3: '<string>',
city: 'Dallas',
state: 'TX',
zip: '75201',
country: 'USA'
}
],
custom_fields: {Region: 'Southwest', 'Preferred Carrier': 'UPS'}
})
};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Acme Manufacturing',
'description' => 'Primary overseas supplier for apparel',
'street_address' => '123 Industrial Way',
'city' => 'Shenzhen',
'state' => 'Guangdong',
'zip' => '518000',
'country' => 'China',
'factory_admin_id' => 100,
'bank_name' => 'Bank of China',
'routing_number' => '021000021',
'account_number' => '1234567890',
'swift_code' => 'BKCHCNBJ',
'default_payment_term' => 'Net 30',
'default_currency_code' => 'USD',
'contact_ids' => [
501,
502
],
'default_logistic_code' => 'fob',
'default_warehouse_id' => 7,
'default_order_type' => 'DROP_SHIP_ORDER',
'default_requested_ship_date_offset_days' => 14,
'default_arrival_due_date_offset_days' => 30,
'ship_to_addresses' => [
[
'is_default' => true,
'ship_to_name' => 'Main Warehouse',
'ship_to_company' => 'Acme Distribution',
'ship_to_phone' => '+1 555 123 4567',
'ship_to_email' => 'receiving@acme.example',
'street_address_1' => '500 Distribution Blvd',
'street_address_2' => 'Suite 200',
'street_address_3' => '<string>',
'city' => 'Dallas',
'state' => 'TX',
'zip' => '75201',
'country' => 'USA'
]
],
'custom_fields' => [
'Region' => 'Southwest',
'Preferred Carrier' => 'UPS'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}"
payload := strings.NewReader("{\n \"name\": \"Acme Manufacturing\",\n \"description\": \"Primary overseas supplier for apparel\",\n \"street_address\": \"123 Industrial Way\",\n \"city\": \"Shenzhen\",\n \"state\": \"Guangdong\",\n \"zip\": \"518000\",\n \"country\": \"China\",\n \"factory_admin_id\": 100,\n \"bank_name\": \"Bank of China\",\n \"routing_number\": \"021000021\",\n \"account_number\": \"1234567890\",\n \"swift_code\": \"BKCHCNBJ\",\n \"default_payment_term\": \"Net 30\",\n \"default_currency_code\": \"USD\",\n \"contact_ids\": [\n 501,\n 502\n ],\n \"default_logistic_code\": \"fob\",\n \"default_warehouse_id\": 7,\n \"default_order_type\": \"DROP_SHIP_ORDER\",\n \"default_requested_ship_date_offset_days\": 14,\n \"default_arrival_due_date_offset_days\": 30,\n \"ship_to_addresses\": [\n {\n \"is_default\": true,\n \"ship_to_name\": \"Main Warehouse\",\n \"ship_to_company\": \"Acme Distribution\",\n \"ship_to_phone\": \"+1 555 123 4567\",\n \"ship_to_email\": \"receiving@acme.example\",\n \"street_address_1\": \"500 Distribution Blvd\",\n \"street_address_2\": \"Suite 200\",\n \"street_address_3\": \"<string>\",\n \"city\": \"Dallas\",\n \"state\": \"TX\",\n \"zip\": \"75201\",\n \"country\": \"USA\"\n }\n ],\n \"custom_fields\": {\n \"Region\": \"Southwest\",\n \"Preferred Carrier\": \"UPS\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Acme Manufacturing\",\n \"description\": \"Primary overseas supplier for apparel\",\n \"street_address\": \"123 Industrial Way\",\n \"city\": \"Shenzhen\",\n \"state\": \"Guangdong\",\n \"zip\": \"518000\",\n \"country\": \"China\",\n \"factory_admin_id\": 100,\n \"bank_name\": \"Bank of China\",\n \"routing_number\": \"021000021\",\n \"account_number\": \"1234567890\",\n \"swift_code\": \"BKCHCNBJ\",\n \"default_payment_term\": \"Net 30\",\n \"default_currency_code\": \"USD\",\n \"contact_ids\": [\n 501,\n 502\n ],\n \"default_logistic_code\": \"fob\",\n \"default_warehouse_id\": 7,\n \"default_order_type\": \"DROP_SHIP_ORDER\",\n \"default_requested_ship_date_offset_days\": 14,\n \"default_arrival_due_date_offset_days\": 30,\n \"ship_to_addresses\": [\n {\n \"is_default\": true,\n \"ship_to_name\": \"Main Warehouse\",\n \"ship_to_company\": \"Acme Distribution\",\n \"ship_to_phone\": \"+1 555 123 4567\",\n \"ship_to_email\": \"receiving@acme.example\",\n \"street_address_1\": \"500 Distribution Blvd\",\n \"street_address_2\": \"Suite 200\",\n \"street_address_3\": \"<string>\",\n \"city\": \"Dallas\",\n \"state\": \"TX\",\n \"zip\": \"75201\",\n \"country\": \"USA\"\n }\n ],\n \"custom_fields\": {\n \"Region\": \"Southwest\",\n \"Preferred Carrier\": \"UPS\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/suppliers/{supplierId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Acme Manufacturing\",\n \"description\": \"Primary overseas supplier for apparel\",\n \"street_address\": \"123 Industrial Way\",\n \"city\": \"Shenzhen\",\n \"state\": \"Guangdong\",\n \"zip\": \"518000\",\n \"country\": \"China\",\n \"factory_admin_id\": 100,\n \"bank_name\": \"Bank of China\",\n \"routing_number\": \"021000021\",\n \"account_number\": \"1234567890\",\n \"swift_code\": \"BKCHCNBJ\",\n \"default_payment_term\": \"Net 30\",\n \"default_currency_code\": \"USD\",\n \"contact_ids\": [\n 501,\n 502\n ],\n \"default_logistic_code\": \"fob\",\n \"default_warehouse_id\": 7,\n \"default_order_type\": \"DROP_SHIP_ORDER\",\n \"default_requested_ship_date_offset_days\": 14,\n \"default_arrival_due_date_offset_days\": 30,\n \"ship_to_addresses\": [\n {\n \"is_default\": true,\n \"ship_to_name\": \"Main Warehouse\",\n \"ship_to_company\": \"Acme Distribution\",\n \"ship_to_phone\": \"+1 555 123 4567\",\n \"ship_to_email\": \"receiving@acme.example\",\n \"street_address_1\": \"500 Distribution Blvd\",\n \"street_address_2\": \"Suite 200\",\n \"street_address_3\": \"<string>\",\n \"city\": \"Dallas\",\n \"state\": \"TX\",\n \"zip\": \"75201\",\n \"country\": \"USA\"\n }\n ],\n \"custom_fields\": {\n \"Region\": \"Southwest\",\n \"Preferred Carrier\": \"UPS\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 42,
"status": 1,
"name": "Acme Manufacturing",
"created_at": "2026-04-20T14:30:00Z",
"updated_at": "2026-04-20T14:30:00Z",
"created_by": 100,
"updated_by": 100,
"description": "Primary overseas supplier for apparel",
"street_address": "123 Industrial Way",
"city": "Shenzhen",
"state": "Guangdong",
"zip": "518000",
"country": "China",
"factory_admin_id": 100,
"supplier_admin_id": 100,
"contact_name": "Jane Doe",
"contact_email": "jane@acme.example",
"contact_phone": "+86 755 1234 5678",
"bank_name": "Bank of China",
"routing_number": "021000021",
"account_number": "1234567890",
"swift_code": "BKCHCNBJ",
"default_payment_term": "Net 30",
"default_currency_code": "USD",
"default_logistic_code": "fob",
"default_warehouse_id": 7,
"default_order_type": "DROP_SHIP_ORDER",
"default_requested_ship_date_offset_days": 14,
"default_arrival_due_date_offset_days": 30,
"custom_fields": {
"Region": "Southwest",
"Preferred Carrier": "UPS",
"Onboarded On": "2025-03-14"
},
"ship_to_addresses": [
{
"id": 88,
"is_default": true,
"ship_to_name": "Main Warehouse",
"ship_to_company": "Acme Distribution",
"ship_to_phone": "+1 555 123 4567",
"ship_to_email": "receiving@acme.example",
"street_address_1": "500 Distribution Blvd",
"street_address_2": "Suite 200",
"street_address_3": "<string>",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA"
}
],
"contacts": [
{
"id": 501,
"name": "Jane Doe",
"email": "jane@acme.example",
"phone": "+86 755 1234 5678"
}
]
}
}{
"error": "Unauthorized",
"message": "Authentication credentials are missing or invalid",
"status_code": 401
}{
"error": "Forbidden",
"message": "You do not have permission to access this resource",
"status_code": 403
}{
"error": "Not Found",
"message": "The requested resource could not be found",
"status_code": 404
}{
"message": "<string>",
"errors": {}
}Authorizations
Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.
Path Parameters
The unique identifier of the supplier
Body
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.
Supplier name. If supplied it must be a non-empty string.
255"Acme Manufacturing"
Supplier description
"Primary overseas supplier for apparel"
255"123 Industrial Way"
255"Shenzhen"
255"Guangdong"
255"518000"
255"China"
ID of the internal user to set as the primary admin for this supplier
100
255"Bank of China"
255"021000021"
255"1234567890"
255"BKCHCNBJ"
Default payment term name. Must match one of the payment term names configured in Luminous.
"Net 30"
Default ISO 4217 currency code for this supplier (3 letters). Auto-applied to new purchase orders created for the supplier.
3"USD"
IDs of existing contacts to link to this supplier
[501, 502]
Incoterm applied to a purchase order raised for this supplier when the order does not name one itself.
fob, exw, cif, ddp, fca "fob"
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.
7
Order type a purchase order raised for this supplier defaults to when the order does not name one.
INTERNAL_TRANSFER_ORDER, DROP_SHIP_ORDER "DROP_SHIP_ORDER"
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.
14
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.
30
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.
Show child attributes
Show child attributes
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.
{
"Region": "Southwest",
"Preferred Carrier": "UPS"
}
Response
Supplier successfully updated
Show child attributes
Show child attributes