curl --request POST \
--url https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"owner_id": "0",
"data_ext_name": "Loyalty Tier",
"data_ext_value": "Gold",
"list_data_ext_type": "Customer",
"list_id": "80000001-1234567890"
}
'import requests
url = "https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods"
payload = {
"owner_id": "0",
"data_ext_name": "Loyalty Tier",
"data_ext_value": "Gold",
"list_data_ext_type": "Customer",
"list_id": "80000001-1234567890"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
owner_id: '0',
data_ext_name: 'Loyalty Tier',
data_ext_value: 'Gold',
list_data_ext_type: 'Customer',
list_id: '80000001-1234567890'
})
};
fetch('https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods', 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://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods",
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([
'owner_id' => '0',
'data_ext_name' => 'Loyalty Tier',
'data_ext_value' => 'Gold',
'list_data_ext_type' => 'Customer',
'list_id' => '80000001-1234567890'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods"
payload := strings.NewReader("{\n \"owner_id\": \"0\",\n \"data_ext_name\": \"Loyalty Tier\",\n \"data_ext_value\": \"Gold\",\n \"list_data_ext_type\": \"Customer\",\n \"list_id\": \"80000001-1234567890\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"owner_id\": \"0\",\n \"data_ext_name\": \"Loyalty Tier\",\n \"data_ext_value\": \"Gold\",\n \"list_data_ext_type\": \"Customer\",\n \"list_id\": \"80000001-1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"owner_id\": \"0\",\n \"data_ext_name\": \"Loyalty Tier\",\n \"data_ext_value\": \"Gold\",\n \"list_data_ext_type\": \"Customer\",\n \"list_id\": \"80000001-1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"state": "waiting",
"request_xml": "<QBXML><QBXMLMsgsRq onError='stopOnError'><CustomerQueryRq requestID='1'><MaxReturned>100</MaxReturned></CustomerQueryRq></QBXMLMsgsRq></QBXML>",
"connection_id": "123e4567-e89b-12d3-a456-426614174000",
"webhook_state": "not_applicable",
"request_json": {
"version": "13.0",
"request": {
"name": "CustomerQueryRq",
"attributes": {
"requestID": "1"
},
"children": [
{
"name": "MaxReturned",
"text": "100"
}
]
}
},
"response_xml": "<QBXML><QBXMLMsgsRs statusCode='0' statusSeverity='Info' statusMessage='Status OK'><CustomerQueryRs requestID='1' statusCode='0' statusSeverity='Info' statusMessage='Status OK'><CustomerRet><ListID>80000001-1234567890</ListID><Name>Sample Customer</Name></CustomerRet></CustomerQueryRs></QBXMLMsgsRs></QBXML>",
"response_json": [
{}
],
"webhook_url": "https://example.com/webhook",
"webhook_attempts": [
{
"attempted_at": "2023-11-07T05:31:56Z",
"response": "<string>"
}
],
"webhook_error": "<string>",
"error": {
"message": "<string>",
"code": "<string>",
"details": {}
},
"links": {
"self": "/api/v1/connections/123e4567-e89b-12d3-a456-426614174000/queued_requests/550e8400-e29b-41d4-a716-446655440000",
"ui": "/app/queued_requests/550e8400-e29b-41d4-a716-446655440000",
"connection_ui": "/app/connections/123e4567-e89b-12d3-a456-426614174000"
},
"inserted_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:01Z"
}
}{
"error": {
"code": "invalid_request",
"message": "The request was invalid"
}
}{
"error": {
"code": "unauthorized",
"message": "Authentication required"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found"
}
}Modify Data Extension
Sets the value of a previously defined data extension (custom field) on a list object, transaction, or the company in QuickBooks. Exactly one of list_data_ext_type, txn_data_ext_type, or other_data_ext_type must be provided to identify what the data extension belongs to.
curl --request POST \
--url https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"owner_id": "0",
"data_ext_name": "Loyalty Tier",
"data_ext_value": "Gold",
"list_data_ext_type": "Customer",
"list_id": "80000001-1234567890"
}
'import requests
url = "https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods"
payload = {
"owner_id": "0",
"data_ext_name": "Loyalty Tier",
"data_ext_value": "Gold",
"list_data_ext_type": "Customer",
"list_id": "80000001-1234567890"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
owner_id: '0',
data_ext_name: 'Loyalty Tier',
data_ext_value: 'Gold',
list_data_ext_type: 'Customer',
list_id: '80000001-1234567890'
})
};
fetch('https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods', 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://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods",
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([
'owner_id' => '0',
'data_ext_name' => 'Loyalty Tier',
'data_ext_value' => 'Gold',
'list_data_ext_type' => 'Customer',
'list_id' => '80000001-1234567890'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods"
payload := strings.NewReader("{\n \"owner_id\": \"0\",\n \"data_ext_name\": \"Loyalty Tier\",\n \"data_ext_value\": \"Gold\",\n \"list_data_ext_type\": \"Customer\",\n \"list_id\": \"80000001-1234567890\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"owner_id\": \"0\",\n \"data_ext_name\": \"Loyalty Tier\",\n \"data_ext_value\": \"Gold\",\n \"list_data_ext_type\": \"Customer\",\n \"list_id\": \"80000001-1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://qubesync.com/api/v1/connections/{connection_id}/data_ext_mods")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"owner_id\": \"0\",\n \"data_ext_name\": \"Loyalty Tier\",\n \"data_ext_value\": \"Gold\",\n \"list_data_ext_type\": \"Customer\",\n \"list_id\": \"80000001-1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"state": "waiting",
"request_xml": "<QBXML><QBXMLMsgsRq onError='stopOnError'><CustomerQueryRq requestID='1'><MaxReturned>100</MaxReturned></CustomerQueryRq></QBXMLMsgsRq></QBXML>",
"connection_id": "123e4567-e89b-12d3-a456-426614174000",
"webhook_state": "not_applicable",
"request_json": {
"version": "13.0",
"request": {
"name": "CustomerQueryRq",
"attributes": {
"requestID": "1"
},
"children": [
{
"name": "MaxReturned",
"text": "100"
}
]
}
},
"response_xml": "<QBXML><QBXMLMsgsRs statusCode='0' statusSeverity='Info' statusMessage='Status OK'><CustomerQueryRs requestID='1' statusCode='0' statusSeverity='Info' statusMessage='Status OK'><CustomerRet><ListID>80000001-1234567890</ListID><Name>Sample Customer</Name></CustomerRet></CustomerQueryRs></QBXMLMsgsRs></QBXML>",
"response_json": [
{}
],
"webhook_url": "https://example.com/webhook",
"webhook_attempts": [
{
"attempted_at": "2023-11-07T05:31:56Z",
"response": "<string>"
}
],
"webhook_error": "<string>",
"error": {
"message": "<string>",
"code": "<string>",
"details": {}
},
"links": {
"self": "/api/v1/connections/123e4567-e89b-12d3-a456-426614174000/queued_requests/550e8400-e29b-41d4-a716-446655440000",
"ui": "/app/queued_requests/550e8400-e29b-41d4-a716-446655440000",
"connection_ui": "/app/connections/123e4567-e89b-12d3-a456-426614174000"
},
"inserted_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:01Z"
}
}{
"error": {
"code": "invalid_request",
"message": "The request was invalid"
}
}{
"error": {
"code": "unauthorized",
"message": "Authentication required"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found"
}
}Authorizations
Use your app's API_KEY as the username, and leave the password blank
Path Parameters
ID of the connection to use for the data extension modification
Query Parameters
A custom ID that can be used to identify the request and response. This could be your local ID for the request.
"1"
Optional URL to receive a webhook when the request is completed
Body
Owner ID of the data extension. Use "0" for a data extension owned by this application, or a GUID for one owned by a specific third-party application.
Name of the previously defined data extension field
31New value to set for the data extension
Type of list object the data extension belongs to. Use with list_id or full_name. Mutually exclusive with txn_data_ext_type and other_data_ext_type.
Account, Customer, Employee, Item, OtherName, Vendor ListID of the list object to modify (used with list_data_ext_type). Provide this or full_name.
FullName of the list object to modify (used with list_data_ext_type). Provide this or list_id.
Type of transaction the data extension belongs to. Use with txn_id. Mutually exclusive with list_data_ext_type and other_data_ext_type.
ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, BuildAssembly, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, Estimate, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, PurchaseOrder, ReceivePayment, SalesOrder, SalesReceipt, SalesTaxPaymentCheck, VendorCredit TxnID of the transaction to modify (required with txn_data_ext_type)
Optional TxnLineID for a line-level transaction data extension
Set to "Company" to target the company data extension. Mutually exclusive with list_data_ext_type and txn_data_ext_type.
Company Response
Data extension modification request accepted and queued for processing. Returns a queued request object.
Show child attributes
Show child attributes

