# Hashnode

Hashnode is a blogging platform tailored for developers, offering tools to create, manage, and publish content seamlessly.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 67
- **Triggers:** 0
- **Slug:** `HASHNODE`
- **Version:** 20260312_00

## Tools

### Hashnode Accept Publication Invite

**Slug:** `HASHNODE_ACCEPT_INVITE_TO_PUBLICATION`

Tool to accept a publication invitation. Use when you have a valid invite token and want to join the publication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inviteToken` | string | Yes | Invitation token to accept. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Add Comment

**Slug:** `HASHNODE_ADD_COMMENT`

Add a comment to a Hashnode post. Requires a valid post ID (obtainable via HASHNODE_FETCH_STORIES_FEED or HASHNODE_FETCH_POSTS) and markdown content. For replying to existing comments, use the HASHNODE_ADD_REPLY action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `postId` | string | Yes | Unique identifier of the post to which the comment will be added. |
| `contentMarkdown` | string | Yes | Markdown-formatted content of the comment. This field is required by the Hashnode API. Supports standard markdown syntax including **bold**, *italic*, and links. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Add Content Block

**Slug:** `HASHNODE_ADD_CONTENT_BLOCK`

Tool to add a content block to a Hashnode documentation project. Use when you need to add embeddable content (such as code snippets, widgets, or other custom content) to a documentation project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | Label or title for the content block. This helps identify the purpose of the content block. Must be no more than 20 characters. |
| `content` | string | Yes | The actual content of the block. Can be text, HTML, or other embeddable content depending on the embed type. |
| `embedId` | string | Yes | Unique identifier for the embed. Used to identify this specific content block. |
| `projectId` | string | Yes | The documentation project ID where the content block will be added. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Add Custom MDX Component

**Slug:** `HASHNODE_ADD_CUSTOM_MDX_COMPONENT`

Tool to add a custom MDX component to a Hashnode documentation project. Use when you need to register a new reusable React component that can be used in MDX content. Requires a project ID, component identifier, and the JavaScript/React code defining the component.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The JavaScript/React code that defines the custom MDX component. Should be a valid function or component definition. |
| `projectId` | string | Yes | Unique identifier of the documentation project where the custom MDX component will be added. Obtain this via project-related actions. |
| `componentId` | string | Yes | The unique identifier for the custom MDX component. This will be used to reference the component in MDX content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Add Documentation Project Custom Domain

**Slug:** `HASHNODE_ADD_DOCUMENTATION_PROJECT_CUSTOM_DOMAIN`

Tool to add a custom domain to a Hashnode documentation project. Use when setting up custom domain mapping for documentation sites. Requires projectId, domain name, and wwwDomain boolean flag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The custom domain to add to the documentation project. Must be a valid domain name (e.g., 'docs.example.com' or 'docs.mybrand.com'). For subdomains, set wwwDomain to false. |
| `projectId` | string | Yes | Unique identifier of the documentation project to which the custom domain will be added. |
| `wwwDomain` | boolean | Yes | Whether to include www subdomain redirect (e.g., www.docs.example.com -> docs.example.com). Set to False for subdomains as the API does not allow www redirect with subdomain configurations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Add Reply

**Slug:** `HASHNODE_ADD_REPLY`

Tool to add a reply to an existing comment. Use after confirming comment ID and reply content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `commentId` | string | Yes | The globally unique ID of the comment to which this reply will be added |
| `contentMarkdown` | string | Yes | The Markdown-formatted text of the reply |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Check Custom Domain Availability

**Slug:** `HASHNODE_CHECK_CUSTOM_DOMAIN_AVAILABILITY`

Tool to check if a custom domain is available for your Hashnode publication. Use when verifying domain mapping before setup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The custom domain to check for availability. Must be a valid domain name (e.g., 'myblog.com' or 'blog.example.com'). Cannot end with '.hashnode.com'. Allowed characters: alphanumeric and hyphens in each segment. |
| `with_www_redirect` | boolean | No | Whether to enable automatic www redirect (e.g., www.myblog.com -> myblog.com). Set to True only for apex/root domains (e.g., 'myblog.com'). Must be False for subdomains (e.g., 'blog.example.com') as the API does not allow www redirect with subdomains. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Check Subdomain Availability

**Slug:** `HASHNODE_CHECK_SUBDOMAIN_AVAILABILITY`

Tool to check if a subdomain is available for a Hashnode publication. Use when verifying subdomain availability before creating a publication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subdomain` | string | Yes | The subdomain to check for availability on Hashnode (e.g., 'my-blog', 'tech-articles'). This will be used as part of the publication URL (subdomain.hashnode.dev). Must contain only lowercase letters, numbers, and hyphens. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Documentation API Reference

