## Summary
Add ability to export and import all Spoolman data for backup and database migration purposes.
## Use Case
- Migrate from PostgreSQL to SQLite (or vice versa)
- Backup/restore data
- Move between servers
## Proposed Implementation
### Export
- API endpoint: `GET /api/v1/backup/export`
- Returns JSON with all: vendors, filaments, spools, locations, settings, adjustments
- Include all relationships and custom fields
- Option to download as .json file from UI
### Import
- API endpoint: `POST /api/v1/backup/import`
- Accepts JSON in same format as export
- Options: merge vs replace
- UI button in Settings page
### Data Format
```json
{
"version": "1.0",
"exported_at": "2026-01-14T...",
"vendors": [...],
"filaments": [...],
"spools": [...],
"locations": [...],
"spool_adjustments": [...],
"settings": [...]
}
```
## Notes
- Maintain referential integrity on import
- Handle ID conflicts (remap or skip)
- Progress indicator for large imports
## Upstream References
- https://github.com/Donkie/Spoolman/issues/303 (migration documentation)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add ability to export and import all Spoolman data for backup and database migration purposes.
Use Case
Proposed Implementation
Export
GET /api/v1/backup/exportImport
POST /api/v1/backup/importData Format
Notes
Upstream References