Skip to main content

Cost Ingestion: Uploads

Use manual upload when webhooks aren’t wired yet, for backfilling historical data, or for testing. Manual uploads share the same cost_ingestion pipeline and history as webhook- and poll-based ingestion (see Connector Setup).

Upload A Settlement Report

Settlement reports can run to several GB, so the request body is streamed straight to disk and processed in the background — the request returns immediately with a job id to poll.
Returns 202 Accepted immediately:
Upload is capped at 8 GiB per file.

Check Ingestion History

Poll to see history and in-flight progress, newest first:
source is "manual", "webhook", or "poll" depending on how the report arrived. status is "processing", "completed", or "failed" (see last_error).

Delete An Ingestion

Removes the transactions that ingestion contributed, re-fits the affected connector/account so the served cost model reflects the deletion, and deletes the history row.
Returns 204 No Content. Returns 409 Conflict if the ingestion is still processing.

Detect Price Changes

Surfaces fee-regime changes detected by diffing each cluster’s two most recent fits — useful for noticing when a connector silently repriced.

Upload An Invoice

Invoices are small (a few hundred lines) and processed synchronously — the computed cost add-on is returned directly in the response. Use this to recover invoice-only fees (e.g. periodic/flat fees) that a settlement report alone doesn’t capture.
Invoice uploads are capped at 32 MiB. breakdown[].added is true for fee lines this add-on newly captures, false for lines already reflected in the settlement-report model (e.g. interchange) or ignored (volume-only lines).

List Invoice Add-Ons

Delete An Invoice Add-On

Reverts the merchant’s served cost model to the learned-only (settlement-report-based) cost.
Returns 204 No Content.

Invoice Reconciliation

Ties each stored invoice add-on back to coverage before/after, so you can see how much of the invoice’s cost is now explained by the model.