Connect your channels in OpenQuok Cloud. Complete OAuth in the dashboard. Then set scheduledAt with curl, the Node SDK, MCP, or CLI. UTC timestamps stay predictable in JSON.
CLI and SDK users
Queue publish times in one REST call. OpenQuok delivers on the worker. You do not run cron per platform. Channel and post caps on your plan still apply.
Agent operators
Ask your agent to schedule into your workspace. It uses the accounts you connected. It does not onboard other people’s customers onto your token.
Three steps
Add social media scheduling,to your product in three steps
Connect once, then schedule posts and track delivery through the same API.
{"scheduledAt": "2026-06-18T14:30:00.000Z","status": "scheduled","body": "Queue this post for next Tuesday at 2:30 PM UTC.","integrationIds": [
"1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22"],"repeatInterval": "week","tagNames": [
"campaign"]}
Free payload wizard
Test your social media scheduling API payload before you ship code
Compose a scheduled post with sample channels in your browser. Set publish time, document carousel names, follow-up comments, and optional repeat cadence, then copy the JSON body. Copy JSON is free — no account required. Scheduling and file uploads need a workspace.
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.
{"scheduledAt": "2026-06-18T14:30:00.000Z","status": "scheduled","body": "Queue this post for next Tuesday at 2:30 PM UTC.","integrationIds": [
"1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22"],"repeatInterval": "week","tagNames": [
"campaign"]}
Response
JSON body
{"success": true,"data": {
"postGroup": "9a0a1b2c-3d4e-4f5a-9b8c-aa11bb22cc33","posts": [
{"id": "5b3c1d2e-9a3f-4e6b-bb12-2c0a5f1a90a1","state": "QUEUE","publishDate": "2026-06-18T14:30:00.000Z","organizationId": "c1d8a3f4-1234-4abc-bf12-1234567890ab","integrationId": "1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22","content": "Queue this post for next Tuesday at 2:30 PM UTC.","delay": 0,"postGroup": "9a0a1b2c-3d4e-4f5a-9b8c-aa11bb22cc33","title": null,"description": null,"parentPostId": null,"releaseId": null,"releaseUrl": null,"settings": null,"image": null,"intervalInDays": null,"error": null,"deletedAt": null,"createdByUserId": null,"createdAt": "2026-05-10T09:00:00.000Z","updatedAt": "2026-05-10T09:00:00.000Z"}]}}
Explore social media scheduling API by platform
Open platform pages for request and response examples, provider settings, and Payload Wizard
samples.
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
Transparent pricingfor yourscheduling API
Every paid plan includes Public API access, MCP tools, and OAuth apps per workspace. Start with a 7-day free trial — no credit card required.
Solo
$29/ mo
Prototype scheduling from curl, SDK, or MCP before you ship to customers.
Plain answers about scheduled posts, time zones, repeat rules, and workspace limits.
Send create a post with status scheduled and scheduledAt set to a UTC time. OpenQuok publishes at that time. Use status draft to save without publishing.
Use UTC in API requests. Convert local time to UTC before you send. The dashboard may show local time, but the API reads UTC.
Yes. Set repeatInterval to day, week, or month. OpenQuok schedules the next post after each publish. See CLI managing posts for examples.
Yes. Scheduled posts count toward your monthly post limit. API rate limits are separate: 30 requests per hour per opo_ token. 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.