Dev.to Settings
OpenQuok public API provider settings for Dev.to — title, tags, canonical URL, organization, series, and cover image for markdown articles.
Connect your agent today
Draft from chat, review in your calendar, and publish only what you approve.
Quick reference
| Property | Value |
|---|---|
| Identifier | devto |
| Connect | Dashboard API key — GET /api/v1/public/social/devto returns 400 |
| Setup guide | Dev.to |
| Body cap | 100,000 characters (markdown on top-level body) |
| Main-post media | Optional cover image in settings — not required on the media strip |
Note
Connect Dev.to in the dashboard with a personal API key (DEV Settings → Extensions). The article body is markdown on body; title and optional metadata go in providerSettingsByIntegrationId.
Settings on create post
Flat keys and the devto nested bucket are both accepted.
| Flat CLI / API key | Nested composer bucket | Purpose |
|---|---|---|
| title | devto.title | Article title (≥2 chars, required) |
| tags | devto.tags | Up to 4 tag names |
| canonical | devto.canonical | Syndication URL |
| canonical_url / canonicalUrl | — | Aliases for canonical |
| organization | devto.organization | Numeric org id from trigger tool |
| organization_id / organizationId | — | Aliases for organization |
| series | devto.series | Series name (created if missing) |
| main_image / mainImage | devto.mainImage | Cover { path } from upload |
List tag and organization options with Trigger integration tool methods tags and organizations.
{
"providerSettingsByIntegrationId": {
"<devto-integration-id>": {
"title": "Shipping faster with scheduled social posts",
"tags": ["opensource", "productivity"],
"canonical": "https://example.com/blog/original-post",
"main_image": { "path": "FILE_PATH_FROM_UPLOAD" }
}
}
} Field reference
| Field | Type | Required | Notes |
|---|---|---|---|
| title / devto.title | string | Yes | Minimum 2 characters |
| tags / devto.tags | array | No | Max 4 — strings or { value, label } objects |
| canonical | string | No | Optional canonical URL for syndication |
| organization | integer | No | From organizations trigger tool |
| series | string | No | Dev.to creates the series if it does not exist |
| main_image / mainImage | object | No | path from POST /api/v1/public/upload |
Run GET /api/v1/public/integrations/:id/settings (or openquok integrations:settings) for the typed settingsSchema Dev.to exposes.
Complete example
curl -X POST https://api.openquok.com/api/v1/public/posts
-H "Authorization: Bearer opo_your_programmatic_token"
-H "Content-Type: application/json"
-d '{
"body": "## Introduction
This article explains how we schedule Dev.to posts alongside social channels.
## Setup
Connect your API key in the dashboard...",
"scheduledAt": "2026-05-15T12:00:00.000Z",
"status": "scheduled",
"integrationIds": ["<devto-integration-id>"],
"isGlobal": true,
"providerSettingsByIntegrationId": {
"<devto-integration-id>": {
"title": "Scheduling Dev.to articles with OpenQuok",
"tags": ["devops", "writing"],
"canonical": "https://example.com/blog/scheduling-devto"
}
}
}' Related
Provider settings overview
Hub catalog — credentials vs OAuth channels
Dev.to CLI examples
openquok recipes for tags, series, and organizations
Dev.to setup
API key and dashboard connect
Trigger integration tool
List tags and organizations before publishing
Writing the post
Markdown editor for Dev.to
Platform limits
Body and title constraints