API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/integrations/quickbooks/sync-jobs

ark.queue_quickbooks_sync_job

Queues a QuickBooks sync workflow for invoices, payments, bills, settlements, or update syncs after validating visibility and operation-specific inputs.

Availability
Expanded preview
Scopes
loads:readbilling:write
ARK permissions
canViewLoadscanViewBillingcanMakeAdjustments
Team visibility
Required and enforced
Idempotency-Key
Required for this write
Approval
No MCP approval on REST API-token calls
Rate limit
API credential and organization budgets

Parameters

Idempotency-Keyheaderstringrequired
Required for external write operations. Reuse the same key only for exact retries of the same request body.
min length: 1; max length: 200

Request body

operationstringrequired

one of: customer_invoice_create, customer_invoice_mark_paid, customer_payment_create, carrier_bill_create, carrier_bill_mark_paid, carrier_settlement_create, customer_invoice_update, carrier_bill_update

paymentIdsarray<string>

min items: 1; max items: 50

depositToAccountIdstring

min length: 1; max length: 100

settlementNumbersarray<integer>

min items: 1; max items: 10

referenceNumberstring

min length: 1; max length: 100

paidDatestring
loadIdstring

format: uuid

paymentIdstring

format: uuid

dispatchIdstring

format: uuid

Example request

Shell
curl -X POST 'https://arktms.com/api/v1/integrations/quickbooks/sync-jobs' \
  -H "Authorization: Bearer $ARK_API_TOKEN" \
  -H "Idempotency-Key: <unique-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "operation": "customer_invoice_create"
}'

Success response

Queued QuickBooks sync job

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.operationstringrequired

one of: customer_invoice_create, customer_invoice_mark_paid, customer_payment_create, carrier_bill_create, carrier_bill_mark_paid, carrier_settlement_create, customer_invoice_update, carrier_bill_update

data.queuedbooleanrequired
data.statusstringrequired

one of: queued, skipped

data.jobIdstring | nullrequired

format: uuid

data.totalItemsintegerrequired
data.requestedItemCountintegerrequired
data.queuedItemCountintegerrequired
data.skippedPaymentIdsarray<string>required
data.messagestringrequired

Errors

HTTP 400
Invalid request
HTTP 401
Authentication required
HTTP 403
Permission, scope, team, or entitlement denied
HTTP 409
Idempotency conflict or in-progress retry
HTTP 413
Request exceeds the supported operation size
HTTP 502
External provider or worker queue could not be reached