Import Event Financials
Wholesale refresh of one event’s financials, in ONE transaction — the
import composition: sweep (delete every non-deleted invoice currently
linked to the event — voided included), then create the new slate of
invoices (each linked to the path event, optional per-invoice payee),
then set the expected total per reserved category. An empty request
(invoices: [], reserves: []) clears the event’s invoices.
Importing replaces, it does not append. The request is the full, authoritative set of the event’s invoices and reserve expectations.
Idempotency — client-authored ids per action. Every create and every
reserve set carries its own client-minted actionId (all unique in one
request); sweep deletes mint their own. The composition commits
atomically, so ANY of your ids already journaled proves the whole prior
run committed: the retry short-circuits to your ids plus refreshed read
state, re-applying nothing. A mix of journaled and fresh ids is
409 ACTION_ID_REUSED (ids reused across different runs).
No If-Match — the composition locks every touched aggregate.
Member-action preconditions surface as 422 with the standard stable
codes (e.g. UNKNOWN_ID, DEPRECATED_CONFIG, NOT_RESERVED_CATEGORY,
FUTURE_DATE, LINK_TARGET_MISSING); preconditions fail closed — the
whole import rolls back. An expected total is UNCONSTRAINED: the
composed reserves.set may land a scope’s expected total below its
paid-to-date — a legal state whose remaining reserve reads negative
(see Set Reserves).
Attachments are sidecar — upload documents through the platform files API; this endpoint takes none.
Required permission: company.payment:update
Authorizations
API key authentication. Send your raw API key as the Authorization header value with NO scheme prefix — Authorization: YOUR-API-KEY. Do NOT prefix it with Bearer or ApiKey, and do not use an X-API-Key header; those are not accepted.
Path Parameters
Company identifier
Event identifier — an unknown event is 404
Body
The event's new invoice slate, created in order — each linked to the path event
The expected total per reserved category — at most one entry per category
Optional display label for the source system's author (e.g. the integrator-side user). Stamped as the journal record's display attribution; the acting principal stays the External API service user, so a label can never impersonate an in-app user. Ignored on idempotent replays
1 - 255Response
A fresh run returns EVERY emitted journal id in execution order (sweep — companions included — then creates, then sets); a short-circuited retry returns the client-authored ids. Either way: the created invoices' current rows and each set scope's refreshed expected total
