logo
Schedulin Developers

Check your plan and limits

GET /v0/workspace describes the workspace your API key (or OAuth token, with the org:read scope) is scoped to: its name, your role, whether posts need approval, the active plan, and usage against plan limits.

curl https://api.schedulin.app/v0/workspace \
  -H "x-api-key: $SCHEDULIN_API_KEY"
{
  "id": "org_123",
  "name": "Acme Social",
  "slug": "acme-social",
  "logo": null,
  "createdAt": "2026-02-11T18:04:22.000Z",
  "requireApproval": false,
  "role": "owner",
  "memberCount": 3,
  "plan": { "id": "creator", "name": "Creator", "status": "trialing", "active": true },
  "limits": {
    "channels": { "used": 4, "limit": 12 },
    "trialPosts": { "used": 37, "limit": 100 }
  }
}
const workspace = await client.workspace.retrieve();
workspace = client.workspace.retrieve()
  • plan.active is false when the workspace has no active plan. Creating or publishing posts then fails with 402.
  • limits.channels.limit is null on unlimited plans (and when there's no plan). Connecting past the limit is blocked in the dashboard.
  • limits.trialPosts is only set during a free trial. Scheduled and published posts count toward it; drafts don't. A create that would go past the limit fails with 402.
  • With requireApproval: true, posts written by Members wait for an Owner or Admin to approve them before they publish.