For AI agents: a documentation index is available at /llms.txt. Every guide and example is also available as markdown by adding .md to its URL.
List channels
Channels are exposed as social accounts. Use their id as the socialAccountId when
creating posts.
curl https://api.schedulin.app/v0/social-accounts \ -H "x-api-key: $SCHEDULIN_API_KEY"
import { SchedulinClient } from "@schedulin/sdk"; const client = new SchedulinClient({ apiKey: process.env.SCHEDULIN_API_KEY! }); const { data: accounts } = await client.socialAccounts.list();
import os from schedulin import Schedulin client = Schedulin(api_key=os.environ["SCHEDULIN_API_KEY"]) accounts = client.social_accounts.list().data
Example response — list endpoints return the array under a data key:
{ "data": [ { "id": "acc_123", "platform": "instagram", "username": "yourbrand", "displayName": "Your Brand", "profileImageUrl": "https://r2.schedulin.app/...", "status": "connected", "refreshTokenValid": true, "analyticsDisabledAt": null, "webhookSubscriptionFailedAt": null, "createdAt": "2026-01-01T00:00:00Z", "updatedAt": "2026-01-01T00:00:00Z" } ] }
Disconnect or delete a channel
DELETE /v0/social-accounts/{id} disconnects the account. Its posts and history are kept,
and the account stays in the list above with a disconnectedReason, so it can be reconnected
from the dashboard later.
curl -X DELETE https://api.schedulin.app/v0/social-accounts/acc_123 \ -H "x-api-key: $SCHEDULIN_API_KEY"
To remove the account for good, add ?permanent=true. This hard-deletes the account and
permanently deletes all of its posts — scheduled, drafts, and history. It can't be undone.
curl -X DELETE "https://api.schedulin.app/v0/social-accounts/acc_123?permanent=true" \ -H "x-api-key: $SCHEDULIN_API_KEY"
From the CLI: schedulin accounts delete <id> disconnects; schedulin accounts delete <id> --permanent hard-deletes, and asks you to type the id (or pass --yes --i-understand in
scripts). OAuth apps need the social-accounts:write scope.