Connect Hashnode first
- 01
In Hashnode settings, create a personal access token.
- 02
Open Accounts in 1Post and choose Connect, then Hashnode.
- 03
Paste the token.
- 04
Choose the publication in the composer.
Then GET /v1/accounts returns the id of the Hashnode publication to use in the request.
Send a post to Hashnode
curl https://api.get1post.com/v1/posts \
-H "Authorization: Bearer $ONEPOST_API_KEY" \
-H "Idempotency-Key: hashnode-first-post" \
-d '{"accounts":["ACCOUNT_ID"],"text":"What changed in version 2.","schedule_at":"2026-11-02T15:00:00Z"}'The reply is 202 with the post (status scheduled) and one destination for Hashnode, which moves from queued to published or failed.
What you can send to Hashnode
- Article
- Cover image
- Tags
- Original URL
Hashnode rules the request is checked against
| Rule | What 1Post checks |
|---|---|
| Text limit | No length check |
| Media accepted | Images |
| Images per post | 1 |
| Threads | No |
| First comment | No |
| Posts per day, per connected account (1Post) | 5 |
The same table with sources is on the Hashnode specs page.
Good to know for Hashnode
A Hashnode post goes to one publication, so connect the publication you want and use its account id. Send the original address if the article first appeared elsewhere.
Check the post before it is queued
Add "dry_run": true to test a post: nothing is kept, a valid one answers 200 and a broken one answers 422 naming the rule.
{
"error": {
"code": "invalid_for_platform",
"message": "hashnode refuses this post: Hashnode needs some content. (empty_text).",
"fix": "Fix the rule named in the message and send the post again.",
"retryable": false,
"request_id": "REQUEST_ID"
}
}An assistant connected to the MCP server sends the same fields to create_post; set one up.