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 onlyAgents 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 & writeAlso post, comment, edit, delete, pin, like, and approve or deny join requests
Communities you own or adminEverything above plus admin reads: join requests, member emails, churned / banned / invited / admin tabs, revenue, growth, charts, engagement
Communities you are only a member ofCan 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"CopyFind 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"CopyPublish 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"]}'Copy4. Every endpoint
Click any endpoint for its parameters, a response example and ready-to-copy cURL, JavaScript and Python in the Skool API reference.
Account
The connected Skool account, your profile and who follows you.
Posts
Read the feed, find posts, publish (with polls, files and video), edit, pin and like.
/v1/skool/communities/{slug}/postsList postsGET/v1/skool/communities/{slug}/posts/filterFind postsGET/v1/skool/communities/{slug}/posts/{postId}Get a postGET/v1/skool/communities/{slug}/labelsPost categoriesPOST/v1/skool/communities/{slug}/postsCreate a postPOST/v1/skool/postsPost to several communitiesPATCH/v1/skool/communities/{slug}/posts/{postId}Edit a postDELETE/v1/skool/communities/{slug}/posts/{postId}Delete a postPOST/v1/skool/communities/{slug}/posts/{postId}/pinPin or unpinPOST/v1/skool/communities/{slug}/posts/{postId}/likeLike or unlikeComments
Whole threads with replies nested, and replying as you.
Members
Every tab of the member list, join requests and the emails your join questions collected.
Revenue and analytics
The numbers from your Skool admin dashboard. Owner or admin only.
Direct messages
Read and answer DMs, start conversations and block people.
/v1/skool/chatsDM conversationsGET/v1/skool/chats/{chatId}/messagesRead a conversationPOST/v1/skool/chats/{chatId}/messagesSend a DMPOST/v1/skool/chats/{chatId}/readMark a conversation readPOST/v1/skool/chatsStart a conversationGET/v1/skool/blockedBlocked usersPOST/v1/skool/users/{userId}/blockBlock or unblock5. Errors
Errors use the same envelope as the rest of the API: { "error": { "code", "message", "status" } }. The Skool-specific codes:
409 skool_not_connectedNo Skool account on this workspace yet. Connect it on the Connect page
409 skool_reconnect_requiredThe Skool session expired or was signed out. Reconnect on the Connect page; calls work again right away
403 community_not_grantedThat slug isn’t one of the communities you shared (or you haven’t shared any)
403 community_read_onlyA write to a community shared as read only. Switch it to read & write on the Connect page
403 skool_read_onlyA DM or block while every shared community is read only
403 admin_onlyAn admin read on a community you don’t own or admin
400 category_requiredThe community has several post categories. The message lists them; pass labelId
400 invalid_requestA missing or malformed field (the message says which)
429 rate_limitedSkool slowed you down. Wait a minute and retry; keep writes under about 30 a minute
402 plan_requiredThe workspace has no active Creator OS plan
502 skool_errorSkool returned something unexpected. Retry; the message carries what Skool said
6. Limits and good to know
PagesFeeds, members, followers and DM lists come 30 at a time. Pass page (or offset) for more
Write rateSkool rate-limits writes to roughly 30 a minute per account. Space out bulk posting, replies and DMs
SchedulingSkool has no scheduled posts, so every post publishes immediately. Schedule from your own agent or automation
notifyAllEmails every member of the community. It can’t be undone, so use it sparingly
Mediamedia 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 linksvideoLinks embeds YouTube, Vimeo, Loom and Wistia players under the post
UnofficialSkool 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:accountThe 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:blockedStop (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_commentsYour connected Skool communities, their feeds and comment threads
skool_list_members, skool_pending_members, skool_member_emailsSkool members (active, churned, banned…), join requests and collected emails
skool_profile, skool_followers, skool_list_chats, skool_read_chatYour Skool follower count, followers list and DMs
skool_revenue, skool_growth, skool_chart, skool_engagementSkool 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_memberPost (to one or several communities), reply, edit, pin, like and approve in Skool (read & write)
skool_send_message, skool_start_chat, skool_block_userSend Skool DMs, start conversations, block or unblock (read & write)