Connect DEV to Fondoo
Connecting DEV (dev.to) lets your business publish and manage technical articles on the DEV Community. Your AI agent can create drafts, update articles and cross-post your blog posts with a link back to the original. You connect with a DEV API key, which you paste into Fondoo's secure form.
What Fondoo can do with it
Fondoo offers two ways to use DEV. You can use either or both.
1. DEV as a content connector (recommended)
Your agent uses connector_action with these actions:
posts.list(read): list your articles, including drafts, withpageandper_page.posts.get(read): read one article by ID.posts.create(write): create an article. DEV accepts fields such astitle,body_markdown,published,tags(up to 4, comma-separated),series,main_image,descriptionandcanonical_url(Forem API). DEV saves articles as drafts unlesspublishedistrue.posts.update(write): change an existing article.
connect_cms can also bind DEV to a site so Fondoo's shared content operations use it. Most businesses do not need this.
2. DEV as a social cross-post channel (through Upload-Post)
- Post a Markdown article (up to 250,000 characters) with a title of 3 to 250 characters (
devto_title). - Every cross-post needs
canonicalUrl, anhttps://link to the original article. Fondoo adds "Original source: " to the end of the body so readers can find it. - Uses
draft_social_posts,save_social_draftandschedule_social_posts, with the same calendar and approval queue as your other social networks. No stats and no deleting after publishing.
What needs your approval:
- Connector actions are reads and writes, not destructive actions, so Fondoo does not add an approval step for them by default. Ask your agent to create articles with
published: falseso you can review them on DEV before publishing. - Social cross-posts need the owner's approval by default, through
approve_social_posts. - Only the owner can change posting rules (
update_distribution_rules) or delete the connection.
Before you start
- A DEV account. Articles appear under that account's name. If you post for an organization on DEV, you need to be a member of it.
- Original content, or a canonical link. If the article first appeared on your own site, always set the canonical URL so search engines credit your site.
- Cost: DEV and its API key are free. The content connector is part of your Fondoo plan. Social cross-posts count toward your social sets (Builder and Launch: one, Growth: three, Agency: ten).
Step by step: get your credentials
You need one value: a DEV API key.
- Sign in at dev.to.
- Open Settings → Extensions, or go straight to dev.to/settings/extensions. Fondoo's connector and Upload-Post both point here. If your account shows the section elsewhere, look for DEV Community API Keys in your settings; the Forem docs only say keys are made "via their settings page" (Forem API).
- In DEV Community API Keys, type a description such as
Fondoo. - Click Generate API Key.
- Copy the key. DEV keys have no scopes to tick: a key can do anything your account can do through the API, so keep it private.
The key goes in the apiKey field (content connector) or api_key (social cross-post).
Connect it in Fondoo
(a) In the dashboard
- Open Connections → Available. DEV is listed under Content. Use the search box if you do not see it.
- Click Use a key. Fondoo creates a secure paste page that works once and expires after 15 minutes.
- Click Open secure key entry, paste the API key and save. The key is encrypted and never shown in chat.
- Back on Connections, click Check connection on the DEV card.
(b) By asking your agent
Connect our DEV account. Send me a secure link to paste the API key, then test it and list our draft articles.
connect_service({provider:"devto", siteId:"YOUR-SITE-UUID"}) // signed setup instructions
add_connection_key({provider:"devto", siteId:"YOUR-SITE-UUID"}) // no fields: returns a secure paste link
test_connection({connectionId:"CONNECTION-UUID"})
connector_action({connectionId:"CONNECTION-UUID", action:"posts.list", input:{page:1, per_page:30}})REST equivalent:
curl -X POST https://api.getfondoo.com/v1/ops/add_connection_key \
-H "Authorization: Bearer $FONDOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"devto","siteId":"YOUR-SITE-UUID"}'Always call add_connection_key without fields. If an agent sends the key directly, Fondoo warns that it may stay in chat logs.
Social cross-post path. Your agent creates the set with connect_social({siteId, provider:"upload_post", network:"devto", redirectUrl}). Then the owner sends the key with REST (not through chat): POST /v1/ops/configure_upload_post_platform with {"siteId":"...","connectionId":"...","network":"devto","credential":{"api_key":"...","name":"DEV"}}, and runs refresh_social_accounts. The owner also enables DEV with update_distribution_rules. Each post needs devto_title and canonicalUrl in its details.
Test that it works
test_connectionshould returnconnectedwithuser.readconfirmed. Write actions show as "unknown" at this point; Fondoo does not guess write access from a read.- Ask your agent to create a test article with
published: false. - Open your DEV dashboard. The draft should be there. Delete it on DEV when done.
Troubleshooting
- 401 Unauthorized: the key was revoked or mistyped. Generate a new key and call
rotate_connection_keywithout fields to get a secure paste link. - Article published by mistake: set
publishedtofalsewithposts.update, or unpublish it on DEV. - 422 on create: usually a missing title, more than 4 tags, or invalid front matter in
body_markdown. - "devto requires canonicalUrl" or "Canonical source must be an HTTPS URL": social cross-posts need an
https://link to the original. - "Unsupported DEV capability": only
posts.list,posts.get,posts.createandposts.updateexist. Deleting is not available through Fondoo. - 429 Too Many Requests: DEV limits how fast you can create articles. Wait and retry. Fondoo also keeps its own budget of 60 connector requests per minute.
Limits, data and security
- Limits: DEV does not publish exact API rate limits in its reference. Fondoo budgets 60 requests per minute, reports a 429 as
rate_limitedand passes on DEV'sRetry-Aftertime. - What Fondoo stores: for the content connector, the API key encrypted in Fondoo's connection vault.
list_connectionsshows the key only as[redacted]. For the social path, the key is sent to Upload-Post, which stores it encrypted; Fondoo keeps no copy. - Rotate: generate a new key on DEV, then call
rotate_connection_key({connectionId})without fields. It returns a secure paste link for the new key. Revoke the old key on DEV afterwards. - Disconnect:
delete_connection({connectionId})removes the stored key from Fondoo (an agent needs your approval). Then revoke the key in DEV's settings, because deleting it in Fondoo does not revoke it at DEV.
Official links
- Forem (DEV) API v1 reference: https://developers.forem.com/api/v1
- Forem API overview: https://developers.forem.com/api
- DEV API key settings: https://dev.to/settings/extensions
- Upload-Post: connecting Dev.to: https://docs.upload-post.com/guides/connecting-accounts
