https://api.control.dev. The examples assume you completed Parquet authentication.
1. List supported export definitions
exportKey:
The definitions list describes supported exports. Check
GET /api/parquet-exports/catalog for dataset availability in your tenant before requesting an optional reporting export. Revenue bridge and Stripe journal datasets appear only when their source tables exist in your tenant’s output dataset.
2. Request a snapshot
id.
3. Check the latest status
latest-status can return an in-progress snapshot. Use latest when you only want the latest completed snapshot for the same export and optional month range.
4. Read the snapshot and manifest
contentHash values with your last successful ingestion.
5. Download files
The snapshot response contains root-relative authenticated artifact download paths. Prefix the returned path withAPI_BASE, download only paths returned by the Control API, and keep the bearer token attached:
Revenue bridge and Stripe journal
Use the same snapshot, polling, manifest, and download flow with either reporting export key:revenue_bridge_v1 with stripe_journal_v1 for the journal export, and use a distinct client request ID for each export and nightly run. Omit both accounting month fields on creation and latest/status requests; these definitions reject month filters with 400.
Both exports preserve the source table’s columns and row grain without additional aggregation. The revenue bridge dataset key stays revenue_bridge_ctrl_uniform, while its source follows the revenue bridge model selected by active Sheets connectors in the tenant’s output dataset. This includes customized revenue_bridge_ctrl_uniform_* models. With no configured bridge source, the default table is revenue_bridge_ctrl_uniform. If active connectors select different bridge models, or the selected table is missing, the dataset is unavailable rather than silently exporting a different model. Check the catalog’s sourceTableName before loading.
Stripe journal uses the configured journal table (normally fct_stripe_journal_entries). To reconcile with Sheets, compare the same source refresh and apply the same sheet-level filters and column selections downstream. Parquet does not reproduce spreadsheet formatting, formulas, or connector-specific filters.
Load every file of a completed reporting snapshot into staging and replace the whole destination table atomically. These full-table exports do not provide consolidation’s per-period change hashes.
Custom dataset snapshots
Advanced consumers can inspect the public and raw catalogs:ctrl_group_accounts_latest, revenue_bridge_ctrl_uniform, and stripe_journal_entries separately without month filters. Mixing sliced and full-table datasets with a month range returns 400.
Prefer the versioned export definition unless you specifically need lower-level tables.
To inspect downloaded files locally, use the DuckDB example in Parquet exports.