Skip to content
Platforms

Hashnode: posting rules and settings

What a Hashnode channel accepts in Postemi: media, limits, required fields, and the fields of the settings object for the API.

Beta

New in Postemi and not yet tested with many accounts. Hashnode lets apps publish only to publications on Hashnode Pro.

Basics

Platform
Hashnode
Character limit
The platform does not specify a general limit.
Media
Only the cover image (main_image) is sent. Pictures attached to the post are not.
settings.__type
hashnode
Required fields
title, publication
Platform page

Rules

  • You connect with a Personal Access Token from hashnode.com (Settings > Developer).
  • Hashnode lets apps publish only to publications on Hashnode Pro. Without Pro the post fails with a message saying so.
  • The article is published at the scheduled time, as Markdown.
  • Beta: not yet tested with many accounts.

Settings fields

These fields go into the post's settings object, alongside the __type field. In the UI, you fill in the same ones in the channel's settings section.

FieldTypeRequiredWhat it does
titlestringyesThe article title, at least 6 characters.
subtitlestringnoA subtitle, at least 2 characters.
publicationstring (id)yesThe publication to post to (the publications function lists them).
main_image{ id: string; path: string }noThe cover image.
tags{ value: string; label: string }[]noUp to 15 tags. A Hashnode tag id or a slug as value.
canonicalstringnoThe URL of the original article.

Examples

Each example is one item in the POST /public/v1/posts request's posts array. The envelope around it is always this:

{
  "type": "schedule",
  "date": "2026-09-15T09:00:00.000Z",
  "shortLink": false,
  "posts": [ /* the item below */ ]
}
{
  "integration": { "id": "<channel-id>" },
  "value": [{ "content": "<p>The text of the post.</p>", "image": [] }],
  "settings": { "__type": "hashnode" }
}

The channel ID comes from the channel list, and the path values for images and videos from media upload. The exact schema for the connected account comes from the settings schema endpoint. From the command line, the same thing is the --settings flag. See the CLI examples.

Is something missing from this page? Email [email protected] or use the form on the Help page.