import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const priceLevel = await conductor.qbd.priceLevels.update('80000001-1234567890', {
revisionNumber: '1721172183',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(priceLevel.id);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
price_level = conductor.qbd.price_levels.update(
id="80000001-1234567890",
revision_number="1721172183",
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(price_level.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/price-levels/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"revisionNumber": "1721172183",
"name": "Wholesale 20% Discount",
"isActive": true,
"fixedPercentage": "-10.0",
"perItemPriceLevels": [
{
"itemId": "80000001-1234567890",
"customPrice": "19.99",
"customPricePercent": "15.0",
"adjustPercentage": "-10.0",
"adjustRelativeTo": "standard_price"
}
],
"currencyId": "80000001-1234567890"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}",
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([
'revisionNumber' => '1721172183',
'name' => 'Wholesale 20% Discount',
'isActive' => true,
'fixedPercentage' => '-10.0',
'perItemPriceLevels' => [
[
'itemId' => '80000001-1234567890',
'customPrice' => '19.99',
'customPricePercent' => '15.0',
'adjustPercentage' => '-10.0',
'adjustRelativeTo' => 'standard_price'
]
],
'currencyId' => '80000001-1234567890'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>",
"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://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}"
payload := strings.NewReader("{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Wholesale 20% Discount\",\n \"isActive\": true,\n \"fixedPercentage\": \"-10.0\",\n \"perItemPriceLevels\": [\n {\n \"itemId\": \"80000001-1234567890\",\n \"customPrice\": \"19.99\",\n \"customPricePercent\": \"15.0\",\n \"adjustPercentage\": \"-10.0\",\n \"adjustRelativeTo\": \"standard_price\"\n }\n ],\n \"currencyId\": \"80000001-1234567890\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
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://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Wholesale 20% Discount\",\n \"isActive\": true,\n \"fixedPercentage\": \"-10.0\",\n \"perItemPriceLevels\": [\n {\n \"itemId\": \"80000001-1234567890\",\n \"customPrice\": \"19.99\",\n \"customPricePercent\": \"15.0\",\n \"adjustPercentage\": \"-10.0\",\n \"adjustRelativeTo\": \"standard_price\"\n }\n ],\n \"currencyId\": \"80000001-1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Wholesale 20% Discount\",\n \"isActive\": true,\n \"fixedPercentage\": \"-10.0\",\n \"perItemPriceLevels\": [\n {\n \"itemId\": \"80000001-1234567890\",\n \"customPrice\": \"19.99\",\n \"customPricePercent\": \"15.0\",\n \"adjustPercentage\": \"-10.0\",\n \"adjustRelativeTo\": \"standard_price\"\n }\n ],\n \"currencyId\": \"80000001-1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"id": "80000001-1234567890",
"objectType": "qbd_price_level",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Wholesale 20% Discount",
"isActive": true,
"priceLevelType": "fixed_percentage",
"fixedPercentage": "-10.0",
"perItemPriceLevels": [
{
"item": {
"id": "80000001-1234567890",
"fullName": "Widget A"
},
"customPrice": "19.99",
"customPricePercent": "15.0"
}
],
"currency": {
"id": "80000001-1234567890",
"fullName": "USD"
}
}Update a price level
Updates an existing price level.
import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const priceLevel = await conductor.qbd.priceLevels.update('80000001-1234567890', {
revisionNumber: '1721172183',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(priceLevel.id);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
price_level = conductor.qbd.price_levels.update(
id="80000001-1234567890",
revision_number="1721172183",
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(price_level.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/price-levels/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"revisionNumber": "1721172183",
"name": "Wholesale 20% Discount",
"isActive": true,
"fixedPercentage": "-10.0",
"perItemPriceLevels": [
{
"itemId": "80000001-1234567890",
"customPrice": "19.99",
"customPricePercent": "15.0",
"adjustPercentage": "-10.0",
"adjustRelativeTo": "standard_price"
}
],
"currencyId": "80000001-1234567890"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}",
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([
'revisionNumber' => '1721172183',
'name' => 'Wholesale 20% Discount',
'isActive' => true,
'fixedPercentage' => '-10.0',
'perItemPriceLevels' => [
[
'itemId' => '80000001-1234567890',
'customPrice' => '19.99',
'customPricePercent' => '15.0',
'adjustPercentage' => '-10.0',
'adjustRelativeTo' => 'standard_price'
]
],
'currencyId' => '80000001-1234567890'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>",
"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://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}"
payload := strings.NewReader("{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Wholesale 20% Discount\",\n \"isActive\": true,\n \"fixedPercentage\": \"-10.0\",\n \"perItemPriceLevels\": [\n {\n \"itemId\": \"80000001-1234567890\",\n \"customPrice\": \"19.99\",\n \"customPricePercent\": \"15.0\",\n \"adjustPercentage\": \"-10.0\",\n \"adjustRelativeTo\": \"standard_price\"\n }\n ],\n \"currencyId\": \"80000001-1234567890\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
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://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Wholesale 20% Discount\",\n \"isActive\": true,\n \"fixedPercentage\": \"-10.0\",\n \"perItemPriceLevels\": [\n {\n \"itemId\": \"80000001-1234567890\",\n \"customPrice\": \"19.99\",\n \"customPricePercent\": \"15.0\",\n \"adjustPercentage\": \"-10.0\",\n \"adjustRelativeTo\": \"standard_price\"\n }\n ],\n \"currencyId\": \"80000001-1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/price-levels/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Wholesale 20% Discount\",\n \"isActive\": true,\n \"fixedPercentage\": \"-10.0\",\n \"perItemPriceLevels\": [\n {\n \"itemId\": \"80000001-1234567890\",\n \"customPrice\": \"19.99\",\n \"customPricePercent\": \"15.0\",\n \"adjustPercentage\": \"-10.0\",\n \"adjustRelativeTo\": \"standard_price\"\n }\n ],\n \"currencyId\": \"80000001-1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"id": "80000001-1234567890",
"objectType": "qbd_price_level",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Wholesale 20% Discount",
"isActive": true,
"priceLevelType": "fixed_percentage",
"fixedPercentage": "-10.0",
"perItemPriceLevels": [
{
"item": {
"id": "80000001-1234567890",
"fullName": "Widget A"
},
"customPrice": "19.99",
"customPricePercent": "15.0"
}
],
"currency": {
"id": "80000001-1234567890",
"fullName": "USD"
}
}Authorizations
Headers
Path Parameters
Body
The current QuickBooks-assigned revision number of the price level object you are updating, which you can get by fetching the object first. Provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.
"1721172183"
The case-insensitive unique name of this price level, unique across all price levels.
NOTE: Price levels do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.
Maximum length: 31 characters.
31"Wholesale 20% Discount"
The fixed percentage adjustment applied to all items for this price level (instead of a per-item price level). Once you create the price level, you cannot change this.
When this price level is applied to a customer, it automatically adjusts the rate and amount columns for applicable line items in sales orders and invoices for that customer. This value supports both positive and negative values - a value of "20" increases prices by 20%, while "-10" decreases prices by 10%.
"-10.0"
Response
Returns the updated price level.
The current QuickBooks-assigned revision number of this price level object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.
"1721172183"
The case-insensitive unique name of this price level, unique across all price levels.
NOTE: Price levels do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.
"Wholesale 20% Discount"
The fixed percentage adjustment applied to all items for this price level (instead of a per-item price level). Once you create the price level, you cannot change this.
When this price level is applied to a customer, it automatically adjusts the rate and amount columns for applicable line items in sales orders and invoices for that customer. This value supports both positive and negative values - a value of "20" increases prices by 20%, while "-10" decreases prices by 10%.
"-10.0"

