This contract belongs to the Worker development preview. It is not served by the public API yet.
GET /v1/overview returns organization-wide Home metrics and ordered next-step objects in one
request. Reporting periods and timezone are included. Amounts are exact decimal strings; different
currencies remain separate and incomplete totals can be null. Coverage means agreement coverage,
not completed checks. Each next step includes its own counts and, for agreement actions, an agreement_id when there is exactly one target (otherwise null). Setup and upload actions contain only type. This read starts no work.
Monetary metrics share the same structure: { total: [{ currency_code, amount }], recent: [{ currency_code, amount }] }.
This applies to invoice_spend, claims.awaiting, claims.refunded, and alerts.pending.value.
recent uses periods.recent; total covers all currently applicable records.
Awaiting claims and open alerts contain one organization-currency entry. Invoice spend and
refunds retain separate currency buckets; an empty array means no matching records.
Amounts remain exact decimal strings, or null when a contributing amount is unknown.
Pending alert counts and monetary values are grouped under alerts.pending. Active-check status
and agreement coverage are internal inputs to next-step selection, not top-level overview fields.
The add_supplier_agreements step carries its own coverage_ratio when applicable.
GET /v1/search?query=acme supplies command-palette results and assistant mentions. Narrow results
with types=agreement,invoice,alert,topic,claim and limit_per_type (1–20, default 5). Exact matches
rank before prefixes and substrings. Results include record identities and context for building
links; no frontend URLs or pagination are returned. Both reads require Read access.
POST /v1/support/contact requires Write and accepts a message plus up to five base64 attachments
of at most 4.5 MiB each. This route permits a 32 MiB JSON body. The authenticated user and active
organization determine the sender; callers cannot choose a recipient. Success means accepted by
the email provider. Supply an Idempotency-Key and reuse it with identical input after a timeout
or lost response, within 24 hours. Without a key, retrying an uncertain send can produce duplicates.
See the generated endpoint pages for the full inputs, outputs and errors.