Create a Hashnode draft
hashnode_create_draftCreate a new draft in a Hashnode publication. Accepts title, markdown content, tags, cover image, and SEO settings. Draft remains unpublished until you publish it.
Instructions
Create a new draft in a Hashnode publication. Does NOT publish — use hashnode_publish_draft afterwards.
Args:
publication_id (string, required): Publication ID
title (string, required): Post title
content_markdown (string, required): Post content in Markdown
subtitle (string, optional): Short subtitle
tags (array, optional): Tags as [{ name, slug }] — slug must be lowercase with hyphens
cover_image_url (string, optional): URL of cover image
slug (string, optional): Custom URL slug (auto-generated from title if omitted)
original_article_url (string, optional): Canonical URL for cross-posted articles
meta_title (string, optional): SEO meta title
meta_description (string, optional): SEO meta description
response_format: 'markdown' or 'json'
Returns: draft id, title, slug, tags, updatedAt
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Custom URL slug (auto-generated if omitted) | |
| tags | No | Tags as [{ name: 'Cloud Computing', slug: 'cloud-computing' }] | |
| title | Yes | Post title | |
| subtitle | No | Short subtitle | |
| meta_title | No | SEO meta title | |
| publication_id | Yes | Publication ID | |
| cover_image_url | No | URL of cover image | |
| response_format | No | Output format: 'markdown' (default) or 'json' | markdown |
| content_markdown | Yes | Post content in Markdown | |
| meta_description | No | SEO meta description | |
| original_article_url | No | Canonical URL for cross-posted content |