Skip to main content
POST
Opt in to matching

Authorizations

Authorization
string
header
required

Use your app's API key as the username, and leave the password blank

Path Parameters

connection_id
string<uuid>
required

The connection to act on.

Body

application/json
webhook_url
string<uri>

Where to send name_index.ready or name_index.failed when the build ends. It must be an absolute http or https URL. It may not contain a username or password, and in production it may not point at localhost or a private, loopback or link-local address. A qube listen URL must be one of this app's.

Maximum string length: 2048
Example:

"https://your-app.example/webhooks/qube"

Callbacks

POST
{$request.body#/webhook_url}name_index

Body

application/json

The body QuBe Sync POSTs to the webhook_url an opt-in gave (POST /connections/{connection_id}/name-index), signed with X-QUBE-Signature like every other QuBe Sync webhook, once the build it was waiting for ends. It says where the index stands, never what's in it.

app_id
string<uuid>
required
connection_id
string<uuid>
required
event
enum<string>
required

name_index.ready: every list is in, and matches are answered. name_index.failed: the build gave up, after QuickBooks' answers to one step were lost three times in a row (the session ended, or the Web Connector reported an error). Matching is refused while the index is building; QuBe Sync starts the build again a day later while the connection is matching, or at the next match or opt-in.

Available options:
name_index.ready,
name_index.failed
name_index
object
required

QuBe Sync's index of the names in this connection's company file, for finding records by name (see Match a name): customers, vendors, employees and other names, items, accounts, classes, and the other lists a transaction names (terms, sales tax codes, payment and ship methods, price levels, customer, vendor and job types, sales reps and customer messages). Only realtime and simulated connections can have one, and it is built the first time something on the connection needs matching: a match, or opting in (POST /connections/{connection_id}/name-index). QuBe Sync then reads the lists from QuickBooks itself, a step at a time, and your requests always go first; those reads never appear among your requests and never send a webhook. An index unused for 30 days is deleted, and built again the next time it's needed.

sandbox
boolean
required
timestamp
integer
required

Unix seconds; also the t= in the signature header.

Response

2XX

Received. Anything else is retried with backoff for about 8 hours; after the last attempt, your organization's owners are emailed.

Response

The index is ready: match away. Nothing is sent to webhook_url.

name_index
object
required

QuBe Sync's index of the names in this connection's company file, for finding records by name (see Match a name): customers, vendors, employees and other names, items, accounts, classes, and the other lists a transaction names (terms, sales tax codes, payment and ship methods, price levels, customer, vendor and job types, sales reps and customer messages). Only realtime and simulated connections can have one, and it is built the first time something on the connection needs matching: a match, or opting in (POST /connections/{connection_id}/name-index). QuBe Sync then reads the lists from QuickBooks itself, a step at a time, and your requests always go first; those reads never appear among your requests and never send a webhook. An index unused for 30 days is deleted, and built again the next time it's needed.