Update custom field values
curl --request PUT \
--url https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"Customer PO": "PO-98765",
"Expected Delivery": "2024-12-25",
"Priority Level": "High",
"Item Count": 42,
"Sales Channels": [
"Retail",
"Wholesale"
]
}
'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields"
payload = {
"Customer PO": "PO-98765",
"Expected Delivery": "2024-12-25",
"Priority Level": "High",
"Item Count": 42,
"Sales Channels": ["Retail", "Wholesale"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
'Customer PO': 'PO-98765',
'Expected Delivery': '2024-12-25',
'Priority Level': 'High',
'Item Count': 42,
'Sales Channels': ['Retail', 'Wholesale']
})
};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields', 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/{recordType}/{recordId}/custom-fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'Customer PO' => 'PO-98765',
'Expected Delivery' => '2024-12-25',
'Priority Level' => 'High',
'Item Count' => 42,
'Sales Channels' => [
'Retail',
'Wholesale'
]
]),
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/{recordType}/{recordId}/custom-fields"
payload := strings.NewReader("{\n \"Customer PO\": \"PO-98765\",\n \"Expected Delivery\": \"2024-12-25\",\n \"Priority Level\": \"High\",\n \"Item Count\": 42,\n \"Sales Channels\": [\n \"Retail\",\n \"Wholesale\"\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"Customer PO\": \"PO-98765\",\n \"Expected Delivery\": \"2024-12-25\",\n \"Priority Level\": \"High\",\n \"Item Count\": 42,\n \"Sales Channels\": [\n \"Retail\",\n \"Wholesale\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Customer PO\": \"PO-98765\",\n \"Expected Delivery\": \"2024-12-25\",\n \"Priority Level\": \"High\",\n \"Item Count\": 42,\n \"Sales Channels\": [\n \"Retail\",\n \"Wholesale\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Custom fields updated successfully"
}{
"message": "<string>"
}{
"message": "<string>"
}Custom Fields
Update custom field values
Update custom field values for a specific record.
Supported record types: sales-orders,sales-order-items,invoices,products
Values must match the field type (string, number, date, dropdown, or multi_dropdown).
For a multi_dropdown field, pass an array of values (each must be one of the
field’s defined choices).
Custom fields must be set up in Luminous before they can be updated or retrieved. Log into your Luminous account, then via the left navigation select Manage > Custom Fields.
PUT
/
{recordType}
/
{recordId}
/
custom-fields
Update custom field values
curl --request PUT \
--url https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"Customer PO": "PO-98765",
"Expected Delivery": "2024-12-25",
"Priority Level": "High",
"Item Count": 42,
"Sales Channels": [
"Retail",
"Wholesale"
]
}
'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields"
payload = {
"Customer PO": "PO-98765",
"Expected Delivery": "2024-12-25",
"Priority Level": "High",
"Item Count": 42,
"Sales Channels": ["Retail", "Wholesale"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
'Customer PO': 'PO-98765',
'Expected Delivery': '2024-12-25',
'Priority Level': 'High',
'Item Count': 42,
'Sales Channels': ['Retail', 'Wholesale']
})
};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields', 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/{recordType}/{recordId}/custom-fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'Customer PO' => 'PO-98765',
'Expected Delivery' => '2024-12-25',
'Priority Level' => 'High',
'Item Count' => 42,
'Sales Channels' => [
'Retail',
'Wholesale'
]
]),
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/{recordType}/{recordId}/custom-fields"
payload := strings.NewReader("{\n \"Customer PO\": \"PO-98765\",\n \"Expected Delivery\": \"2024-12-25\",\n \"Priority Level\": \"High\",\n \"Item Count\": 42,\n \"Sales Channels\": [\n \"Retail\",\n \"Wholesale\"\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"Customer PO\": \"PO-98765\",\n \"Expected Delivery\": \"2024-12-25\",\n \"Priority Level\": \"High\",\n \"Item Count\": 42,\n \"Sales Channels\": [\n \"Retail\",\n \"Wholesale\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/{recordType}/{recordId}/custom-fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Customer PO\": \"PO-98765\",\n \"Expected Delivery\": \"2024-12-25\",\n \"Priority Level\": \"High\",\n \"Item Count\": 42,\n \"Sales Channels\": [\n \"Retail\",\n \"Wholesale\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Custom fields updated successfully"
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.
Path Parameters
Type of record to update custom fields for
Available options:
sales-orders, sales-order-items, invoices, products ID of the record
Body
application/json
Response
Custom fields updated successfully
Example:
"Custom fields updated successfully"