A user can end a connection from either side: through your app, or from inside Instagram,
Threads, X or LinkedIn. Both paths end with the stored credentials gone.
From your app
DELETE /api/v1/accounts/:id disconnects an account and destroys its stored tokens.The account stops appearing in GET /api/v1/accounts immediately (pass includeRevoked=true
to see it), stops counting against your plan's account cap, and cannot publish: a target
pointed at it fails with account_not_active while the other targets in the same request go
out normally.What is not destroyed is the row itself, and therefore the id. Reconnecting the same profile
later reuses the same accountId — see Account lifecycle.
From the platform
When someone removes Chirio in their Instagram or Threads settings, Meta notifies Chirio and
the affected accounts and their tokens are deleted automatically — outright, row and all, not
merely marked revoked. Nothing is required from you.
An account can disappear without you asking
Because platform-side revocation is silent from your perspective, an accountId you hold can stop being valid at any time. Handle both 404 account_not_found and a target failing with account_not_active as 'ask the user to reconnect' rather than as a bug.
For X and LinkedIn, a revocation surfaces the next time the credentials are used: the account
moves to expired or revoked and publishing to it fails that target with
account_not_active. See Account lifecycle.
Data deletion requests
Meta requires a route for users who ask for their data to be deleted rather than merely
disconnected. Chirio handles those requests inline — the accounts and tokens for that platform
user are removed across every project they appear in, and the user receives a confirmation
code and a status page they can check.Requests arriving this way are verified as genuinely coming from the platform before anything
is deleted.
What is kept
Disconnecting an account destroys its credentials and its ability to act. It does not delete
the post history already recorded under your project — those records are what your own
audit trail and billing rest on, and they no longer contain anything that can act on the
user's behalf.A platform-initiated deletion is the stricter path, and deliberately so: a user who asked to
be forgotten has their rows removed rather than retained under a revoked flag.If you need post history deleted as well, that is a support request rather than an API call.