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.activeisfalsewhen the workspace has no active plan. Creating or publishing posts then fails with402.limits.channels.limitisnullon unlimited plans (and when there's no plan). Connecting past the limit is blocked in the dashboard.limits.trialPostsis 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 with402.- With
requireApproval: true, posts written by Members wait for an Owner or Admin to approve them before they publish.