Export guide
Export and migration
Export is a secret-key GET. It does not run from the widget and it does not accept a publishable key.
curl -s https://comments.bootstrapware.co/api/v1/export \ -H "Authorization: Bearer $BSW_COMMENTS_SECRET" \ -o comments-export.json
$BSW_COMMENTS_SECRET stands for the dashboard value bsw_test_sec_… or bsw_live_sec_…. The file contains data.threads, data.comments, data.reads, and data.events for that key's environment. Tombstones have body: null. Join comments.threadId to threads.id, then join tenantKey, resourceType, and resourceId to your record. Example: acme, task, task_1842.
Import is your job. Create threads first, then comments in seq order, then read markers. Skip event rows you already stored by id. Do not expect deleted text to reappear. Reactivating Hosted before the 30-day purge does not need this file. After the cron runs, the export is empty.
The BYO example exposes GET /api/export on port 3014 for the JSON file it stores. That route checks the demo session. It is the shape to copy, not a Bootstrapware-hosted import API.
Field list: export and purge.
Related: Deletion · BYO vs Hosted · Privacy by mode