**Slug:** `HASHNODE_CREATE_DOCUMENTATION_API_REFERENCE`

Tool to create a documentation API reference from an OpenAPI specification URL in a Hashnode project. Use when you need to import and generate API documentation from a Swagger/OpenAPI spec. Requires projectId and the URL of the API specification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL of the API reference specification (e.g., OpenAPI/Swagger JSON or YAML file). Must be a publicly accessible URL. |
| `name` | string | No | Optional name for the API reference. If not provided, Hashnode will generate one from the API spec. |
| `slug` | string | No | Optional custom URL slug for the API reference. If not provided, Hashnode will generate one from the name. Must be unique within the project. |
| `projectId` | string | Yes | The unique identifier of the documentation project where the API reference will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Documentation Link

**Slug:** `HASHNODE_CREATE_DOCUMENTATION_LINK`

Tool to create a link within a Hashnode documentation guide. Use when you need to add external or internal links to documentation pages, such as API references, GitHub repositories, or related resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Target URL where the link will point to. Must be a valid URL (can be internal or external). |
| `label` | string | Yes | Display text for the link. This is the visible text that users will see and click on. |
| `guideSlug` | string | Yes | Slug of the guide (documentation page) where the link will be added. This identifies the specific documentation page within the project. |
| `projectId` | string | Yes | Unique identifier of the documentation project where the link will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Create Documentation Project

**Slug:** `HASHNODE_CREATE_DOCUMENTATION_PROJECT`

Tool to create a new documentation project on Hashnode. Use when you need to set up a documentation site for API references, product guides, or developer documentation. Requires a unique name and subdomain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the documentation project. This will be the display name for your documentation site. |
| `links` | object | No | External links configuration for the documentation project. |
| `logoUrl` | string | No | URL for the logo image to display on the documentation site. Should be a publicly accessible image URL. |
| `settings` | object | No | Settings configuration for the documentation project. |
| `subdomain` | string | Yes | Subdomain for the documentation project (e.g., 'my-docs' will create my-docs.hashnode.dev). Must be unique across Hashnode. |
| `favIconUrl` | string | No | URL for the favicon to display in browser tabs. Should be a publicly accessible image URL (typically .ico or .png). |
| `description` | string | No | Description of the documentation project. This will be shown in metadata and search results. Must be no more than 160 characters. |
| `logoDarkThemeUrl` | string | No | URL for the logo to display when dark theme is active. Should be a publicly accessible image URL optimized for dark backgrounds. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Create Documentation Section

**Slug:** `HASHNODE_CREATE_DOCUMENTATION_SECTION`

Tool to create a new documentation section in a Hashnode documentation guide. Use when you need to add a new section to an existing documentation guide within a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | No | The URL slug for the documentation section. If not provided, Hashnode will generate one from the label. |
| `label` | string | No | The display label for the documentation section. This is the human-readable name shown in the documentation. |
| `guideSlug` | string | Yes | The slug of the documentation guide where the section will be added. This identifies the specific guide within the project. |
| `projectId` | string | Yes | The unique identifier of the documentation project where the section will be created. |
| `versionSlug` | string | No | The version slug for the documentation section. Used when working with versioned documentation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Hashnode Documentation Guide

**Slug:** `HASHNODE_CREATE_HASHNODE_DOCUMENTATION_GUIDE`

Tool to create a new documentation guide in a Hashnode documentation project. Use when you need to create a new guide within an existing project. Requires a valid projectId and a name for the guide.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the documentation guide. This will be displayed as the title of the guide. |
| `projectId` | string | Yes | Unique identifier of the documentation project where the guide will be created. This is the parent project that will contain the guide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Delete Content Block

**Slug:** `HASHNODE_DELETE_CONTENT_BLOCK`

Tool to delete a content block from a Hashnode documentation project. Use when you need to remove a custom content block from a project. This action is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `embedId` | string | Yes | The unique identifier of the content block to delete. |
| `projectId` | string | Yes | The ID of the documentation project from which to delete the content block. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Delete Custom MDX Component

**Slug:** `HASHNODE_DELETE_CUSTOM_MDX_COMPONENT`

