Submit Match Proposal Decisions
POST/api/qbo/customers/match-runs/:matchRun/decisions
Approve and/or reject match proposals in bulk. Pass proposal IDs in approve and/or reject; IDs that do not belong to this run are silently ignored.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Approving a proposal applies the link immediately: the SKU.io customer ID is written onto the locally synced QuickBooks customer record and the proposal moves to committed status. Rejecting simply marks the proposal rejected.
Linking modifies only the local synced copy in SKU.io; it does not modify anything in QuickBooks itself.
A proposal is skipped (counted in skipped and marked rejected with a rejection_reason) when the QuickBooks customer is already linked to a SKU.io customer, or when the SKU.io customer is already linked to a different QuickBooks customer. Per-proposal failures are reported in errors without failing the whole request.
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.