Overview
Data operation endpoints enable:- Bulk Updates - Modify multiple transactions at once
- Data Export - Export various data types to CSV
- Data Destruction - Delete all user data
- Data Purge - Purge all data except configuration
- Batch Processing - Handle batch API requests
Bulk Operations
Perform bulk updates on transactions based on query criteria.Base Path
Bulk Update Transactions
Update multiple transactions by moving them between accounts.Source account ID (transactions to move FROM this account)
Destination account ID (transactions to move TO this account)
This endpoint moves all transactions from one account to another. This is useful when closing or consolidating accounts.
The bulk transaction endpoint requires the
MANAGE_TRANSACTIONS role permission.Response
Returns204 No Content on success.
Data Export
Export various data types to CSV format for backup or analysis.Base Path
Export Accounts
Export all accounts to CSV.Export Bills
Export all bills/subscriptions to CSV.Export Budgets
Export all budgets to CSV.Export Categories
Export all categories to CSV.Export Piggy Banks
Export all piggy banks to CSV.Export Recurring Transactions
Export all recurring transactions to CSV.Export Rules
Export all rules to CSV.Export Tags
Export all tags to CSV.Export Transactions
Export transactions within a date range to CSV.Start date for transaction export (format:
YYYY-MM-DD)End date for transaction export (format:
YYYY-MM-DD)Comma-separated list of account IDs to export. If omitted, exports all accounts.
Export Response Format
All export endpoints return:- Content-Type:
application/octet-stream - Content-Disposition:
attachment; filename=YYYY-MM-DD-HH-MM-SS-export-{type}.csv - Body: CSV formatted data
Export endpoints require the
READ_ONLY role permission or higher.Data Destruction
Permanently delete user data.Base Path
Destroy All Data
Delete all user data while preserving the account.204 No Content on success.
What Gets Deleted
- All transactions (withdrawals, deposits, transfers)
- All accounts (asset, expense, revenue)
- All budgets and budget limits
- All bills and subscriptions
- All categories
- All tags
- All piggy banks
- All rules and rule groups
- All recurring transactions
- All attachments
What Gets Preserved
- User account and authentication
- User preferences
- OAuth clients and tokens
- System configuration
Data Purge
Completely purge all data including configuration.Base Path
Purge All Data
Delete all user data AND reset preferences to defaults.204 No Content on success.
Purge vs Destroy
| Operation | Destroy | Purge |
|---|---|---|
| Transactions | ✓ Deleted | ✓ Deleted |
| Accounts | ✓ Deleted | ✓ Deleted |
| Budgets/Bills/Categories | ✓ Deleted | ✓ Deleted |
| User Preferences | Preserved | ✓ Deleted |
| OAuth Tokens | Preserved | ✓ Deleted |
| User Account | Preserved | Preserved |
Batch API Endpoints
Handle batch API request processing.Base Path
Finish Batch Processing
Signal completion of a batch operation.This endpoint is used internally by batch processing systems. Refer to Firefly III documentation for batch API usage.
Export Use Cases
Full Data Backup
Export all data types for complete backup:Monthly Transaction Export
Export transactions for a specific month:Account Consolidation
Move all transactions when closing an account:Security Considerations
Pre-Deletion Checklist
Before using destroy or purge:- ✓ Export all data for backup
- ✓ Verify exports are complete and valid
- ✓ Confirm you want to delete everything
- ✓ Understand the operation is irreversible
- ✓ Consider using destroy before purge
Rate Limiting
Export operations may take time for large datasets:- Transaction exports: 10-60 seconds for 1000s of transactions
- Other exports: Usually < 5 seconds
Export endpoints don’t have pagination - they return complete datasets.
CSV Format
Exported CSV files include:- Header row with column names
- UTF-8 encoding
- Comma-separated values
- Quoted strings where necessary
- Date format:
YYYY-MM-DD
Error Handling
Missing Parameters
Invalid Account ID
Insufficient Permissions
Limitations
- Bulk operations currently only support account-to-account transaction moves
- No partial restore from exports (must use web interface or manual import)
- CSV exports are one-way (export only, no import via API)
- Destroy/purge operations affect only current user’s data
Next Steps
Webhooks API
Configure real-time event notifications
Search API
Search and filter data