Backup Parse
const url = 'https://example.com/api/v1/import/backup/parse';const form = new FormData();form.append('file', 'example');
const options = {method: 'POST'};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/import/backup/parse \ --header 'Content-Type: multipart/form-data' \ --form file=exampleParse a JSON backup file and return a read-only preview.
Matches institutions, categories, and accounts against existing data to show which entries are new vs matched. Does NOT write anything.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Responses
Section titled “Responses”Successful Response
Response from POST /api/v1/import/backup/parse.
A read-only preview of a JSON backup file — parsed and matched against existing data, but nothing is written to the DB. The user reviews this before confirming the actual import.
object
Aggregate counts for all sections in a backup.
recurring_transactions/bills: only populated when previewing a v4-or- earlier backup (the pre-merge section split). A v5+ backup instead populates planned_transactions, the section that replaced both.
object
Subcategory entry in a backup preview.
object
Account entry in a backup preview with snapshot count.
Example
{ "version": 1, "summary": { "institutions": 0, "categories": 0, "subcategories": 0, "accounts": 0, "snapshots": 0, "funding_schedules": 0, "goal_templates": 0, "savings_goals": 0, "transactions": 0, "budgets": 0, "holdings": 0, "recurring_snapshots": 0, "recurring_transactions": 0, "exchange_rates": 0, "net_worth_thresholds": 0, "tags": 0, "categorization_rules": 0, "bills": 0, "planned_transactions": 0, "chart_annotations": 0, "envelopes": 0, "saved_filters": 0, "report_settings": 0, "saved_reports": 0, "payees": 0, "dashboards": 0, "alert_rules": 0, "notification_preferences": 0 }, "institutions": [ { "is_default": false, "is_new": false } ], "categories": [ { "is_new": false } ], "subcategories": [ { "is_new": false } ], "accounts": [ { "account_type": "other", "currency": "EUR", "snapshot_count": 0, "is_new": false } ]}Validation Error
object
object
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}