curl --request POST \
--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.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
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 => "POST",
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("POST", 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.post("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::Post.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": {}
}Update a supplier
Update an existing supplier’s information.
curl --request POST \
--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.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
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 => "POST",
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("POST", 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.post("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::Post.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
Supplier name
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.
This endpoint replaces rather than merges, but omitting ship_to_addresses leaves the existing set untouched; sending it (even as an empty array) writes it.
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.
This endpoint replaces rather than merges, but omitting custom_fields leaves the existing values untouched; sending it writes it.
{
"Region": "Southwest",
"Preferred Carrier": "UPS"
}
Response
Supplier successfully updated
Show child attributes
Show child attributes