Tool to delete a custom MDX component from a Hashnode documentation project. Use when removing an existing custom component that is no longer needed. This action is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The ID of the documentation project from which to delete the custom MDX component. |
| `componentId` | string | Yes | The ID of the custom MDX component to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Disable Documentation Project AI Search

**Slug:** `HASHNODE_DISABLE_DOCUMENTATION_PROJECT_AI_SEARCH`

Tool to disable AI search for a documentation project on Hashnode. Use when you need to turn off AI-powered search capabilities for a specific documentation project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | Unique identifier of the documentation project to disable AI search for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Fetch Invitations

**Slug:** `HASHNODE_FETCH_INVITATIONS`

Fetch pending publication invitations for a Hashnode publication. Returns a list of pending invites that have been sent but not yet accepted. Requires the authenticated user to be a member (owner/admin/editor) of the target publication. Use this to review outstanding team invitations before sending reminders or revoking invites.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Publication ID (ObjectId). Cannot be used together with `host`. |
| `host` | string | No | Publication host/subdomain (e.g., 'blog.example.com'). Cannot be used together with `id`. |
| `page` | integer | No | Page number to return. Defaults to 1. |
| `pageSize` | integer | No | Number of pending invites per page. Defaults to 20, max 50. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Fetch Popular Tags

**Slug:** `HASHNODE_FETCH_POPULAR_TAGS`

Tool to fetch a paginated list of popular tags. Use when you need to browse popular tags page by page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor from a previous page (edges.cursor) to fetch the next set of tags. |
| `first` | integer | Yes | Number of popular tags to return (must be >=1). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Publication Posts

**Slug:** `HASHNODE_FETCH_POSTS`

Tool to fetch a paginated list of posts from a publication. Use when you need to list posts page by page for a given publication host.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | Yes | Hostname of the publication (e.g., 'blog.developerdao.com'). |
| `after` | string | No | Cursor from a previous page (endCursor) to fetch the next set of posts. |
| `first` | integer | No | Maximum number of posts to return in this page (must be >=1). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Series Posts

**Slug:** `HASHNODE_FETCH_SERIES_POSTS`

Tool to fetch posts from a series within a publication. Use when retrieving and paginating through series posts in a specific publication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination to fetch the next page of posts |
| `first` | integer | No | Number of posts to fetch (default: 10, minimum: 1) |
| `series_slug` | string | Yes | Slug of the series within the publication |
| `publication_id` | string | No | ID of the publication. Either publication_id or publication_host must be provided. |
| `publication_host` | string | No | Hostname of the publication (e.g., 'blog.developerdao.com'). Either publication_host or publication_id must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Single Article

**Slug:** `HASHNODE_FETCH_SINGLE_ARTICLE`

Tool to fetch a single article by slug from a publication. Use when you need the detailed content of a specific post.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | Yes | Hostname of the publication (e.g., 'blog.developerdao.com'). Cannot be empty. |
| `slug` | string | Yes | URL-friendly identifier (slug) of the post within the publication. A slug is typically a hyphenated version of the post title found in the post's URL. Use HASHNODE_FETCH_POSTS to discover available post slugs first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Stories Feed

**Slug:** `HASHNODE_FETCH_STORIES_FEED`

Fetch a paginated feed of stories from Hashnode. Returns posts with title, brief, author info, tags, and reading time. Supports filtering by feed type (RECENT, FEATURED, FOLLOWING, etc.), reading time range, and tags. Use cursor-based pagination via the 'after' parameter with the endCursor from previous responses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor to the last item from a previous page. |
| `first` | integer | Yes | Number of posts to return per page (1-50). Recommended: 10-20 for typical use cases. |
| `filter` | object | No | Filters to apply when fetching the home feed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Fetch User Details

**Slug:** `HASHNODE_FETCH_USER_DETAILS`

Tool to fetch detailed user profile information by username. Use when you need public or authorized profile data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `username` | string | Yes | Username of the user to fetch details for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Follow Tags

**Slug:** `HASHNODE_FOLLOW_TAGS`

Follow specified tags to customize your content feed on Hashnode. Use when you want to subscribe to content from specific tags to personalize your feed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | Yes | List of tag IDs to follow. Tag IDs can be obtained from actions like HASHNODE_POPULAR_TAGS or by querying tags. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Documentation Project Preview Authorization Token

**Slug:** `HASHNODE_GEN_DOC_PROJECT_PREVIEW_AUTH_TOKEN`

