curl --request GET \
--url https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules \
--header 'Authorization: Bearer <token>'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules', 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/cost-rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"vendor_id": 123,
"vendor_name": "<string>",
"name": "<string>",
"description": "<string>",
"document_type": "PURCHASE_ORDER",
"document_types": [
"PURCHASE_ORDER"
],
"tier_mode": "NON_GRADUATED",
"tier_quantity_basis": "LINE",
"priority": 123,
"status": "ACTIVE",
"is_active": true,
"effective_from": "2023-12-25",
"effective_to": "2023-12-25",
"moq": 123,
"order_multiple": 123,
"output_kind": "UNIT_COST",
"extra_cost_item_name": "<string>",
"cost_allocation_type": "UNIT_BASED_ALLOCATION",
"cost_basis": "PERCENTAGE",
"cost_basis_amount": 123,
"shipment_type": "<string>",
"options": {
"auto_apply": true,
"add_as_additional_fee": true
},
"scopes": [
{
"id": 123,
"cost_rule_id": 123,
"scope_type": "PRODUCT",
"scope_value": "<string>",
"scope_operator": "EQUALS",
"scope_extra": {}
}
],
"conditions": [
{
"id": 123,
"cost_rule_id": 123,
"condition_type": "SUPPLIER",
"field_key": "<string>",
"operator": "IN",
"values": [
"<string>"
]
}
],
"tiers": [
{
"id": 123,
"cost_rule_id": 123,
"min_quantity": 123,
"max_quantity": 123,
"effects": [
{
"id": 123,
"cost_rule_id": 123,
"cost_rule_tier_id": 123,
"effect_type": "BASE_PRICE",
"amount": 123,
"order": 123,
"description": "<string>"
}
]
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5,
"per_page": 10,
"to": 10,
"total": 50
}
}{
"message": "<string>"
}{
"message": "<string>"
}List cost rules
Paginated list of cost rules (vendor-scoped tiered pricing / extra-cost rules).
Requires the tenant Cost Rules feature flag. When the flag is off, all
cost-rule endpoints return 404 with message
Cost Rules feature is not enabled for this tenant.
If status is omitted, only ACTIVE rules are returned. To walk every
rule (including inactive or draft), pass an explicit status, or call once
per status.
curl --request GET \
--url https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules \
--header 'Authorization: Bearer <token>'import requests
url = "https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules', 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/cost-rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{companyName}.api.joinluminous.com/external/api/v1/cost-rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"vendor_id": 123,
"vendor_name": "<string>",
"name": "<string>",
"description": "<string>",
"document_type": "PURCHASE_ORDER",
"document_types": [
"PURCHASE_ORDER"
],
"tier_mode": "NON_GRADUATED",
"tier_quantity_basis": "LINE",
"priority": 123,
"status": "ACTIVE",
"is_active": true,
"effective_from": "2023-12-25",
"effective_to": "2023-12-25",
"moq": 123,
"order_multiple": 123,
"output_kind": "UNIT_COST",
"extra_cost_item_name": "<string>",
"cost_allocation_type": "UNIT_BASED_ALLOCATION",
"cost_basis": "PERCENTAGE",
"cost_basis_amount": 123,
"shipment_type": "<string>",
"options": {
"auto_apply": true,
"add_as_additional_fee": true
},
"scopes": [
{
"id": 123,
"cost_rule_id": 123,
"scope_type": "PRODUCT",
"scope_value": "<string>",
"scope_operator": "EQUALS",
"scope_extra": {}
}
],
"conditions": [
{
"id": 123,
"cost_rule_id": 123,
"condition_type": "SUPPLIER",
"field_key": "<string>",
"operator": "IN",
"values": [
"<string>"
]
}
],
"tiers": [
{
"id": 123,
"cost_rule_id": 123,
"min_quantity": 123,
"max_quantity": 123,
"effects": [
{
"id": 123,
"cost_rule_id": 123,
"cost_rule_tier_id": 123,
"effect_type": "BASE_PRICE",
"amount": 123,
"order": 123,
"description": "<string>"
}
]
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5,
"per_page": 10,
"to": 10,
"total": 50
}
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.
Query Parameters
Page number for pagination (starts at 1)
x >= 1Number of items per page (max 100)
1 <= x <= 100Filter by supplier / factory ID.
Filter by status. If omitted, only ACTIVE rules are returned.
ACTIVE, INACTIVE, DRAFT Filter to rules that include this document type.
PURCHASE_ORDER, WORK_ORDER, SHIPMENT, PRODUCTION_RUN Name contains (LIKE). Alias — search.
Name contains (LIKE). Alias for name.
Description contains (LIKE).