usage, ledger, statement and funding. Exports are read-only. Their schema version is 1.4.2. The selected immutable snapshot and filters determine the financial rows; there is no hidden truncation or maximum-row omission. Larger files are generated asynchronously.
JSON
JSON files containschema_version, report_type, snapshot_id, as_of and a rows array. The row schema matches the corresponding API resource. Empty results use rows: []. Amounts remain decimal strings with two digits after the decimal point, and nullable values remain JSON null. Resource IDs and record versions are preserved.
CSV
CSV files use UTF-8 without a byte-order mark, comma delimiters, CRLF line endings and RFC 4180 quoting. The first row contains the exact ordered headers below. Empty results contain that header row only. Null is an empty cell; an actual empty text value is not permitted for these reporting fields. Dates use the API’s UTC representation; amounts use a period decimal separator without currency symbols or thousands separators. Every data row starts withexport_schema_version, export_snapshot_id and export_as_of. Arrays or objects, if present in a future compatible row schema, use compact JSON in a quoted cell. Text beginning with a spreadsheet formula character (=, +, -, @, tab or carriage return) is prefixed with a single quote. Validated numeric decimal fields retain their minus sign without escaping. Consumers should treat text cells as data, not evaluate formulas.
Schemas, samples and columns
The examples share the endpoint fixture: CAD 12,000.00 funded before October, then CAD 3.00 Signal and CAD 5.00 Insights consumption in October. October funding is therefore an empty export. The ledger export contains only the two movements in the selected October window.Usage
JSON Schema · JSON example · CSV exampleLedger
JSON Schema · JSON example · CSV exampleStatement
JSON Schema · JSON example · CSV exampleFunding
JSON Schema · JSON example · CSV exampleDelivery and verification
Download links require a ready, unexpired report. Verify SHA-256 over the exact downloaded bytes before parsing. Content types areapplication/json or text/csv; charset=utf-8; filenames identify report ID, type and extension. A failed generation returns status: failed and a safe failure_code, not a partial file marked ready.
An expired report requires a new export of the same saved snapshot and filters. Do not silently substitute today’s data. File-delivery URLs and job timestamps can change; financial rows and schema remain reproducible. Workspace deletion removes access, so retain required exports before closure.