Publish Dev.to markdown articles with title, tags, series, and optional cover through POST /public/posts — using your own API key on a connected channel.
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. Publish to Dev.to through the same request shape.
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. Publish to Dev.to through the same request shape.
Agent operators
Point Cursor, Claude Code, or another MCP host at your workspace. The agent posts only to accounts you already authorized. Publish to Dev.to through the same request shape.
Three steps
Add Dev.to posting,to your product in three steps
Connect Dev.to once, then publish and track delivery 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
Endpoint
POST /api/v1/public/posts
JSON payload
{"scheduledAt": "2026-01-01T12:00:00.000Z","status": "scheduled","body": "Technical writing cadence — queue this markdown article before it stalls in drafts.","integrationIds": [
"<integration-id>"],"providerSettingsByIntegrationId": {
"<integration-id>": {
"devto": {
"title": "Keep technical posts shipping","tags": [
{"value": "webdev","label": "webdev"},{"value": "productivity","label": "productivity"}]}}}}
Explore request and response examples by format
Static examples mirror shipped OpenQuok public API payloads and success responses.
Publish a article with title and tags to Dev.to with POST /public/posts.
Request
JSON body
{"scheduledAt": "2026-01-01T12:00:00.000Z","status": "scheduled","body": "Technical writing cadence — queue this markdown article before it stalls in drafts.","integrationIds": [
"<integration-id>"],"providerSettingsByIntegrationId": {
"<integration-id>": {
"devto": {
"title": "Keep technical posts shipping","tags": [
{"value": "webdev","label": "webdev"},{"value": "productivity","label": "productivity"}]}}}}
Response
JSON body
{"success": true,"data": {
"postGroup": "9a0a1b2c-3d4e-4f5a-9b8c-aa11bb22cc33","posts": [
{"id": "5b3c1d2e-9a3f-4e6b-bb12-2c0a5f1a90a1","state": "QUEUE","publishDate": "2026-01-01T12:00:00.000Z","organizationId": "c1d8a3f4-1234-4abc-bf12-1234567890ab","integrationId": "1f9a4f3a-3b2c-4f4a-9d8e-7a3f6b1c8e22","content": "Technical writing cadence — queue this markdown article before it stalls in drafts.","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"}]}}
More social media posting API platforms
Compare Dev.to with other networks, or jump to platform docs and provider
settings.
Install @openquok/node-sdk in your Next.js or TypeScript backend. Call post() to publish to Dev.to with the same JSON you send to POST /public/posts. Media, integrations, and provider settings stay typed.
# After you add OpenQuok in your MCP client config:
# Ask your agent to publish to Dev.to.
> Publish to Dev.to now:
> Product launch 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. Publish Dev.to posts from chat with schedulePostTool and integrationList. Agents use the same REST API as curl and the SDK.
Register your app under Developers → Apps. Users approve access to their workspace, then your app calls the public API for Dev.to publishing 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
# Match identifier: devto — copy id into integrationIds
Pricing
Transparent pricingfor Dev.toposting API
Every paid plan includes Public API access, the Node SDK, MCP tools, and OAuth apps per workspace. Publish to Dev.to from REST, SDK, or MCP — start with a 7-day free trial, no credit card required.
Solo
$29/ mo
Prototype Dev.to posting from curl, SDK, or MCP before you ship to customers.
Connect with your personal Dev.to API key, publish or schedule markdown articles, and automate drafts you approve — not a multi-tenant resale flow.
Sign up for free, open a workspace, and choose Connect channel → Dev.to. Paste a personal API key from DEV → Extensions for your account — not a key you issue to customers. For self-hosted deployments, see the self-host Dev.to setup guide.
Connect your Dev.to account with your API key. Do not embed a shared key in a multi-tenant app so you post articles as yourself on behalf of unrelated users. OpenQuok is built for your automation — agents, scripts, and drafts you approve — not for reselling scheduling to end users on credentials they never connected. If your product’s users must connect their social accounts, use OAuth2 for apps so each user authorizes their channel; see the connect channels guide.
Call GET /public/integrations with your workspace programmatic token. Match the `identifier` field to `devto` and copy the channel UUID into `integrationIds`. Field tables for Dev.to live on Dev.to provider settings.
Yes. Send one POST /public/posts payload with the channel UUID in `integrationIds`. Set `status` to `scheduled` and `scheduledAt` to publish immediately or at a future time. Use `draft` when you want to persist without enqueuing. See Dev.to CLI examples for copy-paste recipes.
No. OpenQuok bills workspaces on paid plans, not per-post credits. Public API access requires a paid tier. Each opo_ token gets 30 requests per hour on OpenQuok Cloud. Scheduled posts still count toward your monthly post quota. See cloud limits.
Use the interactive Payload Wizard on this page with sample channels, or open the full wizard in your workspace after you sign in. Copy JSON stays free on public pages. Provider field reference: Dev.to settings. Channel landing: Dev.to.
A channel is one connected social account (Facebook, Instagram, LinkedIn, TikTok, YouTube, Threads, and more). Connect channels in the dashboard. Browse networks on Supported channels.