Account data export
Two calls give you a copy of the data DCAST holds for your account as a ZIP file: POST /me/export starts an export and GET /me/export shows its status and the download link. The ZIP is built in the background, and a webhook can tell you when it is ready.
What you need
- An API key that may read financial data: an Owner-class key (
FULL_ACCESSscope) or a key with thefinance:readpermission. Any other key gets403 FINANCIAL_SCOPE_REQUIRED; the rule is described in Authentication. - Optional: a webhook endpoint that receives
account.export.ready(see Webhooks). Without one, pollGET /me/export.
Request an export
POST /me/export takes no body. It answers 202 with id, status (queued), requestedAt and a message.
If an export of yours is already queued or running, the same call answers 202 with that export and the message Export already in progress instead of starting a second one.
Follow the status
GET /me/export lists your last 10 exports, newest first. Each item has id, status, requestedAt, startedAt, completedAt, expiresAt, bytes, downloadUrl, downloadUrlExpiresAt and errorMessage; a field that does not apply yet is null.
status is queued, running, ready or failed. When it is ready, downloadUrl is a signed link to the ZIP that works for 24 hours; once it has run out, the next GET /me/export issues a fresh 24-hour link. When it is failed, errorMessage says why, and you can request a new export.
Be told when it is ready
When the ZIP is ready, DCAST sends the account.export.ready event to your webhook endpoints that listen for it. Its payload carries userId, exportId, bytes, downloadUrl and downloadUrlExpiresAt.
The dashboard also receives a notification, Your data export is ready.
What is inside the ZIP
One JSON file per section, plus MANIFEST.json. The sections are profile, sessions, oauthAccounts, videos, streams, restreams, restreamAccounts, bridges, playlists, purchases, wallet, subscriptionsAsCreator, subscriptionsAsSubscriber, planSubscription, bookingProducts, bookingsAsCustomer, calendar, partnerApiKeys, partnerWebhooks, partnerWebhookDeliveries, notifications, chatMessages and roomMessages.
- These are records about your account and content, not the media: the video files themselves are not in the ZIP.
MANIFEST.jsonlists the sections with the number of records in each, the time the export was generated and the sections that could not be collected. A section that failed is written as an empty list, and the manifest says why.- Passwords, two-factor secrets, stream keys, API keys, access and refresh tokens, webhook signing secrets and other credentials are replaced with
[REDACTED]. - Long histories are cut to the newest records: 5,000 wallet entries, 10,000 chat messages, 10,000 room messages, and 1,000 each of sessions, webhook deliveries and notifications.
Download from the dashboard instead
The dashboard has its own download, separate from the API export: open Settings → the Privacy tab, find Export Your Data and click Download My Data. It gives one JSON file at once, with no queue and no email. The steps are in the help centre: Export your account data.
