Connect your own social accounts in OpenQuok Cloud. Complete OAuth for each channel yourself. Then publish with curl, the Node SDK, MCP, or CLI. Draft JSON in the payload validator.
CLI and SDK users
Call POST /public/posts from a script or CI job. One opo_ token covers every channel you connected. Your plan still caps channels and posts per month.
Agent operators
Point Cursor, Claude Code, or another MCP host at your workspace. The agent posts only to accounts you already authorized.
Three steps
Add social media,to your product in three steps
Connect once, then publish, schedule, and read data through the same API.
Test your social media posting API payload before you ship code
Compose a post with sample channels in your browser. Copy the JSON body and paste it into curl, your SDK, or an agent workflow. Copy JSON is free — no account required. Scheduling and file uploads need a workspace.
Payload preview
Sample channels
Sample channels
Media: hero.png
Endpoint
POST /api/v1/public/posts
JSON payload
{"scheduledAt": "2026-05-14T10:00:00.000Z","status": "scheduled","body": "Hello from the public API!","integrationIds": [
"1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22","2a8b5e4c-1d3f-4a5b-9c0d-8e7f6a5b4c3d"],"media": [
{"id": "img-global","path": "uploads/2026/05/hero.png","alt": "Product launch hero"}],"tagNames": [
"launch-week"]}
Send JSON,get structured response back
Send one JSON body to POST /api/v1/public/posts. The REST API returns post group rows. Track
each group with the public API.
Install @openquok/node-sdk in your Next.js or TypeScript backend. Call post() with the same JSON you send to POST /public/posts. Media, integrations, and schedule fields stay typed.
npm install @openquok/node-sdk
import Openquok from '@openquok/node-sdk';
const openquok = new Openquok('opo_your_programmatic_token');
await openquok.post({
scheduledAt: '2026-06-18T14:30:00.000Z',
status: 'scheduled',
body: 'Hello from the Node SDK',
integrationIds: ['<integration-id>']
});
# After you add OpenQuok in your MCP client config:
# Ask your agent to schedule from connected channels.
> Schedule a post to Threads for tomorrow at 10am UTC:
> Launch day recap with a link to our pricing page.
MCP server
MCP toolsfor Cursor and Claude Codesame public API
Connect your MCP client with an opo_ token. Use schedulePostTool, integrationList, and postsList from chat. Agents draft and queue posts through the same REST API.
Register your app under Developers → Apps. Run the Authorization Code flow. Receive an opo_ token for the organization the user approves. Embed scheduling without pasted workspace keys.
# Redirect the user to approve your app
https://www.openquok.com/oauth/authorize?client_id=oqc_your_client_id&response_type=code&state=random123
# Exchange the code for an opo_ access token, then call:
curl -H "Authorization: Bearer opo_oauth_access_token" \
https://api.openquok.com/api/v1/public/integrations
Pricing
Ship yourposting APIon any plan
Every paid plan includes Public API access, the Node SDK, MCP tools, and OAuth apps per workspace. Start with a 7-day free trial — no credit card required.
Solo
$29/ mo
Wire POST /public/posts from a side project — REST, Node SDK, or MCP in one workspace.
No. OpenQuok bills workspaces, not per-post credits. Scheduled posts use your monthly post quota. Each opo_ token allows 30 requests per hour. See cloud limits and Pricing.
Each opo_ token allows 30 requests per hour on OpenQuok Cloud. The limit counts HTTP requests, not posts. Send one POST for many channels when you can. OpenQuok bills workspaces on paid plans, not per-post credits. Scheduled posts still use your monthly post quota. See cloud limits for all limits.
Call list integrations with your opo_ token. Each connected channel returns a UUID and a name such as threads or tiktok. See provider settings for network fields.
Yes. Use the Payload Wizard on this page with sample channels. Copy JSON for free. Sign in for the full wizard, or follow the CLI getting started guide for local scripts.