こんな流れ。
/api/v1/accounts/verify_credentialsで自分自身の ID を得る/api/v1/accounts/:id/statusesで投稿のリストを得る/api/v1/statuses/:idで一件ずつ削除する
Mastodon インスタンスのポリシーによるのかもしれないが、投稿削除 API エンドポイントの rate limit がかなり少なくて、 30 分に 30 回しかアクセスできなかった。 curl で GET なエンドポイントを叩いたときは rate limit が 5 分?で 300 回くらいだったので User-Agent 偽装してみたけど見当はずれだった。投稿削除の rate limit は Web 版から操作したときと共通らしく、ブラウザからも削除できなくなったりした。
一度に削除できる件数が少ない、かつ時間を置かないといけないので、 crontab に追加するなり Jenkins job を作るなりして毎時実行させ、一日がかりで全部消した。
参考 documentation/API.md at master · tootsuite/documentation · GitHub