import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const subtotalItem = await conductor.qbd.subtotalItems.update('80000001-1234567890', {
revisionNumber: '1721172183',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(subtotalItem.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
)
subtotal_item = conductor.qbd.subtotal_items.update(
id="80000001-1234567890",
revision_number="1721172183",
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(subtotal_item.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/subtotal-items/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"revisionNumber": "1721172183",
"name": "Labor subtotal",
"barcode": {
"value": "012345678905",
"assignEvenIfUsed": false,
"allowOverride": false
},
"isActive": true,
"description": "Subtotal for all labor costs on this project"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/subtotal-items/{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' => 'Labor subtotal',
'barcode' => [
'value' => '012345678905',
'assignEvenIfUsed' => false,
'allowOverride' => false
],
'isActive' => true,
'description' => 'Subtotal for all labor costs on this project'
]),
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/subtotal-items/{id}"
payload := strings.NewReader("{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Labor subtotal\",\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Subtotal for all labor costs on this project\"\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/subtotal-items/{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\": \"Labor subtotal\",\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Subtotal for all labor costs on this project\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/subtotal-items/{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\": \"Labor subtotal\",\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Subtotal for all labor costs on this project\"\n}"
response = http.request(request)
puts response.read_body{
"id": "80000001-1234567890",
"objectType": "qbd_subtotal_item",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Labor subtotal",
"barcode": "012345678905",
"isActive": true,
"description": "Subtotal for all labor costs on this project",
"specialItemType": "finance_charge",
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Update a subtotal item
Updates an existing subtotal item.
import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const subtotalItem = await conductor.qbd.subtotalItems.update('80000001-1234567890', {
revisionNumber: '1721172183',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(subtotalItem.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
)
subtotal_item = conductor.qbd.subtotal_items.update(
id="80000001-1234567890",
revision_number="1721172183",
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(subtotal_item.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/subtotal-items/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"revisionNumber": "1721172183",
"name": "Labor subtotal",
"barcode": {
"value": "012345678905",
"assignEvenIfUsed": false,
"allowOverride": false
},
"isActive": true,
"description": "Subtotal for all labor costs on this project"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/subtotal-items/{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' => 'Labor subtotal',
'barcode' => [
'value' => '012345678905',
'assignEvenIfUsed' => false,
'allowOverride' => false
],
'isActive' => true,
'description' => 'Subtotal for all labor costs on this project'
]),
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/subtotal-items/{id}"
payload := strings.NewReader("{\n \"revisionNumber\": \"1721172183\",\n \"name\": \"Labor subtotal\",\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Subtotal for all labor costs on this project\"\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/subtotal-items/{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\": \"Labor subtotal\",\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Subtotal for all labor costs on this project\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/subtotal-items/{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\": \"Labor subtotal\",\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Subtotal for all labor costs on this project\"\n}"
response = http.request(request)
puts response.read_body{
"id": "80000001-1234567890",
"objectType": "qbd_subtotal_item",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Labor subtotal",
"barcode": "012345678905",
"isActive": true,
"description": "Subtotal for all labor costs on this project",
"specialItemType": "finance_charge",
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Authorizations
Headers
Path Parameters
Body
The current QuickBooks-assigned revision number of the subtotal item 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 subtotal item, unique across all subtotal items.
NOTE: Subtotal items 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"Labor subtotal"
Response
Returns the updated subtotal item.
The current QuickBooks-assigned revision number of this subtotal item 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 subtotal item, unique across all subtotal items.
NOTE: Subtotal items 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.
"Labor subtotal"

