multi-delete logoTool in development

Developer resources

Everything we have written for people building on the QuickBooks Online API — the guide, the evidence, the calls, and the faults. If you are deleting records, start here.

Start here

The calls at a glance

Production basehttps://quickbooks.api.intuit.com/v3/company/{realmId}
Sandbox basehttps://sandbox-quickbooks.api.intuit.com/v3/company/{realmId}
OAuth scopecom.intuit.quickbooks.accounting
minorversion we tested75
Batch limit30 operations per call — and the rejection is atomic
Delete one recordPOST /{entity}?operation=delete with { "Id": "…", "SyncToken": "…" }

The delete pipeline

A delete has no undo, so the shape of the tool matters more than the speed of it. This is the order that makes a destructive operation honest — and the only order we would ship.

1 · Connect — OAuth 2.0No password reaches us2 · Query the setPaged — never trust the default 1003 · Re-read each recordCompare the SyncToken you hold4 · Export the exact setThe backup, and the gate5 · Delete in batches of 30Sequential; honour Retry-After6 · Log every outcomeDeleted, skipped, failed — with reasons

Fault codes we have observed

The codes a delete actually returns, and the condition each one names. These are from our own runs, not from a list — see the findings for the detail behind each.

CodeMeaningWhere we saw it
1040Batch size exceeds allowed limit — more than 30 operations.Observed. A 60-operation batch was rejected with created: 0 — nothing applied.
6200Account period closed — the transaction is dated before the book-closing date.Observed. Per record: the rest of the set still deletes.
3001ThrottleExceeded — the request rate was reached (HTTP 429).Observed. ~50 consecutive batch calls; Retry-After was 60 seconds.
2170Invalid Enumeration — a value the endpoint does not accept.Observed. cleared=Unreconciled on the TransactionList report.
2010Request has invalid or unsupported property.Observed. Our own error: an operation field on a batch query item, which takes Query instead.
500Unsupported Operation.Observed. Deleting via /transaction?operation=delete; the entity belongs in the path.

What we have not verified

The honest edge of this page. If you learn one of these, it is a correction worth having.

How Multi-Delete is built

There is no public API, and that is deliberate — a key that can bulk-delete a company’s books is a liability, not a feature. What we publish is the design, so you can judge it or repeat it:

Start with the delete guide or the sandbox findings, or download the collection.