Tool to generate a JWT authorization token for previewing a documentation project. Use when you need to obtain a JWT to access a documentation project preview. Requires a preview token that must be generated first using the generateDocumentationProjectPreviewToken mutation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `token` | string | Yes | A preview token that must be generated first using the generateDocumentationProjectPreviewToken mutation. This token is used to generate the JWT authorization token for previewing the documentation project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Documentation Project

**Slug:** `HASHNODE_GET_DOCUMENTATION_PROJECT`

Tool to fetch details of a Docs by Hashnode project by ID or hostname. Use when you need metadata for a documentation project. Provide either project ID or host domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Unique identifier of the documentation project. Provide either id or host. |
| `host` | string | No | Documentation project hostname (e.g., 'docs.hashnode.com'). Do not include protocol (https://). Provide either id or host. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Post by ID

**Slug:** `HASHNODE_GET_POST`

Tool to retrieve a published post by ID from Hashnode. Use when you need to fetch detailed information about a specific post for rendering or displaying.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the post to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Publication by ID or Host

**Slug:** `HASHNODE_GET_PUBLICATION_BY_ID_OR_HOST`

Tool to fetch publication details by ID or hostname. User can provide either publication ID or host. Use when you need metadata for a given publication. Returns comprehensive publication information including author, title, description, and configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | The ID of the publication. Either id or host must be provided. |
| `host` | string | No | The hostname of the publication (e.g., 'engineering.hashnode.com' or 'username.hashnode.dev'). Do not include protocol (https://). Either id or host must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Get Tag Details

**Slug:** `HASHNODE_GET_TAG`

Tool to fetch detailed information about a tag by its slug. Use when you need tag metadata, follower/post counts, or logo information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | Yes | The tag's unique identifier slug. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Like Comment

**Slug:** `HASHNODE_LIKE_COMMENT`

Tool to like a comment on Hashnode. Use when you have a comment ID and want to add a like to that comment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `commentId` | string | Yes | The unique identifier of the comment to like. Obtain this from comment responses or when listing comments on a post. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Like Post

**Slug:** `HASHNODE_LIKE_POST`

Tool to like a post on Hashnode. Use when you want to add a like/reaction to a specific post. Requires a valid post ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `postId` | string | Yes | Unique identifier of the post to like. Obtain this via HASHNODE_FETCH_POSTS or HASHNODE_FETCH_SINGLE_ARTICLE actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Like Reply

**Slug:** `HASHNODE_LIKE_REPLY`

Tool to like a reply on Hashnode. Use when you have a reply ID and want to add a like to that reply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `replyId` | string | Yes | ID of the reply to like. |
| `commentId` | string | Yes | ID of the parent comment containing the reply to like. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: List Publications

**Slug:** `HASHNODE_LIST_PUBLICATIONS`

Tool to list all publications of the authenticated user. Use when you need your publication hostnames for downstream actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor from a previous page (endCursor) to fetch the next set of publications. |
| `first` | integer | No | Maximum number of publications to return in this page (1-50). |
| `roles` | array | No | Filter publications by user roles. Accepts any combination of: OWNER \| EDITOR \| CONTRIBUTOR |
| `sortBy` | string | No | Sort order for the user's publications. One of: DATE_CREATED_DESC \| DATE_CREATED_ASC \| DATE_UPDATED_DESC \| DATE_UPDATED_ASC |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: List Top Commenters

**Slug:** `HASHNODE_LIST_TOP_COMMENTERS`

Tool to fetch users who have most actively participated in discussions by commenting in the last 7 days. Use when you need to identify top contributors or most engaged users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor from a previous page (edges.cursor) to fetch the next set of commenters. |
| `first` | integer | Yes | Number of top commenters to return (must be between 1 and 10). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Map Documentation Project WWW Redirect

**Slug:** `HASHNODE_MAP_DOC_PROJECT_CUSTOM_DOMAIN_WWW_REDIRECT`

Tool to configure WWW redirect for a documentation project's custom domain. Use when you need to enable automatic www subdomain redirection (e.g., www.docs.example.com -> docs.example.com). The project must already have a custom domain added before calling this action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The ID of the documentation project to configure WWW redirect for. The project must already have a custom domain added via addDocumentationProjectCustomDomain mutation before calling this action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Get Current User

**Slug:** `HASHNODE_ME`

Retrieves profile details of the currently authenticated Hashnode user. Returns the user's identity (id, username, name), profile info (bio, tagline, profile picture, location), social links (website, github, twitter, linkedin), engagement metrics (followers/followings count), and badges. Use this action to get user context for personalization, verify authentication, or retrieve user data for display purposes.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Documentation Sidebar Item

**Slug:** `HASHNODE_MOVE_DOCUMENTATION_SIDEBAR_ITEM`

Tool to reorder documentation sidebar items within a Hashnode guide. Use when you need to change the position of a sidebar item or move it under a different parent section. Requires the projectId, guideSlug, and itemId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `itemId` | string | Yes | The unique identifier of the sidebar item to be repositioned. |
| `parentId` | string | No | Optional ID of the new parent item. If provided, the item will become a child of this parent item. |
| `position` | integer | No | Optional one-based position index where the item should be moved. Must be at least 1. If not provided, the item will be moved to the end of its sibling list. |
| `guideSlug` | string | Yes | The slug identifier of the guide containing the sidebar item to move. |
| `projectId` | string | Yes | The unique identifier of the documentation project containing the guide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish Documentation API Reference

**Slug:** `HASHNODE_PUBLISH_DOCUMENTATION_API_REFERENCE`

Tool to publish a documentation API reference in a Hashnode documentation project. Use when you need to make an API reference guide publicly available. Requires a projectId and guideSlug.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guideSlug` | string | Yes | URL slug of the API reference guide to publish. This slug identifies the specific API reference within the documentation project. |
| `projectId` | string | Yes | Unique identifier of the documentation project where the API reference will be published. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Publish Post

**Slug:** `HASHNODE_PUBLISH_POST`

Tool to publish a new blog post to a Hashnode publication. Use when you need to create and immediately publish an article. Requires a publicationId (obtainable via HASHNODE_LIST_PUBLICATIONS), title, and markdown content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | No | Custom URL slug for the post. If not provided, Hashnode will generate one from the title. Must be unique within the publication. |
| `tags` | array | No | List of tags to associate with the post. Each tag is a dictionary with 'slug' and 'name' keys. Use existing Hashnode tags for better discoverability. |
| `title` | string | Yes | Title of the post. This is the main heading that will appear at the top of the article. |
| `seriesId` | string | No | ID of the series to add this post to. The series must already exist in the publication. |
| `subtitle` | string | No | Subtitle or brief description of the post. Appears below the title. |
| `coverImageURL` | string | No | URL of the cover image for the post. Should be a publicly accessible image URL. |
| `publicationId` | string | Yes | Unique identifier of the publication where the post will be published. Obtain this via HASHNODE_LIST_PUBLICATIONS or GET_PUBLICATION actions. |
| `contentMarkdown` | string | Yes | Content of the post in Markdown format. Supports standard markdown syntax including headings, lists, code blocks, links, and images. |
| `disableComments` | boolean | No | Set to true to disable comments on this post. Defaults to false (comments enabled). |
| `originalArticleURL` | string | No | Original article URL if this post was originally published elsewhere. Used for SEO to indicate the original source (canonical URL). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Remove Comment

**Slug:** `HASHNODE_REMOVE_COMMENT`

Tool to remove a comment from a Hashnode post. Use after confirming the comment ID. Returns the ID of the removed comment upon success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique ID of the comment to remove. Obtain this from the response of add_comment or when listing comments on a post. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Remove Documentation Guide

**Slug:** `HASHNODE_REMOVE_DOCUMENTATION_GUIDE`

Tool to remove a documentation guide from a Hashnode project. Use after confirming the project ID and guide slug. This action is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guideSlug` | string | Yes | The slug of the guide to be removed. |
| `projectId` | string | Yes | The ID of the documentation project containing the guide to remove. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Documentation Project

**Slug:** `HASHNODE_REMOVE_DOCUMENTATION_PROJECT`

Tool to remove a documentation project from Hashnode. This action frees the custom domain and subdomain and removes all guides and pages. Use after confirming the project ID to be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The ID of the documentation project that should be removed. This will free the custom domain and subdomain and removes all guides and pages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Remove Documentation Project Custom Domain

**Slug:** `HASHNODE_REMOVE_DOCUMENTATION_PROJECT_CUSTOM_DOMAIN`

Tool to remove a custom domain from a Hashnode documentation project. Use when you need to detach a custom domain from a documentation project, reverting it to use only the Hashnode subdomain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The unique identifier of the documentation project from which to remove the custom domain. Must be a valid documentation project ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Documentation Sidebar Item

**Slug:** `HASHNODE_REMOVE_DOCUMENTATION_SIDEBAR_ITEM`

Tool to remove a sidebar item from a documentation guide on Hashnode. Use when you need to delete a section or page from a guide's sidebar navigation. This action is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `itemId` | string | Yes | The ID of the sidebar item to remove. This can be a section or page ID. |
| `guideSlug` | string | Yes | The slug of the guide containing the sidebar item to remove. |
| `projectId` | string | Yes | The ID of the documentation project containing the guide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Remove Post

**Slug:** `HASHNODE_REMOVE_POST`

Tool to remove (delete) a post from Hashnode. Use after confirming the post ID to be deleted. This action is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the post to be removed. Obtain this from HASHNODE_FETCH_POSTS, HASHNODE_FETCH_SINGLE_ARTICLE, or HASHNODE_STORIES_FEED actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Remove Reply

**Slug:** `HASHNODE_REMOVE_REPLY`

Tool to remove a reply from a comment. Use after confirming comment and reply IDs. Returns the removed reply details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `replyId` | string | Yes | ID of the reply to be removed |
| `commentId` | string | Yes | ID of the comment containing the reply to remove |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Rename Documentation Guide

**Slug:** `HASHNODE_RENAME_DOCUMENTATION_GUIDE`

Tool to rename a documentation guide in a Hashnode project. Use when you need to update the name of an existing guide. Requires the projectId, guideSlug, and new name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The new name for the guide. |
| `guideSlug` | string | Yes | The slug of the guide to rename. |
| `projectId` | string | Yes | The ID of the documentation project containing the guide to rename. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Rename Documentation Sidebar Item

**Slug:** `HASHNODE_RENAME_DOCUMENTATION_SIDEBAR_ITEM`

Tool to rename a documentation sidebar item within a Hashnode guide. Use when you need to update the display label of a sidebar item (link, page, or section). Requires the projectId, guideSlug, itemId, and new label.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | The new label/name for the sidebar item. |
| `itemId` | string | Yes | The unique identifier of the sidebar item to be renamed. |
| `guideSlug` | string | Yes | The slug identifier of the guide containing the sidebar item to rename. |
| `projectId` | string | Yes | The unique identifier of the documentation project containing the guide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Restore Post

**Slug:** `HASHNODE_RESTORE_POST`

Tool to restore a previously deleted Hashnode post. Use when you need to undo a post deletion and make the post accessible again. Requires the post ID of the deleted post.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the deleted post to restore. This is the post ID that was returned when the post was originally created or deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Documentation Page Draft Content

**Slug:** `HASHNODE_SAVE_DOCUMENTATION_PAGE_DRAFT_CONTENT`

Tool to save draft content for a documentation page in Hashnode. Use when you need to update the content, title, or description of an existing documentation page draft. Requires pageId and projectId, along with at least one of content, title, or description.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | The title of the documentation page. This is the main heading that will appear at the top. |
| `pageId` | string | Yes | The unique identifier of the documentation page draft to update. |
| `content` | string | No | The markdown content of the documentation page. Supports standard markdown syntax including headings, lists, code blocks, links, and images. |
| `guideId` | string | No | The unique identifier of the guide this page belongs to. Provide either guideSlug or guideId. |
| `guideSlug` | string | No | The slug identifier of the guide this page belongs to. Provide either guideSlug or guideId. |
| `projectId` | string | Yes | The unique identifier of the documentation project containing the page. |
| `description` | string | No | The description or meta description of the page. Used for SEO and page summaries. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Posts of Publication

**Slug:** `HASHNODE_SEARCH_POSTS_OF_PUBLICATION`

Tool to search and retrieve posts from a specific publication based on a search query. Use when you need to find posts matching specific keywords within a particular Hashnode publication. Supports pagination and sorting by publication date.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination - to fetch posts after a specific cursor from previous response. |
| `first` | integer | Yes | Number of posts to return (pagination limit, must be 1-100). |
| `filter` | object | Yes | Filter criteria including publication ID and search query string. |
| `sortBy` | string ("DATE_PUBLISHED_ASC" | "DATE_PUBLISHED_DESC") | No | Sort order options for posts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Subscribe to Newsletter

**Slug:** `HASHNODE_SUBSCRIBE_TO_NEWSLETTER`

Tool to subscribe an email address to a Hashnode publication's newsletter. Use when you need to add a subscriber to a publication's mailing list. Requires a publicationId (obtainable via HASHNODE_LIST_PUBLICATIONS or GET_PUBLICATION) and a valid email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to subscribe to the newsletter. Must be a valid email format. |
| `publicationId` | string | Yes | Unique identifier of the publication to subscribe to. Obtain this via HASHNODE_LIST_PUBLICATIONS or GET_PUBLICATION actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Toggle Follow User

**Slug:** `HASHNODE_TOGGLE_FOLLOW_USER`

Tool to toggle follow status for a Hashnode user. If you don't follow the user, this will follow them. If you already follow them, this will unfollow them. Use when you need to manage following relationships for the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | The ID of the user to toggle follow status for. Either id or username must be provided. |
| `username` | string | No | The username of the user to toggle follow status for. Either id or username must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Unfollow Tags

**Slug:** `HASHNODE_UNFOLLOW_TAGS`

Unfollow specified tags to customize your content feed on Hashnode. Use when you want to unsubscribe from content from specific tags to personalize your feed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | Yes | List of tag IDs to unfollow. Tag IDs can be obtained from actions like HASHNODE_POPULAR_TAGS or by querying tags. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unsubscribe from Newsletter

**Slug:** `HASHNODE_UNSUBSCRIBE_FROM_NEWSLETTER`

Tool to unsubscribe an email address from a Hashnode publication's newsletter. Use when you need to remove a subscriber from a publication's mailing list. Requires a publicationId (obtainable via HASHNODE_LIST_PUBLICATIONS or GET_PUBLICATION) and a valid email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to unsubscribe from the newsletter. Must be a valid email format. |
| `publicationId` | string | Yes | Unique identifier of the publication to unsubscribe from. Obtain this via HASHNODE_LIST_PUBLICATIONS or GET_PUBLICATION actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Update Comment

**Slug:** `HASHNODE_UPDATE_COMMENT`

Tool to update an existing comment on a Hashnode post. Use after preparing updated content details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique ID of the comment to update. Obtain this from the response of add_comment or when listing comments on a post. |
| `contentMarkdown` | string | Yes | The new content for the comment in Markdown format. Supports standard Markdown syntax including **bold**, *italic*, links, code blocks, and lists. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Update Content Block

**Slug:** `HASHNODE_UPDATE_CONTENT_BLOCK`

Tool to update a content block in a Hashnode documentation project. Use when you need to modify the label or content of an existing embeddable content block (such as code snippets, widgets, or other custom content).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | Updated label for the content block. Maximum length is 20 characters. |
| `content` | string | Yes | Updated content of the block. Can be text, HTML, or other embeddable content depending on the embed type. |
| `embedId` | string | Yes | Unique identifier of the content block to update. |
| `projectId` | string | Yes | The ID of the documentation project containing the content block to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Documentation Appearance

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_APPEARANCE`

Tool to update the appearance settings of a Hashnode documentation project. Use when you need to customize the look and feel of a documentation site, including logos, colors, themes, and custom scripts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The ID of the documentation project to update. Obtain this from create_documentation_project or get_documentation_project actions. |
| `appearance` | object | Yes | Appearance settings to update. At least one appearance field should be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Documentation General Settings

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_GENERAL_SETTINGS`

Tool to update general settings of a Hashnode documentation project. Use when you need to modify the name, description, custom CSS, or external links of an existing documentation site. Requires the project ID and at least one field to update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the documentation project. Updates the display name for your documentation site. |
| `links` | object | No | External links configuration for the documentation project. |
| `projectId` | string | Yes | The ID of the documentation project to update. Obtain this from get_documentation_project or hashnode_create_documentation_project actions. |
| `description` | string | No | The description of the documentation project. This will be shown in metadata and search results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Hashnode Documentation Guide

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_GUIDE`

Tool to update an existing documentation guide in a Hashnode project. Use when you need to modify the name, slug, or SEO meta tags of a guide. Requires the projectId and guideId of the guide to update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name/title for the guide. If not provided, the existing name will be preserved. |
| `slug` | string | No | The new URL-friendly slug for the guide. If not provided, the existing slug will be preserved. |
| `guideId` | string | Yes | The ID of the documentation guide to update. |
| `metaTags` | object | No | SEO meta tags for the documentation guide. |
| `projectId` | string | Yes | The ID of the documentation project containing the guide to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Update Documentation Integrations

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_INTEGRATIONS`

Tool to update third-party integrations for a Docs by Hashnode project. Use when you need to configure analytics (Google Analytics, Clarity), tag management (GTM), customer support (Intercom), marketing pixels (Facebook Pixel, Hotjar), or visitor tracking (Koala) on a documentation site.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The unique identifier of the documentation project to update integrations for. Obtain this from get_documentation_project or hashnode_create_documentation_project actions. |
| `integrations` | object | Yes | Configuration object containing the third-party integration settings to update. Provide only the integrations you want to configure; null values will remove existing integrations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Documentation Link

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_LINK`

Tool to update an existing link within a Hashnode documentation guide. Use when you need to modify the label or URL of a documentation link. Requires the project ID, guide slug, link ID, and updated label (URL is optional).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Updated target URL where the link will point to. Must be a valid URL (can be internal or external). If not provided, the existing URL will be retained. |
| `label` | string | Yes | Updated display text for the link. This is the visible text that users will see and click on. |
| `linkId` | string | Yes | Unique identifier of the link to update. Obtain this from the createDocumentationLink response or by querying existing links. |
| `guideSlug` | string | Yes | Slug of the guide (documentation page) where the link exists. This identifies the specific documentation page within the project. |
| `projectId` | string | Yes | Unique identifier of the documentation project containing the link. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode: Update Documentation Project Subdomain

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_PROJECT_SUBDOMAIN`

Tool to update the subdomain of a Hashnode documentation project. Use when you need to change the subdomain (e.g., from 'old-docs.hashnode.dev' to 'new-docs.hashnode.dev') for a documentation project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The unique identifier of the documentation project to update. Must be a valid documentation project ID. |
| `subdomain` | string | Yes | The new subdomain for the documentation project (e.g., 'my-docs' will create my-docs.hashnode.dev). Must be unique across Hashnode and follow subdomain naming rules. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Update Documentation Section

**Slug:** `HASHNODE_UPDATE_DOCUMENTATION_SECTION`

Tool to update a section in a Hashnode documentation guide. Use when you need to modify the label, slug, or visibility of an existing documentation section.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | No | The new URL slug for the section. If not provided, the existing slug will be retained. |
| `label` | string | No | The new display label for the section. If not provided, the existing label will be retained. |
| `guideSlug` | string | Yes | The slug of the guide containing the section to update. This identifies the specific guide within the project. |
| `projectId` | string | Yes | The unique identifier of the documentation project containing the section to update. |
| `sectionId` | string | Yes | The unique identifier of the section to update. |
| `visibility` | string ("PUBLIC") | No | Visibility setting for documentation sidebar items. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Update Post

**Slug:** `HASHNODE_UPDATE_POST`

Tool to update an existing Hashnode post via the updatePost mutation. Use when you need to modify the title, content, tags, or other attributes of an already published or drafted post.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique ID of the post to update. Obtain this from fetch_single_article, hashnode_fetch_posts, or other post-fetching actions. |
| `slug` | string | No | New slug for the post URL. If not provided, the existing slug will be retained. |
| `tags` | array | No | List of tags to associate with the post. Each tag must have a slug and name. |
| `title` | string | No | New title for the post. If not provided, the existing title will be retained. |
| `subtitle` | string | No | New subtitle for the post. If not provided, the existing subtitle will be retained. |
| `canonicalUrl` | string | No | Canonical URL if the post was originally published elsewhere. Helps with SEO and attribution. |
| `coverImageURL` | string | No | URL of the cover image for the post. Must be a valid image URL. |
| `publicationId` | string | No | ID of the publication to update the post under. If not provided, the post remains in its current publication. |
| `contentMarkdown` | string | No | New content for the post in Markdown format. Supports standard Markdown syntax including **bold**, *italic*, links, code blocks, and lists. If not provided, the existing content will be retained. |
| `disableComments` | boolean | No | Whether to disable comments on the post. Set to true to disable, false to enable. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Update Reply

**Slug:** `HASHNODE_UPDATE_REPLY`

Tool to update a reply. Use when editing an existing reply to a comment after confirming the comment and reply IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `replyId` | string | Yes | ID of the reply to update. |
| `commentId` | string | Yes | ID of the comment under which the reply exists. |
| `contentMarkdown` | string | Yes | New content for the reply in Markdown format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hashnode Verify Documentation Project Custom Domain

**Slug:** `HASHNODE_VERIFY_DOCUMENTATION_PROJECT_CUSTOM_DOMAIN`

Tool to verify a custom domain for a Hashnode documentation project. Use when you need to confirm DNS configuration and activate a custom domain that was previously added to the project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The unique identifier of the documentation project for which to verify the custom domain. Must be a valid documentation project ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
