List a sales order's integration errors
AI agents: read /llms.txt; add .md to any page URL. This page as Markdown: /reference/integration-logs/v1-external-integration-logs-order.md. Index of every page and the rules for every call: /llms.txt. Guides and concepts in one file: /llms-full.txt. OpenAPI: /openapi.json.
GET/
Lists the newest QuickBooks Online and Shopify sync errors recorded for a sales order or quote, at most 10. Use type to see only one integration's errors.
Some QuickBooks errors include the details QuickBooks sent in error_payload; errors about a QuickBooks Payment also name it in quickbooks_payment_id, with QuickBooks' own words in quickbooks_message. Shopify errors come with words to show people: display_title, display_message and display_next_step. Every log names its order in order.
Path parameters
Your team slug, shown as Team ID next to your API key in Profile.
- Example
your-team
- Example
The sales order's or quote's
id. A hash id; unique keys and document numbers are refused with 404.- Example
V4keXwwxMQyXw7
- Example
Query parameters
typestringOnly this integration's errors.
shopify: the fourshopify_*types.qbo:qbo_bootstrap_error(the sync could not start),qbo_sync_endpoint_error,qbo_sync_internal_error,qbo_sync_transform_error,qbo_sync_lookup_errorand the olderqbo_order_sync_error; it leaves out the olderqbo_order_payment_sync_error. Leave it out for every type.- One of:
"shopify","qbo" - Example
shopify
- One of:
Request body
This operation takes no request body.
Response
200Successful response.
- At most 10 items
Fields of each item (19)
created_atstring (date-time)display_messagestringdisplay_next_stepstringdisplay_referencestringThe log's
id, for support.display_titlestringShopify logs only: a title, message, next step and reference to show people.
display_variantstring- One of:
"error","warning"
- One of:
error_codestring | nullQuickBooks' error code, or for a Shopify fulfillment conflict the kind of conflict, such as
tracking_mismatch.error_messagestring | nullQuickBooks logs: the message with what was syncing in front, such as
(Invoice) Duplicate Name Exists Error. Shopify logs: the same text asdisplay_message.Some QuickBooks Online logs: the details QuickBooks sent (text or an object). Otherwise null, and always null for Shopify logs.
external_integrationobject | nullOnly with
with=external_integration: the integration the log came from (id,type,subtype,label,statusand more).helpscout_article_idstring | nullAlways null: no log type links a help article.
idstringorderobject | nullThe sales order or quote the log is about; null when it is not about one.
quickbooks_messagestring | nullQuickBooks' own words for the refusal, when the log kept them. Null otherwise.
quickbooks_payment_idstring | nullThe QuickBooks Payment's Id, when the log is about one (for example QuickBooks refused to delete it, or its sync is held). Null otherwise.
retryablebooleanshipment_idstringOnly when the log is about a shipment: the shipment's id.
shopify_admin_urlstringOnly when the log has one, such as a fulfillment conflict: the order in the Shopify admin.
typestringQuickBooks Online:
qbo_sync_endpoint_error(QuickBooks refused the record),qbo_sync_internal_error,qbo_sync_transform_error,qbo_sync_lookup_error,qbo_bootstrap_error(the sync could not start, for example because QuickBooks must be reconnected); older logs can haveqbo_order_sync_error,qbo_po_sync_errorand otherqbo_*_sync_errortypes. Shopify:shopify_endpoint_error,shopify_processing_error,shopify_internal_error,shopify_fulfillment_conflict.
Errors
401The API key is missing or wrong (
unauthenticated).403You are not allowed to do this.
api_access_not_in_plan: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only{"message": "Insufficient Permission"}. Other refusals use the error envelope, withunauthorizedoruser_is_not_authorized.404Not found.
page_not_found: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's.code: null, with a message that starts "No query results for": there is no record with that id.- When
- The id is not a valid id for this team.
- Fix
- Use the order's
id, not its unique key or number.
422The request was refused and changed nothing.
validation_failedlists what to fix inerror.fields; other codes name a business rule, explained inerror.message. A few checks answer with only{"message": "..."}. An operation that calls another service (a payment provider, a carrier, an accounting app) can answerconnect_timeout("Please retry again") when that service does not answer in time: the change may or may not have happened there, so read the record back before you retry.- When
typeis notshopifyorqbo(validation_failed;error.fieldsnames the field).- Fix
- Send
shopify,qbo, or nothing.
Notes
- At most the 10 newest logs, newest first, with no paging.
- An id that decodes but matches nothing returns an empty list, not 404.
- Add
?with=external_integrationto include the integration each log came from.
Related
- GETList a purchase order's integration errors
/v1/ api/ store/ {team_slug}/ external_integration_logs/ purchase_order/ {hash_id} - GETList a shipment's integration errors
/v1/ api/ store/ {team_slug}/ external_integration_logs/ shipment/ {hash_id}
