Platform features

Skool communities

Connect your Skool account once and your agents can run your communities: read and publish posts (with polls, files and video), reply to comments, approve join requests, pull member emails, read revenue and growth, and handle your DMs. It's all in the same Creator OS API key, CLI and MCP server you already use for your socials, across 31 endpoints.

Prefer video? Watch the Skool API full tutorial on YouTube.

1. Connect Skool

In Creator OS, open Connect and choose Skool. You sign in on Skool's real login page inside a secure window, so Creator OS never sees your password. Each workspace connects one Skool account. Your Skool follower count then joins your dashboard totals.

After sign-in, tick the communities your agents may use and set each one to read only or read & write, then Save access. You can change this any time; it applies instantly to every key and connected app on that workspace.

2. Who can do what

Read only

Agents can read posts, comments and members (plus revenue and analytics where you are an owner or admin). Every write returns 403 community_read_only

Read & write

Also post, comment, edit, delete, pin, like, and approve or deny join requests

Communities you own or admin

Everything above plus admin reads: join requests, member emails, churned / banned / invited / admin tabs, revenue, growth, charts, engagement

Communities you are only a member of

Can be shared too. Agents read them, and with read & write they post as you. Admin-only calls return 403 admin_only

Account-wide calls (profile, followers, DMs, blocking)

Need at least one shared community to read and at least one read & write community to send or block

3. First calls

Use the workspace's cos_live_ key from Settings. List what you shared, then use a community's slug in every community call:

$ curl https://creatoros-production-5658.up.railway.app/v1/skool -H "Authorization: Bearer $CREATOROS_API_KEY"Copy

Find every post nobody has answered yet:

$ curl "https://creatoros-production-5658.up.railway.app/v1/skool/communities/<slug>/posts/filter?unanswered=true" -H "Authorization: Bearer $CREATOROS_API_KEY"Copy

Publish a post with an image:

$ curl -X POST https://creatoros-production-5658.up.railway.app/v1/skool/communities/<slug>/posts -H "Authorization: Bearer $CREATOROS_API_KEY" -H "Content-Type: application/json" -d '{"title":"Live Q&A Friday","content":"Drop your questions below","media":["https://example.com/flyer.png"]}'Copy

4. Every endpoint

Click any endpoint for its parameters, a response example and ready-to-copy cURL, JavaScript and Python in the Skool API reference.

5. Errors

Errors use the same envelope as the rest of the API: { "error": { "code", "message", "status" } }. The Skool-specific codes:

409 skool_not_connected

No Skool account on this workspace yet. Connect it on the Connect page

409 skool_reconnect_required

The Skool session expired or was signed out. Reconnect on the Connect page; calls work again right away

403 community_not_granted

That slug isn’t one of the communities you shared (or you haven’t shared any)

403 community_read_only

A write to a community shared as read only. Switch it to read & write on the Connect page

403 skool_read_only

A DM or block while every shared community is read only

403 admin_only

An admin read on a community you don’t own or admin

400 category_required

The community has several post categories. The message lists them; pass labelId

400 invalid_request

A missing or malformed field (the message says which)

429 rate_limited

Skool slowed you down. Wait a minute and retry; keep writes under about 30 a minute

402 plan_required

The workspace has no active Creator OS plan

502 skool_error

Skool returned something unexpected. Retry; the message carries what Skool said

6. Limits and good to know

Pages

Feeds, members, followers and DM lists come 30 at a time. Pass page (or offset) for more

Write rate

Skool rate-limits writes to roughly 30 a minute per account. Space out bulk posting, replies and DMs

Scheduling

Skool has no scheduled posts, so every post publishes immediately. Schedule from your own agent or automation

notifyAll

Emails every member of the community. It can’t be undone, so use it sparingly

Media

media takes public URLs or med_ ids from POST /v1/media (images, video, PDFs, any file). Each file is copied into that community’s own storage

Video links

videoLinks embeds YouTube, Vimeo, Loom and Wistia players under the post

Unofficial

Skool has no public API. Creator OS acts as your signed-in account, so Skool can change behaviour without notice; we patch it on our side

7. CLI

@creatoros/cli 0.4.0 and later wraps every Skool endpoint. A community is its slug.

creatoros skool:account

The connected Skool account and the communities you shared, each read or read & write

creatoros skool:categories <community>

Post categories (label ids). Communities with several need --labelId on new posts

creatoros skool:posts <community> [--sort newest] [--page 2]

One page of the feed (sorts: newest-cm, newest, best-1w, best-1m, best-1y)

creatoros skool:find <community> --unanswered [--text <q>] [--since <iso>]

Find posts, e.g. every post nobody has replied to yet

creatoros skool:post <community> <postId> / skool:comments <community> <postId>

One post / its full comment thread (--flat for a flat list)

creatoros skool:create <community> --title <t> --text <body> [--labelId <id>] [--poll "A,B"] [--media <url,url>]

Publish a post or poll with images or video attached (--notifyAll also emails every member)

creatoros skool:multi-post --communities <a,b> --title <t> --text <body> [--media <url,url>]

Post the same thing to several communities, with a result per community

creatoros skool:comment <community> <postId> --text <reply> [--parentId <commentId>]

Comment on a post, or reply to a comment

creatoros skool:update / skool:delete <community> <postId>

Edit or delete a post or comment

creatoros skool:pin / skool:unpin / skool:like / skool:unlike <community> <postId>

Pin or like posts

creatoros skool:members <community> [--search <name>] / skool:pending <community>

Active members / join requests with their application answers

creatoros skool:approve / skool:deny <community> <memberId>

Approve or decline a join request

creatoros skool:revenue / skool:growth / skool:engagement <community>

MRR (mrr_usd), members and retention / last 30 days of visitors, signups, conversion / active members

creatoros skool:chart <community> <mrr|members|retention_members|signups_by_source|...>

One dashboard time series (16 charts, money in dollars)

creatoros skool:members <community> --tab churned|banned|invited|admin / skool:emails <community>

Past, banned or invited members / emails from join applications (owner or admin only)

creatoros skool:profile / skool:followers [--following] [--page N]

Follower, following and post counts / who follows you (30 per page)

creatoros skool:chats [--unread] / skool:messages <chatId>

DM conversations / one conversation's messages

creatoros skool:send <chatId> --text <msg> / skool:start-chat <userId> --community <slug>

Reply in a DM / start a new chat (Skool sends a chat request)

creatoros skool:block <userId> [--unblock] / skool:blocked

Stop (or allow again) someone messaging you / list blocked users

8. Claude, ChatGPT and other MCP apps

The Creator OS MCP server has a tool for every Skool endpoint, so you can just ask: "approve this week's join requests that answered the questions", "what was my MRR last month", or "reply to every unanswered post in my community". Read-only connections only see the read tools.

skool_list_communities, skool_list_posts, skool_find_posts, skool_get_comments

Your connected Skool communities, their feeds and comment threads

skool_list_members, skool_pending_members, skool_member_emails

Skool members (active, churned, banned…), join requests and collected emails

skool_profile, skool_followers, skool_list_chats, skool_read_chat

Your Skool follower count, followers list and DMs

skool_revenue, skool_growth, skool_chart, skool_engagement

Skool MRR, 30-day growth, dashboard charts and active members

skool_create_post, skool_multi_post, skool_comment, skool_update_post, skool_pin_post, skool_like_post, skool_approve_member

Post (to one or several communities), reply, edit, pin, like and approve in Skool (read & write)

skool_send_message, skool_start_chat, skool_block_user

Send Skool DMs, start conversations, block or unblock (read & write)