Approve All Match Proposals
POST/api/qbo/customers/match-runs/:matchRun/approve-all
Approve every pending proposal in a match run, optionally narrowed to one confidence bucket and/or a search term. This is a bulk shortcut with the same behavior as submitting decisions: each approved proposal is linked immediately (the SKU.io customer ID is written onto the locally synced QuickBooks customer record and the proposal moves to committed).
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Body fields (both optional): bucket limits the approval to one confidence bucket (auto, review, or hidden); search limits it to proposals whose QuickBooks or SKU.io customer matches the term (name, company, or email, max 255 characters). Omit both to approve every pending proposal in the run.
Linking modifies only the local synced copy in SKU.io; it does not modify anything in QuickBooks itself.
Proposals whose QuickBooks customer or SKU.io customer is already linked elsewhere are skipped and marked rejected with a rejection_reason. The response reports how many proposals were committed, rejected, and skipped.
Returns 404 if the run does not exist.
Authentication: Requires Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not Found
Response Headers
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.