A sync is queued, not immediate. POST /external-syncs/{platform}/sync returns as soon as the job is accepted, so treat 200 as "queued" and poll GET /external-syncs/settings to follow it:
statusbecomessyncingwhile the job runs.- For QuickBooks Online,
progressreports percent complete. statusreturns toidleon success, orfailedwith anerror.message.