For Agents
Publish, list, and moderate articles, comments, organizations, and users on DEV Community and other Forem instances through 58 Forem API V1 endpoints.
Get started with Forem API V1 in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"publish a dev.to article"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Forem API V1 API.
Publish or update an article via POST /api/articles and PUT /api/articles/{id}, then unpublish via PUT /api/articles/{id}/unpublish
List your own articles by status via /api/articles/me/published, /api/articles/me/unpublished, and /api/articles/me/all
Manage organizations via POST /api/organizations and read members via GET /api/organizations/{organization_id_or_username}/users
Toggle a reaction on an article or comment via POST /api/reactions/toggle and POST /api/reactions
GET STARTED
Use for: Publish a new article to my DEV Community account, List the latest published articles on dev.to, Get my unpublished drafts on DEV, Toggle a reaction on a DEV article
Not supported: Does not handle direct messaging, payments, full-text search of comments, or write access to comments — use for article publishing, organization, reaction, and moderation operations only.
The Forem API V1 powers DEV Community (dev.to) and other Forem-based developer communities. Its 58 endpoints cover articles, comments, reactions, tags, follows, organizations, pages, podcast episodes, billboards, segments, and admin operations such as suspending or marking users as trusted. Public reads work anonymously, while write operations and reads of personal content require the api-key request header issued from a user's DEV settings page. Use it to publish technical content programmatically, build dashboards over your own articles, or moderate a Forem instance from external tooling.
Create and curate user segments and billboards via POST /api/segments and POST /api/billboards
Read tags, follows, and reading lists via /api/tags, /api/follows/tags, and /api/readinglist
Moderate users with admin actions via PUT /api/users/{id}/suspend, /api/users/{id}/spam, and /api/users/{id}/trusted
Patterns agents use Forem API V1 API for, with concrete tasks.
★ Cross-posting and content syndication
Authors who write in their own CMS or blog can syndicate to DEV Community by calling POST /api/articles with the article body and canonical_url, then update edits with PUT /api/articles/{id}. The api-key header authenticates the request as the article's author. This is the standard path for cross-posting and keeps the DEV copy in sync with the source.
POST /api/articles with body containing title, body_markdown, canonical_url, and tags to publish a draft, then GET /api/articles/me/all to confirm it appears.
Personal writing dashboard
Build a private dashboard over your own DEV writing by combining /api/articles/me/published, /api/articles/me/unpublished, and /api/articles/me/all. Pair with /api/users/me to render the author's profile and follower counts. The 58-endpoint surface gives enough coverage to track drafts, edits, and engagement without scraping DEV's web UI.
GET /api/articles/me/published, then for each article id call /api/comments?a_id={id} to render a per-article comment count.
Forem instance moderation tooling
Operators of Forem-based communities can wire moderation actions (suspend, mark trusted, mark spam) into external tools through the admin endpoints under /api/users/{id}/*. Combine with /api/admin/users to onboard new users and /api/billboards to manage on-site placements. This is the API surface that staff dashboards and bots can build on top of.
PUT /api/users/{id}/suspend with the offending user id from a moderation report, then verify the user state by reading /api/users/{id}.
Agent-driven publishing assistant
An AI writing assistant can call the Forem API through Jentic to publish drafts, fetch comment threads, and react to mentions. The agent finds the right operation by intent (e.g., 'publish a DEV article'), and Jentic injects the api-key from the vault at execution time, so the user's DEV API key never lives in the agent's prompt or context.
Through Jentic, search 'publish a DEV.to article', load the dev.to /api/articles POST operation, and execute with the title, body_markdown, and tags from the user's draft.
58 endpoints — the forem api v1 powers dev community (dev.
METHOD
PATH
DESCRIPTION
/api/articles
List published articles
/api/articles
Publish a new article
/api/articles/{id}
Update an existing article
/api/articles/me/all
List the authenticated user's articles
/api/reactions/toggle
Toggle a reaction on a reactable
/api/comments
List comments on an article or podcast
/api/organizations
Create an organization
/api/users/{id}/suspend
Suspend a user (admin)
/api/articles
List published articles
/api/articles
Publish a new article
/api/articles/{id}
Update an existing article
/api/articles/me/all
List the authenticated user's articles
/api/reactions/toggle
Toggle a reaction on a reactable
Three things that make agents converge on Jentic-routed access.
Credential isolation
Your DEV api-key is stored encrypted in the Jentic vault. Agents call operations through scoped Jentic tokens and the api-key header is set at execution, so the raw key never enters the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'publish a DEV article' or 'list my DEV drafts') and Jentic returns the matching Forem operations with their input schemas already resolved.
Time to first call
Direct Forem integration takes a few hours to wire up the api-key header, body_markdown encoding, and CORS-disabled call patterns. Through Jentic the same operations are executable in minutes.
Alternatives and complements available in the Jentic catalogue.
DEV Community ChatGPT Plugin API
Single article search endpoint for LLM article recommendations.
Use the chatgpt spec when an LLM only needs to recommend DEV articles by keyword and does not need write access.
GitHub REST API
Repository, issue, and gist APIs that pair with DEV writing.
Pair with DEV when an article needs to reference or embed code from a repository or gist.
Product Hunt
Community for product launches and discussions.
Choose Product Hunt when the goal is product launch posts rather than long-form developer writing.
Specific to using Forem API V1 API through Jentic.
What authentication does the Forem API V1 use?
Forem authenticates writes and personal reads with an api-key request header issued from your DEV settings page (https://dev.to/settings/extensions). Public read endpoints such as /api/articles work without a key. Through Jentic the api-key is held in the vault and added to the request server-side, so the raw key never reaches the agent.
Can I publish a DEV article through the Forem API?
Yes. POST /api/articles with title, body_markdown, optional canonical_url, and tags publishes the article. PUT /api/articles/{id} updates it and PUT /api/articles/{id}/unpublish removes it from public listing. The author identity is taken from the api-key header.
What are the rate limits for the Forem API V1?
DEV does not declare formal rate limits in this OpenAPI spec. Authenticated endpoints are CORS-disabled and intended for non-browser scripts; treat HTTP 429 as a signal to back off and slow your request rate. For sustained high-volume publishing, contact DEV before launching.
How do I list my own drafts on DEV through Jentic?
Through Jentic, search 'list my DEV unpublished drafts', load the dev.to /api/articles/me/unpublished operation, and execute it. Jentic injects the api-key from the vault and returns your unpublished articles ready to be edited.
Can I moderate users on a Forem instance with this API?
Yes, with admin privileges. PUT /api/users/{id}/suspend, PUT /api/users/{id}/spam, and PUT /api/users/{id}/trusted toggle moderation states, and DELETE variants reverse them. POST /api/admin/users creates a user. These endpoints require an admin-level api-key on the Forem instance.
How do I read comments on a specific DEV article?
Use GET /api/comments with the article id query parameter (a_id) to fetch the comment tree, and GET /api/comments/{id} to read a single comment. Comment writes are not exposed through this version of the Forem API.
/api/comments
List comments on an article or podcast
/api/organizations
Create an organization
/api/users/{id}/suspend
Suspend a user (admin)