import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const salesTaxCodes = await conductor.qbd.salesTaxCodes.list({
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(salesTaxCodes.data);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
sales_tax_codes = conductor.qbd.sales_tax_codes.list(
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(sales_tax_codes.data)curl --request GET \
--url https://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes",
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>",
"Conductor-End-User-Id: <conductor-end-user-id>"
],
]);
$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://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
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://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"objectType": "list",
"url": "/v1/quickbooks-desktop/sales-tax-codes",
"data": [
{
"id": "80000001-1234567890",
"objectType": "qbd_sales_tax_code",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Tax",
"isActive": true,
"isTaxable": true,
"description": "Standard tax rate for California",
"salesTaxItem": {
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
}
}
]
}List all sales-tax codes
Returns a list of sales-tax codes.
NOTE: QuickBooks Desktop does not support pagination for sales-tax codes; hence, there is no cursor parameter. Users typically have few sales-tax codes.
import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const salesTaxCodes = await conductor.qbd.salesTaxCodes.list({
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(salesTaxCodes.data);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
sales_tax_codes = conductor.qbd.sales_tax_codes.list(
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(sales_tax_codes.data)curl --request GET \
--url https://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes",
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>",
"Conductor-End-User-Id: <conductor-end-user-id>"
],
]);
$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://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
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://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/sales-tax-codes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"objectType": "list",
"url": "/v1/quickbooks-desktop/sales-tax-codes",
"data": [
{
"id": "80000001-1234567890",
"objectType": "qbd_sales_tax_code",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Tax",
"isActive": true,
"isTaxable": true,
"description": "Standard tax rate for California",
"salesTaxItem": {
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
}
}
]
}Authorizations
Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").
Headers
The ID of the End-User to receive this request.
"end_usr_1234567abcdefg"
Query Parameters
Filter for specific sales-tax codes by their QuickBooks-assigned unique identifier(s).
IMPORTANT: If you include this parameter, QuickBooks will ignore all other query parameters for this request.
NOTE: If any of the values you specify in this parameter are not found, the request will return an error.
["80000001-1234567890"]
Filter for specific sales-tax codes by their name(s), case-insensitive. Like id, name is a unique identifier for a sales-tax code.
IMPORTANT: If you include this parameter, QuickBooks will ignore all other query parameters for this request.
NOTE: If any of the values you specify in this parameter are not found, the request will return an error.
["Tax"]
The maximum number of objects to return.
IMPORTANT: QuickBooks Desktop does not support cursor-based pagination for sales-tax codes, so this parameter only limits the response size. To page through sales-tax codes by name, see Paging by name.
When this parameter is omitted, the endpoint returns all sales-tax codes without limit, unlike paginated endpoints which default to 150 records.
x >= 110
Filter for sales-tax codes that are active, inactive, or both.
active, all, inactive "active"
Filter for sales-tax codes updated on or after this date/time. Accepts the following ISO 8601 formats:
- date-only (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the start of the specified day in the local timezone of the end-user's computer (e.g.,
2025-01-01→2025-01-01T00:00:00). - datetime without timezone (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.
- datetime with timezone (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
"2025-01-01T12:34:56.000Z"
Filter for sales-tax codes updated on or before this date/time. Accepts the following ISO 8601 formats:
- date-only (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the end of the specified day in the local timezone of the end-user's computer (e.g.,
2025-01-01→2025-01-01T23:59:59). - datetime without timezone (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.
- datetime with timezone (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
"2025-02-01T12:34:56.000Z"
Filter for sales-tax codes whose name contains this substring, case-insensitive.
NOTE: If you use this parameter, you cannot also use nameStartsWith or nameEndsWith.
"ABC"
Filter for sales-tax codes whose name starts with this substring, case-insensitive.
NOTE: If you use this parameter, you cannot also use nameContains or nameEndsWith.
"ABC"
Filter for sales-tax codes whose name ends with this substring, case-insensitive.
NOTE: If you use this parameter, you cannot also use nameContains or nameStartsWith.
"ABC"
Filter for sales-tax codes whose name sorts at or after this value (inclusive), compared case-insensitively in QuickBooks' sort order: punctuation first, then digits, then letters.
When you set nameFrom or nameTo, QuickBooks returns sales-tax codes sorted by name in that order; without either, the order is not guaranteed. To page through sales-tax codes by name, see Paging by name.
NOTE: If you use this parameter, you cannot also use nameContains, nameStartsWith, or nameEndsWith.
"A"
Filter for sales-tax codes whose name sorts at or before this value (inclusive), compared case-insensitively in QuickBooks' sort order: punctuation first, then digits, then letters. If you also set nameFrom, it must not sort after this value, or QuickBooks returns an error.
When you set nameFrom or nameTo, QuickBooks returns sales-tax codes sorted by name in that order; without either, the order is not guaranteed.
NOTE: If you use this parameter, you cannot also use nameContains, nameStartsWith, or nameEndsWith.
"Z"
Response
Returns a list of sales-tax codes.
The type of object. This value is always "list".
"list""list"
The endpoint URL where this list can be accessed.
"/v1/quickbooks-desktop/sales-tax-codes"
The array of sales-tax codes.
Show child attributes
Show child attributes

