### Get Started Configuration Example (JSON) Source: https://apidocs.hashnode.com/index Illustrates the configuration for a 'Get Started' guide within a documentation project, specifying a label and a URL for the guide. ```JSON { "label": "xyz789", "url": "http://www.test.com/" } ``` -------------------------------- ### Get Started Input Configuration Source: https://apidocs.hashnode.com/index This section defines the input structure for configuring the 'Get Started' section, allowing for a label and a URL. ```APIDOC ## DocumentationProjectGetStartedInput ### Description Input for configuring the 'Get Started' section, allowing for a label and a URL. ### Input Fields - **label** (String) - The text to display for the 'Get Started' link. - **url** (URL) - The URL the 'Get Started' link should navigate to. ### Example ```json { "label": "Get Started Now", "url": "https://docs.example.com/quickstart" } ``` ``` -------------------------------- ### Get Started Configuration Source: https://apidocs.hashnode.com/index This section defines the structure for configuring the 'Get Started' section of a documentation project, including a label and a URL. ```APIDOC ## DocumentationProjectGetStarted ### Description Configuration for the 'Get Started' link or button displayed in the documentation project. ### Fields - **label** (String!) - The text displayed for the 'Get Started' link. - **url** (URL!) - The URL the 'Get Started' link points to. ### Example ```json { "label": "Learn More", "url": "https://docs.example.com/getting-started" } ``` ``` -------------------------------- ### Guide Version Example Source: https://apidocs.hashnode.com/index An example JSON object representing a specific version of a guide. It includes details such as ID, slug, name, and metadata like creation and update timestamps. ```json { "id": "4", "slug": "xyz789", "name": "abc123", "codeName": "xyz789", "isDefault": false, "visibility": "PUBLIC", "status": "STABLE", "forkedFrom": IGuideVersion, "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z" } ``` -------------------------------- ### IGuide Example Source: https://apidocs.hashnode.com/index Example JSON object representing a guide, including its metadata, status, and provider. ```json { "id": 4, "slug": "xyz789", "name": "abc123", "status": "UNPUBLISHED", "seo": SEO, "ogMetaData": OpenGraphMetaData, "isLocked": true, "lastModified": "2007-12-03T10:15:30Z", "versionId": "abc123", "provider": "HASHNODE" } ``` -------------------------------- ### GuideProvider Enum Example Source: https://apidocs.hashnode.com/index Example of a GuideProvider enum value, specifying the source of the guide. ```json "HASHNODE" ``` -------------------------------- ### Create Documentation Section Example Source: https://apidocs.hashnode.com/index Provides an example of the input needed to create a new section within a documentation project, including project ID, guide slug, and section details. ```json { "projectId": 4, "guideSlug": "abc123", "versionSlug": "xyz789", "label": "abc123", "slug": "abc123" } ``` -------------------------------- ### URL Example Source: https://apidocs.hashnode.com/index Example of a URL string. ```string "http://www.test.com/" ``` -------------------------------- ### Example Project Data Source: https://apidocs.hashnode.com/index This JSON object represents an example of project data, including project ID, guide slug, section ID, slug, label, and visibility. ```json { "projectId": "4", "guideSlug": "abc123", "sectionId": 4, "slug": "xyz789", "label": "abc123", "visibility": "PUBLIC" } ``` -------------------------------- ### PublishDocumentationGuidePayload Example Source: https://apidocs.hashnode.com/index This JSON structure represents the payload for publishing a documentation guide. It includes a 'guide' field which is of type DocumentationGuide. ```json { "guide": DocumentationGuide } ``` -------------------------------- ### DocumentationGuideItem Example Source: https://apidocs.hashnode.com/index Represents an item within a documentation guide. Includes fields for ID, label, associated guide, and creation/update timestamps. ```json { "id": "4", "label": "abc123", "guide": DocumentationGuide, "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z" } ``` -------------------------------- ### Example ProjectVisitorsEdge Source: https://apidocs.hashnode.com/index Example of a ProjectVisitorsEdge, containing visitor node information and a cursor for pagination. ```json { "node": DocsVisitors, "cursor": "abc123" } ``` -------------------------------- ### WWW Domain Configuration Example (JSON) Source: https://apidocs.hashnode.com/index Shows the configuration details for a WWW subdomain within a custom domain setup. It specifies the status of the WWW domain and its verification timestamp. ```JSON { "status": "VALID", "verifiedAt": "2007-12-03T10:15:30Z" } ``` -------------------------------- ### DocumentationGuideStatus Enum Example Source: https://apidocs.hashnode.com/index Example value for the DocumentationGuideStatus enumeration, specifically 'UNPUBLISHED'. This status indicates that a guide is not yet publicly available. ```plaintext "UNPUBLISHED" ``` -------------------------------- ### Create Documentation Guide Source: https://apidocs.hashnode.com/index Creates a new documentation guide. ```APIDOC ## POST /api/createDocumentationGuide ### Description Creates a new documentation guide. ### Method POST ### Endpoint /api/createDocumentationGuide ### Parameters #### Request Body - **input** (CreateDocumentationGuideInput!) - Input object for creating the documentation guide. ### Request Example ```json { "query": "mutation CreateDocumentationGuide($input: CreateDocumentationGuideInput!) { createDocumentationGuide(input: $input) { guide { id slug name status seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } isLocked lastModified versionId sidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } publishedSidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } page { ...DocumentationPageFragment } publishedPage { ...DocumentationPageFragment } redirectedPublishedPage { ...DocumentationPageFragment } hasChanges provider } } }", "variables": { "input": "CreateDocumentationGuideInput" } } ``` ### Response #### Success Response (200) - **data** (object) - The response data. - **createDocumentationGuide** (object) - Payload containing the created documentation guide. - **guide** (DocumentationGuide) - The newly created documentation guide object. #### Response Example ```json { "data": { "createDocumentationGuide": { "guide": "DocumentationGuide" } } } ``` ``` -------------------------------- ### Create Documentation Guide Mutation Source: https://apidocs.hashnode.com/index This mutation creates a new documentation guide. It takes a CreateDocumentationGuideInput and returns comprehensive details about the created guide, including its structure and published versions. ```graphql mutation CreateDocumentationGuide($input: CreateDocumentationGuideInput!) { createDocumentationGuide(input: $input) { guide { id slug name status seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } isLocked lastModified versionId url sidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } publishedSidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } page { ...DocumentationPageFragment } publishedPage { ...DocumentationPageFragment } redirectedPublishedPage { ...DocumentationPageFragment } hasChanges provider } } } {"input": CreateDocumentationGuideInput} { "data": { "createDocumentationGuide": { "guide": DocumentationGuide } } } ``` -------------------------------- ### PublishDocumentationApiReferencePayload Example (JSON) Source: https://apidocs.hashnode.com/index An example JSON object representing the payload returned after publishing an API reference documentation. It contains the 'guide' object which is the documentation API reference. ```json {"guide": DocumentationApiReference} ``` -------------------------------- ### Guide Version Fields Source: https://apidocs.hashnode.com/index Details the fields available for a guide version on Hashnode. ```APIDOC ## Guide Version Object ### Description Represents a specific version of a guide on Hashnode. ### Fields * **id** (ID!) - Unique identifier for the guide version. * **slug** (String!) - URL-friendly identifier for the version. * **name** (String!) - Display name of the version. * **codeName** (String) - Internal code name for the version. * **isDefault** (Boolean!) - Indicates if this is the default version. * **visibility** (DocumentationGuideVisibility!) - Visibility of the guide version. * **status** (GuideVersionStatus!) - Status of the guide version. * **forkedFrom** (IGuideVersion) - The version that this version was forked from. * **createdAt** (DateTime!) - Timestamp of when the version was created. * **updatedAt** (DateTime) - Timestamp of the last update to the version. ### Example ```json { "id": "4", "slug": "xyz789", "name": "abc123", "codeName": "xyz789", "isDefault": false, "visibility": "PUBLIC", "status": "STABLE", "forkedFrom": "IGuideVersion", "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z" } ``` ``` -------------------------------- ### Feed Type Example (String) Source: https://apidocs.hashnode.com/index Example of a feed type, specifically 'FOLLOWING', as a string. ```String "FOLLOWING" ``` -------------------------------- ### Create Documentation Guide Source: https://apidocs.hashnode.com/index This endpoint allows you to create a new documentation guide within a project. ```APIDOC ## POST /api/documentation/createGuide ### Description Creates a new documentation guide for a given project. ### Method POST ### Endpoint /api/documentation/createGuide ### Parameters #### Request Body - **projectId** (ID!) - Required - The ID of the project. - **name** (String!) - Required - The name of the guide. - **slug** (String) - Optional - The slug for the guide. ### Request Example ```json { "projectId": "4", "name": "xyz789", "slug": "abc123" } ``` ### Response #### Success Response (200) - **guide** (DocumentationGuide!) - The created documentation guide. #### Response Example ```json { "guide": DocumentationGuide } ``` ``` -------------------------------- ### Publish Documentation Guide Mutation Source: https://apidocs.hashnode.com/index This mutation publishes the default version of a guide. It takes a PublishDocumentationGuideInput and returns the guide's details, including sidebar items and page information. Use `publishDocumentationGuideVersion` instead. ```graphql mutation PublishDocumentationGuide($input: PublishDocumentationGuideInput!) { publishDocumentationGuide(input: $input) { guide { id slug name status seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } isLocked lastModified versionId url sidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } publishedSidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } page { ...DocumentationPageFragment } publishedPage { ...DocumentationPageFragment } redirectedPublishedPage { ...DocumentationPageFragment } hasChanges provider } } } ``` ```json {"input": PublishDocumentationGuideInput} ``` ```json { "data": { "publishDocumentationGuide": { "guide": DocumentationGuide } } } ``` -------------------------------- ### DocumentationProjectAppearance Fields Source: https://apidocs.hashnode.com/index This JSON snippet lists the fields related to the appearance of a documentation project, including logo URLs for different themes, favicon URL, primary color, default documentation theme, get started guide, and custom scripts. ```json { "logoUrl": "String", "logoDarkThemeUrl": "String", "favIconUrl": "String", "primaryColor": "String", "defaultDocsTheme": "DefaultDocsTheme!", "getStarted": "DocumentationProjectGetStarted", "customScript": "String" } ``` -------------------------------- ### JSON Example for Grouped by Guide Visitors Source: https://apidocs.hashnode.com/index This JSON object represents aggregated visitors grouped by documentation guide. It includes the guide ID, total visitors, and a placeholder for the guide information. ```json { "id": "4", "total": 123, "guide": DocumentationGuide } ``` -------------------------------- ### DocumentationProjectSubscription Example Source: https://apidocs.hashnode.com/index Provides an example of subscription details, including status, product name, next billing cycle, and maximum seats allowed. ```json { "status": "ACTIVE", "productName": "STARTUP", "nextBillingCycle": "2007-12-03T10:15:30Z", "maxSeats": 123 } ``` -------------------------------- ### DocumentationGuide Full Example Source: https://apidocs.hashnode.com/index A comprehensive example of a DocumentationGuide JSON object, showcasing all possible fields including detailed metadata, versioning, sidebar and page content references, and change tracking. ```json { "id": "4", "slug": "xyz789", "name": "xyz789", "status": "UNPUBLISHED", "seo": SEO, "ogMetaData": OpenGraphMetaData, "isLocked": true, "lastModified": "2007-12-03T10:15:30Z", "versionId": "xyz789", "url": "xyz789", "sidebarItems": [DocumentationSection], "publishedSidebarItems": [DocumentationSection], "page": DocumentationPage, "publishedPage": DocumentationPage, "redirectedPublishedPage": DocumentationPage, "hasChanges": false, "provider": "HASHNODE" } ``` -------------------------------- ### JSON Example for Grouped by Guide Views Source: https://apidocs.hashnode.com/index This JSON object represents aggregated views grouped by documentation guide. It includes the guide ID, total views, and a placeholder for the guide information. ```json { "id": "4", "total": 987, "guide": DocumentationGuide } ``` -------------------------------- ### Create Documentation Project Example Source: https://apidocs.hashnode.com/index Demonstrates the input object for creating a new documentation project, specifying project details such as name, subdomain, and URLs for logos. ```json { "name": "xyz789", "subdomain": "abc123", "logoUrl": "xyz789", "favIconUrl": "xyz789", "logoDarkThemeUrl": "abc123", "description": "xyz789", "settings": DocumentationProjectSettingsInput, "links": DocumentationProjectLinksInput } ``` -------------------------------- ### Example ProjectVisitorsConnection Source: https://apidocs.hashnode.com/index Example structure for ProjectVisitorsConnection, showing edges and page information. Placeholder types are used for edges and page info. ```json { "edges": [ProjectVisitorsEdge], "pageInfo": PageInfo } ``` -------------------------------- ### GuideVersionStatus Enum Example Source: https://apidocs.hashnode.com/index Example of a GuideVersionStatus enum value, indicating the stability of a guide version. ```json "STABLE" ``` -------------------------------- ### Example JSON Payload for Removing a Documentation Guide Source: https://apidocs.hashnode.com/index Illustrates a JSON object for the input needed to remove a documentation guide, specifying the project ID and the guide's slug. This action deletes a specific guide from a project. ```json {"projectId": 4, "guideSlug": "xyz789"} ``` -------------------------------- ### DocumentationGuideVisibility Enum Example Source: https://apidocs.hashnode.com/index Example value for the DocumentationGuideVisibility enumeration, 'PUBLIC'. This signifies that the guide is visible to all users. ```plaintext "PUBLIC" ``` -------------------------------- ### Example ProjectViewsGroupingTimezone Source: https://apidocs.hashnode.com/index Example of setting the grouping timezone for project views. This timezone determines the start of daily groupings. ```json { "groupingTimezone": "Etc/UTC" } ``` -------------------------------- ### Project Features Configuration Example (JSON) Source: https://apidocs.hashnode.com/index Outlines the structure for enabling beta features within a documentation project. It includes flags for collaboration, GitHub synchronization, and versioning capabilities. ```JSON { "collaboration": CollaborationFeature, "ghSync": GitHubSyncFeature, "versioning": VersioningFeature } ``` -------------------------------- ### DocumentationProjectAISettings Example Source: https://apidocs.hashnode.com/index This JSON example demonstrates the settings for AI features in a documentation project, specifically indicating whether AI search is enabled. ```json {"isSearchEnabled": true} ``` -------------------------------- ### DocumentationProjectSettings Example Source: https://apidocs.hashnode.com/index An example of project settings, indicating whether robots are allowed, Hashnode login is enabled, and if the project uses Headless CMS. ```json {"isRobotsAllowed": false, "isHashnodeLoginAllowed": true, "isHeadless": true} ``` -------------------------------- ### DocumentationProjectPendingInviteConnection Example Source: https://apidocs.hashnode.com/index Provides an example of the connection object for pending user invites. It includes a list of invite nodes and pagination information. ```json { "nodes": [DocumentationProjectInvite], "pageInfo": OffsetPageInfo, "totalDocuments": 987 } ``` -------------------------------- ### Audio Blog Feature Example Source: https://apidocs.hashnode.com/index Example of the AudioBlogFeature configuration, showing whether the feature is enabled and the selected voice type. ```json {"isEnabled": true, "voiceType": "FEMALE"} ``` -------------------------------- ### AbsoluteTimeRange Input Example Source: https://apidocs.hashnode.com/index An example of how to define an absolute time range for filtering or querying data. It specifies the start and end dates for the range. ```json { "from": "2007-12-03T10:15:30Z", "to": "2007-12-03T10:15:30Z" } ``` -------------------------------- ### DocumentationProjectProductName Example Source: https://apidocs.hashnode.com/index Illustrates the possible values for the productName enum, used to specify subscription tiers like STARTUP or ENTERPRISE. ```json "STARTUP" ``` -------------------------------- ### Hashnode SetDocumentationSidebarItemVisibilityPayload Example Source: https://apidocs.hashnode.com/index An example of a JSON object representing the payload for setting documentation sidebar item visibility. It includes the updated item and the associated guide. ```json { "item": DocumentationSection, "guide": DocumentationGuide } ``` -------------------------------- ### PublishDocumentationApiReferenceInput Example (JSON) Source: https://apidocs.hashnode.com/index An example JSON object for the input required to publish an API reference documentation. It includes the project ID and the guide's slug. ```json { "projectId": "4", "guideSlug": "abc123" } ``` -------------------------------- ### Create Documentation Page Example Source: https://apidocs.hashnode.com/index This example shows the structure of input required to create a documentation page, including fields like ID, title, label, content, and format. ```json { "id": 4, "title": "xyz789", "label": "abc123", "description": "xyz789", "content": "xyz789", "slug": "xyz789", "metaTags": MetaTagsInput, "visibility": "PUBLIC", "pages": [CreateDocumentationPreviewPageInput], "format": "MDX" } ``` -------------------------------- ### Project Appearance Configuration Example (JSON) Source: https://apidocs.hashnode.com/index Illustrates the structure for configuring the visual appearance of a documentation project, including logos, colors, and themes. It serves as a template for setting up the project's branding and basic display properties. ```JSON { "logoUrl": "xyz789", "logoDarkThemeUrl": "xyz789", "favIconUrl": "xyz789", "primaryColor": "abc123", "defaultDocsTheme": "LIGHT", "getStarted": DocumentationProjectGetStarted, "customScript": "xyz789" } ``` -------------------------------- ### Project Views Connection Example (JSON) Source: https://apidocs.hashnode.com/index An example of a connection response for project views, including a list of edges and pagination information. ```json { "edges": [ProjectViewEdge], "pageInfo": PageInfo } ``` -------------------------------- ### Hashnode SetDocumentationSidebarItemVisibilityInput Example Source: https://apidocs.hashnode.com/index An example of a JSON object for setting the visibility of a documentation sidebar item. It includes the project ID, guide slug, item ID, and the desired visibility status. ```json { "projectId": "4", "guideSlug": "abc123", "itemId": "4", "visibility": "PUBLIC" } ``` -------------------------------- ### DocumentationProjectSettingsInput Example Source: https://apidocs.hashnode.com/index Example input for updating project settings, allowing the modification of robot access and Hashnode login permissions. ```json {"allowRobots": false, "allowHashnodeLogin": false} ``` -------------------------------- ### GraphQL Example: SaveDocumentationPageDraftContentInput Source: https://apidocs.hashnode.com/index This example demonstrates the input structure for saving a documentation page draft, including fields for page ID, content, description, title, project ID, and guide information. ```graphql { "pageId": "4", "content": "xyz789", "description": "abc123", "title": "abc123", "projectId": "4", "guideSlug": "abc123", "guideId": 4 } ``` -------------------------------- ### Create Documentation Guide Input Source: https://apidocs.hashnode.com/index Input for creating a documentation guide, requiring a project ID and name, with an optional slug. ```json { "projectId": "4", "name": "xyz789", "slug": "abc123" } ``` -------------------------------- ### Get Tag by Slug Variables (JSON) Source: https://apidocs.hashnode.com/index Example JSON variables for the `tag` GraphQL query, providing the slug of the tag to be retrieved. ```json {"slug": "abc123"} ``` -------------------------------- ### DocumentationGuide Example Source: https://apidocs.hashnode.com/index An example JSON payload representing a DocumentationGuide object. This structure includes fields for ID, slug, name, status, SEO metadata, locking status, modification times, version information, URLs, sidebar items, page content, and the provider. ```json { "id": "4", "slug": "xyz789", "name": "xyz789", "status": "UNPUBLISHED", "seo": SEO, "ogMetaData": OpenGraphMetaData, "isLocked": true, "lastModified": "2007-12-03T10:15:30Z", "versionId": "abc123", "url": "abc123", "publishedUrl": "abc123", "definition": "xyz789", "provider": "HASHNODE" } ``` -------------------------------- ### Project Appearance Input Example (JSON) Source: https://apidocs.hashnode.com/index Shows the input format for specifying appearance settings for a documentation project. This includes details like logo URLs, primary color, default theme, and custom script configurations. ```JSON { "logoUrl": "xyz789", "logoDarkThemeUrl": "xyz789", "favIconUrl": "abc123", "primaryColor": "xyz789", "defaultDocsTheme": "LIGHT", "getStarted": DocumentationProjectGetStartedInput, "customScript": "abc123" } ``` -------------------------------- ### PublishDocumentationPageDraftPayload Example Source: https://apidocs.hashnode.com/index This JSON structure represents the payload after successfully publishing a documentation page draft. It includes the newly created page and the associated guide. ```json { "page": DocumentationPage, "guide": DocumentationGuide } ``` -------------------------------- ### Project Links Configuration Example Source: https://apidocs.hashnode.com/index This JSON object illustrates a sample configuration for project links, encompassing social media profiles (Twitter, Instagram, LinkedIn, Mastodon, Bluesky), content platforms (Hashnode, YouTube, Daily.dev), and a GitHub repository URL. ```json { "twitter": "abc123", "instagram": "xyz789", "github": "abc123", "website": "abc123", "hashnode": "abc123", "youtube": "abc123", "dailydev": "abc123", "linkedin": "xyz789", "mastodon": "xyz789", "githubRepository": "xyz789", "bluesky": "xyz789" } ``` -------------------------------- ### Get Top Commenters Variables (JSON) Source: https://apidocs.hashnode.com/index Example JSON variables for the `topCommenters` GraphQL query, specifying the number of users to retrieve and a cursor for pagination. ```json {"first": 123, "after": "abc123"} ``` -------------------------------- ### Get Tag by Slug Response (JSON) Source: https://apidocs.hashnode.com/index Example JSON response for the `tag` query, detailing the tag's properties including its associated posts and follower counts. ```json { "data": { "tag": { "id": "4", "name": "abc123", "slug": "xyz789", "logo": "xyz789", "tagline": "abc123", "info": Content, "followersCount": 987, "postsCount": 123, "posts": FeedPostConnection } } } ``` -------------------------------- ### DraftSettings Example Source: https://apidocs.hashnode.com/index Example JSON for DraftSettings, demonstrating flags for comment disabling, cover image positioning, and delisting. ```json {"disableComments": true, "stickCoverToBottom": true, "isDelisted": true} ``` -------------------------------- ### Move Documentation Sidebar Item Payload Example Source: https://apidocs.hashnode.com/index This JSON object represents the payload returned after successfully moving a documentation sidebar item, containing the updated guide information. ```json {"guide": DocumentationGuide} ``` -------------------------------- ### Audio URLs Example Source: https://apidocs.hashnode.com/index Example of AudioUrls, providing URLs for both male and female voice versions of an audio blog. ```json { "male": "xyz789", "female": "abc123" } ``` -------------------------------- ### Get Top Commenters Response (JSON) Source: https://apidocs.hashnode.com/index Example JSON response for the `topCommenters` query, containing a list of user edges with nodes and cursor information, along with page navigation details. ```json { "data": { "topCommenters": { "edges": [UserEdge], "pageInfo": PageInfo } } } ``` -------------------------------- ### Project Invite Example Source: https://apidocs.hashnode.com/index This JSON object shows an example of a pending project invite, including the invite ID, the invited user (represented by 'User' as a placeholder), and the assigned role within the publication. ```json { "id": "4", "user": User, "role": "OWNER" } ``` -------------------------------- ### Documentation Project Fields Example Source: https://apidocs.hashnode.com/index This JSON snippet illustrates the various fields available for a documentation project, including IDs, settings, links, guides, members, and connections to custom pages and pending invites. ```json { "id": "4", "domain": DocumentationProjectDomainSettings, "name": "abc123", "description": "abc123", "settings": DocumentationProjectSettings, "links": DocumentationProjectLinks, "publishedGuides": [DocumentationGuide], "guides": [DocumentationGuide], "analytics": DocumentationProjectAnalytics, "members": [DocumentationProjectMember], "membersV2": DocumentationProjectMemberConnection, "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "guide": DocumentationGuide, "publishedGuide": DocumentationGuide, "defaultGuide": DocumentationGuide, "customPage": DocsCustomPage, "customPages": DocsCustomPageConnection, "appearance": DocumentationProjectAppearance, "integrations": DocumentationProjectIntegrations, "features": DocumentationProjectFeatures, "url": "abc123", "navigation": DocumentationProjectNavigation, "searchUsers": DocumentationProjectSearchUserConnection, "pendingInvites": DocumentationProjectPendingInviteConnection, "owner": User, "subscription": DocumentationProjectSubscription, "ai": DocumentationProjectAIPreference } ``` -------------------------------- ### Follow Tags Input Example (JSON) Source: https://apidocs.hashnode.com/index Example JSON input for following tags, providing a list of tag IDs. ```JSON {"ids": ["4"]} ``` -------------------------------- ### Documentation Project Appearance Source: https://apidocs.hashnode.com/index This endpoint allows you to update the appearance settings for your documentation project. You can customize logo URLs, favicon, primary color, default documentation theme, get started section, and custom scripts. ```APIDOC ## PUT /websites/apidocs_hashnode/appearance ### Description Updates the appearance settings for a documentation project. ### Method PUT ### Endpoint /websites/apidocs_hashnode/appearance ### Parameters #### Request Body - **logoUrl** (String) - The URL for the project's logo. - **logoDarkThemeUrl** (String) - The URL for the project's logo in dark theme. - **favIconUrl** (String) - The URL for the project's favicon. - **primaryColor** (String) - The primary color for the project. - **defaultDocsTheme** (DefaultDocsTheme) - The default theme for the documentation ('LIGHT' or 'DARK'). - **getStarted** (DocumentationProjectGetStartedInput) - Configuration for the 'Get Started' section. - **customScript** (String) - A custom script to be included in the project. ### Request Example ```json { "logoUrl": "xyz789", "logoDarkThemeUrl": "xyz789", "favIconUrl": "xyz789", "primaryColor": "abc123", "defaultDocsTheme": "LIGHT", "getStarted": { "label": "Start Here", "url": "http://example.com/start" }, "customScript": "console.log('Hello World');" } ``` ### Response #### Success Response (200) - **message** (String) - A confirmation message indicating the update was successful. #### Response Example ```json { "message": "Appearance settings updated successfully." } ``` ``` -------------------------------- ### Move Documentation Sidebar Item Input Example Source: https://apidocs.hashnode.com/index This JSON object defines the input parameters required to move a documentation sidebar item. It includes project ID, guide slug, item ID, and optional parent ID and position. ```json { "projectId": 4, "guideSlug": "abc123", "itemId": "4", "parentId": "4", "position": 123 } ``` -------------------------------- ### Project Views Filter Example (JSON) Source: https://apidocs.hashnode.com/index This JSON object demonstrates how to filter project views based on various criteria like time, guide IDs, page IDs, paths, operating systems, device types, browsers, countries, and referrer hosts. ```json { "time": TimeFilter, "documentationGuideIds": ["4"], "apiReferenceGuideIds": ["4"], "pageIds": ["4"], "paths": ["xyz789"], "operatingSystems": ["abc123"], "deviceTypes": ["DESKTOP"], "browsers": ["xyz789"], "countries": ["abc123"], "referrerHosts": ["abc123"] } ``` -------------------------------- ### Rename Documentation Guide Mutation Source: https://apidocs.hashnode.com/index This GraphQL mutation renames a documentation guide. It takes an input object with the guide's new name and identifier, returning the updated guide's information. ```graphql mutation RenameDocumentationGuide($input: RenameDocumentationGuideItemInput!) { renameDocumentationGuide(input: $input) { guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } } } ``` -------------------------------- ### Remove Documentation Guide Mutation Source: https://apidocs.hashnode.com/index This mutation removes a documentation guide. It takes a RemoveDocumentationGuideInput and returns the removed guide. ```graphql mutation RemoveDocumentationGuide($input: RemoveDocumentationGuideInput!) { removeDocumentationGuide(input: $input) { guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } } } {"input": RemoveDocumentationGuideInput} { "data": { "removeDocumentationGuide": { "guide": DocumentationGuide } } } ``` -------------------------------- ### Create Draft Example Source: https://apidocs.hashnode.com/index Illustrates the comprehensive input required to create a new draft, including title, content, publication details, and various metadata and settings. ```json { "title": "xyz789", "subtitle": "abc123", "publicationId": "4", "contentMarkdown": "xyz789", "publishedAt": "2007-12-03T10:15:30Z", "coverImageOptions": CoverImageOptionsInput, "bannerImageOptions": BannerImageOptionsInput, "slug": "abc123", "originalArticleURL": "abc123", "tags": [CreateDraftTagInput], "disableComments": false, "metaTags": MetaTagsInput, "publishAs": ObjectId, "seriesId": ObjectId, "settings": CreateDraftSettingsInput, "coAuthors": [ObjectId], "draftOwner": "4" } ``` -------------------------------- ### Create Documentation Project Source: https://apidocs.hashnode.com/index Creates a new documentation project with specified input details. This mutation allows for the setup of a new project, including its domain, name, description, settings, and more. ```APIDOC ## POST /websites/apidocs_hashnode ### Description Creates a new documentation project. ### Method POST ### Endpoint /websites/apidocs_hashnode ### Parameters #### Request Body - **input** (CreateDocumentationProjectInput!) - Required - Input object for creating a documentation project. ### Request Example ```json { "query": "mutation CreateDocumentationProject($input: CreateDocumentationProjectInput!) {\n createDocumentationProject(input: $input) {\n project {\n id\n domain {\n ...DocumentationProjectDomainSettingsFragment\n }\n name\n description\n settings {\n ...DocumentationProjectSettingsFragment\n }\n links {\n ...DocumentationProjectLinksFragment\n }\n publishedGuides {\n ... on DocumentationGuide {\n ...DocumentationGuideFragment\n }\n ... on DocumentationApiReference {\n ...DocumentationApiReferenceFragment\n }\n }\n guides {\n ... on DocumentationGuide {\n ...DocumentationGuideFragment\n }\n ... on DocumentationApiReference {\n ...DocumentationApiReferenceFragment\n }\n }\n analytics {\n ...DocumentationProjectAnalyticsFragment\n }\n members {\n ...DocumentationProjectMemberFragment\n }\n membersV2 {\n ...DocumentationProjectMemberConnectionFragment\n }\n createdAt\n updatedAt\n guide {\n ... on DocumentationGuide {\n ...DocumentationGuideFragment\n }\n ... on DocumentationApiReference {\n ...DocumentationApiReferenceFragment\n }\n }\n publishedGuide {\n ... on DocumentationGuide {\n ...DocumentationGuideFragment\n }\n ... on DocumentationApiReference {\n ...DocumentationApiReferenceFragment\n }\n }\n defaultGuide {\n ... on DocumentationGuide {\n ...DocumentationGuideFragment\n }\n ... on DocumentationApiReference {\n ...DocumentationApiReferenceFragment\n }\n }\n customPage {\n ...DocsCustomPageFragment\n }\n customPages {\n ...DocsCustomPageConnectionFragment\n }\n appearance {\n ...DocumentationProjectAppearanceFragment\n }\n integrations {\n ...DocumentationProjectIntegrationsFragment\n }\n features {\n ...DocumentationProjectFeaturesFragment\n }\n url\n navigation {\n ...DocumentationProjectNavigationFragment\n }\n searchUsers {\n ...DocumentationProjectSearchUserConnectionFragment\n }\n pendingInvites {\n ...DocumentationProjectPendingInviteConnectionFragment\n }\n owner {\n ...UserFragment\n }\n subscription {\n ...DocumentationProjectSubscriptionFragment\n }\n ai {\n ...DocumentationProjectAIPreferenceFragment\n }\n }\n }\n}", "variables": { "input": "CreateDocumentationProjectInput" } } ``` ### Response #### Success Response (200) - **data** (object) - The result of the mutation. - **createDocumentationProject** (object) - **project** (DocumentationProject) - The created documentation project. ``` -------------------------------- ### GitHub Deployment Type Enum Example Source: https://apidocs.hashnode.com/index An example of a DocsGitHubActivityDeploymentType enum value. This specific example represents a 'PREVIEW' deployment type for GitHub activities. ```string "PREVIEW" ``` -------------------------------- ### Analytics Dimension Enum Example Source: https://apidocs.hashnode.com/index Provides an example of a DocAnalyticsDimension enum value, used for categorizing analytics data. This specific example indicates a 'DOCUMENTATION_GUIDE' dimension. ```string "DOCUMENTATION_GUIDE" ``` -------------------------------- ### DocumentationSection Example Source: https://apidocs.hashnode.com/index An example of a documentation section, including its ID, label, path, associated pages, and creation/update timestamps. ```json { "id": 4, "label": "xyz789", "path": "xyz789", "pages": [DocumentationSidebarItemPage], "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "status": "PUBLISHED", "visibility": "PUBLIC" } ``` -------------------------------- ### Device Type Example Source: https://apidocs.hashnode.com/index Example of a string representing a device type, which can be DESKTOP, LAPTOP, TABLET, or MOBILE. ```json "DESKTOP" ``` -------------------------------- ### Update Documentation Guide Input Source: https://apidocs.hashnode.com/index Input structure for updating a specific guide within a documentation project. Requires project ID, guide ID, slug, name, and meta tags. ```json { "projectId": "4", "guideId": "4", "slug": "abc123", "name": "xyz789", "metaTags": MetaTagsInput } ``` -------------------------------- ### Invite Token Input Example Source: https://apidocs.hashnode.com/index Example of the input for an invite token, specifying the token string. ```json {"inviteToken": "abc123"} ``` -------------------------------- ### Update Documentation Guide Source: https://apidocs.hashnode.com/index Updates an existing documentation guide. ```APIDOC ## POST /documentation/guides ### Description Updates an existing documentation guide, including its content, slug, name, status, SEO settings, and sidebar items. ### Method POST ### Endpoint /documentation/guides ### Parameters #### Request Body - **input** (UpdateDocumentationGuideInput!) - Required - The input object for updating the documentation guide. ### Request Example ```graphql mutation UpdateDocumentationGuide($input: UpdateDocumentationGuideInput!) { updateDocumentationGuide(input: $input) { guide { id slug name status seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } isLocked lastModified versionId url sidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } publishedSidebarItems { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } page { ...DocumentationPageFragment } publishedPage { ...DocumentationPageFragment } redirectedPublishedPage { ...DocumentationPageFragment } hasChanges provider } } } ``` ### Response #### Success Response (200) - **data** (object) - The response data containing the updated guide information. - **updateDocumentationGuide** (object) - **guide** (DocumentationGuide) - The updated documentation guide object. #### Response Example ```json { "data": { "updateDocumentationGuide": { "guide": DocumentationGuide } } } ``` ```