Purchase scans: bounded history, deferred OCR and supplier facet
The scan detail now returns the 50 most recent attempts and audit events with their totals, scans waiting for the daily OCR quota say so, and the stats add a per-supplier facet.
24 September 2026 — three additions to the purchase scanner API. Only the first one changes something you already receive. See the scanner guide.
- The scan detail returns the 50 most recent
attemptsandauditevents — newest first, inGET /v1/purchase_scans/{id}and in every operation that returns the full scan (retry,review,duplicate_resolution,convert,archive,restore), plus theget_purchase_scanMCP tool. Before, both lists grew with every retry and every edit. Two new integers,attempts_totalandaudit_total, hold how many there are in all, so a scan with 60 attempts returns 50 entries andattempts_total: 60. Read the totals instead of counting the lists. Nothing else in the entries changes. - Scans waiting for the daily OCR quota say so —
deferred_until(ISO 8601) anddeferred_reason(ocr_daily_quota_reached) appear in the list items and in the detail. Whiledeferred_untilis set, the scan retries on its own once the company quota resets: there is no need to callretry. Both arenullotherwise. - New
facets.by_supplierin the stats —GET /v1/purchase_scans/statslists the suppliers with at least one linked scan within the requestedscope, each with itsid,nameandcount, ordered bycountdescending and then by name, capped at 100 entries.
Updated endpoints3
| Endpoint | Description |
|---|---|
GET/v1/purchase_scans | List purchase scans |
GET/v1/purchase_scans/{purchase_scan} | Retrieve a purchase scan |
GET/v1/purchase_scans/stats | Get purchase scanner stats |