Hashnode Public API Docs
Welcome
This document describes the Hashnode Public API. The Hashnode Public API is a GraphQL API that allows you to interact with Hashnode.
Make sure to join our Discord server to be in the loop about any updates.
If you're seeing Errors with a 502 status code, it's highly likely that you are using
api.hashnode.com
. This was our legacy API and is now officially discontinued. Please use these docs and the migration guide to transition to our new GQL API.
GQL Playground
All Hashnode Public API queries are made through a single GraphQL endpoint, which only accepts POST requests.
You can visit the same URL to check out Hashnode API Playground.
You can query user details, publication information, posts within publications, drafts, and more. Please explore the playground to view all available fields.
Additionally, mutations are at your disposal for actions such as publishing posts, subscribing to newsletters, and following users. The complete list of these available mutations can be found within the playground.
If you're not familiar with GraphQL, be sure to check out this beginner-friendly guide on freeCodeCamp
Caching
Almost all responses of queries are cached on the Edge. Cached data will automatically be purged if you mutate the data. For example, if you request a post of your blog:
The playground shows you if a response is cached or not. You can see it in the bottom right corner (MISS or HIT).
🚧 Important: You need to request the field
id
of each field. It is best practice to always request theid
. If you don't do that it is possible that you get stale data.
Rate Limits
We have a very generous rate limit in place which are as follows:
- Query users are allowed to send up to 20k requests per minute.
- Mutations users can send up to 500 requests per per minute.
Authentication
Almost all queries can be accessed without any authentication mechanism. Some sensitive fields need authentication. All mutations need an authentication header.
You can include an Authorization header in your request to access restricted fields. The value of the Authorization header needs to be your Personal Access Token (PAT).
You can test it in the GQL playground and click on the Headers tab to add the header.
To generate the token, go to https://hashnode.com/settings/developer and click on "Generate New Token".
Once the token is generated, simply pass it as Authorization
header.
An example of a restricted query could be getting drafts
inside any blog, it can only be queried by their respective owners.
query Publication($first: Int!, $host: String) { publication(host: $host) { drafts(first: $first) { edges { node { title } } } } }
Similarly, anyone can request user details but certain fields like unsubscribeCode
and email
require an authorization header to be present.
Please ensure that you pass the token when requesting restricted fields; otherwise, the API will throw an error.
Status and Error Codes
GraphQL APIs use HTTP status codes to indicate the success or failure of a request. A 200 OK status code means the request was successful. In addition to HTTP status codes, GraphQL APIs also return error objects in response to specific errors.
These error objects have a code and message property. The code is a string that identifies the type of error. For example, you'll receive something like this if you try to request restricted fields without passing the authorization header.
{ "errors": [ { "message": "You must be authenticated.", "locations": [ { "line": 2, "column": 3 } ], "path": ["me"], "extensions": { "code": "UNAUTHENTICATED" } } ], "data": null }
Some of the error codes are:
- GRAPHQL_VALIDATION_FAILED
- UNAUTHENTICATED
- FORBIDDEN
- BAD_USER_INPUT
- NOT_FOUND
You can check out this article to understand error codes in detail.
You must check for the presence of error objects along with error codes and messages to handle GraphQL errors in a structured way.
Pagination
When handling extensive lists of items in an API, such as many blog posts, it's practical to fetch them in smaller sets rather than all at once. This process is known as pagination. For instance, if your blog has 500 posts, retrieving them all simultaneously can be inefficient. A better approach is to initially fetch a subset, like 10 posts, and then continue loading more in small groups.
Hashnode offers two distinct pagination methods, each suited for different scenarios:
- Cursor-Based Pagination
- Offset-Based Pagination
Only one type of pagination is available for a query. You can distinguish the types of the type of response connection that is available. For cursor-based pagination the type PageInfo
is available. For offset-based pagination the type OffsetPageInfo
is available.
1. Cursor-Based Pagination
Cursor-based pagination is ideal for an infinite scrolling mechanism, where there is no fixed concept of pages. It uses a field named endCursor
to keep track of the last item fetched. This cursor is then used to request subsequent items.
In this approach, the first API request does not include a cursor, and the API responds with the first set of results along with a new cursor. This new cursor is then utilized to fetch the next set of results.
Example Query in GraphQL
query Publication { publication(host: "blog.developerdao.com") { isTeam title posts( first: 10 after: "NjQxZTc4NGY0M2NiMzc2YjAyNzNkMzU4XzIwMjMtMDMtMjVUMDQ6Mjc6NTkuNjQxWg==" ) { edges { node { title brief url } } pageInfo { endCursor hasNextPage } } } }
In this example, edges
contains a list of nodes (the data), and the pageInfo
object provides pagination details. Use pageInfo.hasNextPage
to check for more data and pageInfo.endCursor
for subsequent requests.
For more information, visit Relay Pagination Specification.
2. Offset-Based Pagination
Offset-based pagination is more traditional, involving distinct pages. It is suitable when you want to display data on specific pages or embed page information in URLs.
Example Query in GraphQL
query Followers { user(username: "SandroVolpicella") { id followers(pageSize: 10, page: 1) { pageInfo { hasNextPage hasPreviousPage previousPage nextPage } } } }
In this method, pageInfo
includes information about the availability of next and previous pages, allowing for easy navigation between different sets of data.
Breaking Changes
Breaking changes, while rare, can occur. Our aim is to minimize them. Stay updated by joining our Discord server.
When a breaking change is imminent, rest assured, we'll notify you beforehand. Affected fields, queries, or mutations will be deprecated in advance, ensuring you're well-prepared for the upcoming change.
Thank you for your understanding and collaboration.
Legacy API Migration
Overview
After the deprecation phase, our old legacy GraphQL API is now shutdown. To ensure that your apps are still working, follow this migration guide from the old API to the new API (gql.hashnode.com).
Migration Steps
Update API Endpoint
Replace the old API endpoint https://api.hashnode.com with the new GraphQL endpoint https://gql.hashnode.com.
Authentication Changes
If you were using authentication for the old API, ensure that your authentication mechanism remains valid for the new API. Check the documentation for how Authentication works in our GraphQL API.
Adjust Queries
Review your existing GraphQL queries and mutations. Some types and fields may have changed. Refer to the documentation for Examples and below to review the latest schema, query and mutation definitions.
Check Pagination
If your application relies on pagination, ensure that you are using the updated pagination methods provided by the new API. We offer two kinds of pagination: Cursor-Based Pagination and Offset-Based Pagination. Review the pagination guide in the docs on how these two are working.
Update Error Handling
The new API might have different error responses or codes. Update your error handling mechanisms to accommodate any changes in error formats. You can check out this article to understand error codes in detail.
Counts
If you want to access a count of some entity we provide them via the field totalDocuments
on the connection of the attribute.
Let's see an example:
query SeriesCount { publication(host: "engineering.hashnode.com") { seriesList(first: 0) { totalDocuments } } }
The result looks like that:
{ "data": { "publication": { "seriesList": { "totalDocuments": 3 } } } }
The field totalDocuments
shows you how many series are in the publication with the host engineering.hashnode.com
. The totalDocuments
field doesn't refer to how many items you request with first
. This is independent of each other.
We don't expose this field for all connections, but for most of them.
Examples
Let’s look at some examples which might help you get started:
Fetch details about your publication
query Publication { publication(host: "blog.developerdao.com") { isTeam title about { markdown } } }
Fetch posts from your blog
query Publication { publication(host: "blog.developerdao.com") { isTeam title posts(first: 10) { edges { node { title brief url } } } } }
The queries support pagination, and let you fetch a full list of the posts to recreate your blog home page.
Fetch a single article (blog post)
query Publication { publication(host: "blog.developerdao.com") { isTeam title post(slug: "the-developers-guide-to-chainlink-vrf-foundry-edition") { title content { markdown html } } } }
As long as you have your publication hostname and article slug, you can fetch it like the above.
Fetch posts from a series
query Publication { publication(host: "lo-victoria.com") { isTeam title series(slug: "graphql") { posts(first: 10) { edges { node { title } } } } } }
Fetch static pages
query Publication { publication(host: "lo-victoria.com") { isTeam title staticPages(first: 10) { edges { node { title slug } } } } }
Fetch a single page
query Publication { publication(host: "lo-victoria.com") { isTeam title staticPage(slug: "about") { title content { markdown } } } }
Queries
checkCustomDomainAvailability
Response
Returns a CheckCustomDomainAvailabilityResult!
Arguments
Name | Description |
---|---|
input - CheckCustomDomainAvailabilityInput! |
Example
Query
query CheckCustomDomainAvailability($input: CheckCustomDomainAvailabilityInput!) { checkCustomDomainAvailability(input: $input) { domainAvailable } }
Variables
{"input": CheckCustomDomainAvailabilityInput}
Response
{"data": {"checkCustomDomainAvailability": {"domainAvailable": false}}}
checkSubdomainAvailability
Response
Returns a CheckSubdomainAvailabilityResult!
Arguments
Name | Description |
---|---|
subdomain - String! |
Example
Query
query CheckSubdomainAvailability($subdomain: String!) { checkSubdomainAvailability(subdomain: $subdomain) { subdomainAvailable } }
Variables
{"subdomain": "abc123"}
Response
{"data": {"checkSubdomainAvailability": {"subdomainAvailable": true}}}
documentationProject
Response
Returns a DocumentationProject
Example
Query
query DocumentationProject( $id: ID, $host: String ) { documentationProject( id: $id, host: $host ) { id domain { hashnodeSubDomain customDomain { ...DocumentationProjectCustomDomainFragment } } name description settings { isRobotsAllowed isHashnodeLoginAllowed isHeadless } links { twitter instagram github website hashnode youtube dailydev linkedin mastodon githubRepository bluesky } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { views { ...ProjectViewsConnectionFragment } visitors { ...ProjectVisitorsConnectionFragment } } members { user { ...UserFragment } role } membersV2 { nodes { ...DocumentationProjectMemberV2Fragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { id title slug content { ...DocumentationPageContentFragment } ogMetaData { ...OpenGraphMetaDataFragment } seo { ...SEOFragment } lastModified visibility } customPages { nodes { ...DocsCustomPageFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } appearance { logoUrl logoDarkThemeUrl favIconUrl primaryColor defaultDocsTheme getStarted { ...DocumentationProjectGetStartedFragment } customScript } integrations { fbPixelID hotjarSiteID gaTrackingID gTagManagerID intercomID metaTags koalaPublicKey msClarityID } features { collaboration { ...CollaborationFeatureFragment } ghSync { ...GitHubSyncFeatureFragment } versioning { ...VersioningFeatureFragment } } url navigation { header { ... on DocumentationNavbarItemLink { ...DocumentationNavbarItemLinkFragment } ... on DocumentationNavbarItemGuide { ...DocumentationNavbarItemGuideFragment } ... on DocumentationNavbarItemPage { ...DocumentationNavbarItemPageFragment } } footer { ...DocumentationNavbarColumnFragment } } searchUsers { nodes { ...UserFragment } edges { ...DocumentationProjectSearchUserEdgeFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } pendingInvites { nodes { ...DocumentationProjectInviteFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } owner { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } subscription { status productName nextBillingCycle maxSeats } ai { prompts { ...DocumentationProjectAIPromptFragment } settings { ...DocumentationProjectAISettingsFragment } } } }
Variables
{"id": 4, "host": "abc123"}
Response
{ "data": { "documentationProject": { "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 } } }
draft
Description
Returns a draft by ID. Draft is a post that is not published yet.
Example
Query
query Draft($id: ObjectId!) { draft(id: $id) { id slug title subtitle author { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } coAuthors { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } publishAs { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } tags { id name slug logo tagline info { ...ContentFragment } followersCount postsCount posts { ...FeedPostConnectionFragment } } tagsV2 { ... on Tag { ...TagFragment } ... on DraftBaseTag { ...DraftBaseTagFragment } } canonicalUrl publication { id title displayTitle descriptionSEO about { ...ContentFragment } url canonicalURL author { ...UserFragment } favicon headerColor metaTags integrations { ...PublicationIntegrationsFragment } invites { ...PublicationInviteFragment } preferences { ...PreferencesFragment } followersCount imprint imprintV2 { ...ContentFragment } isTeam links { ...PublicationLinksFragment } domainInfo { ...DomainInfoFragment } isHeadless series { ...SeriesFragment } seriesList { ...SeriesConnectionFragment } posts { ...PublicationPostConnectionFragment } postsViaPage { ...PublicationPostPageConnectionFragment } pinnedPost { ...PostFragment } post { ...PostFragment } redirectedPost { ...PostFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...PublicationFeaturesFragment } drafts { ...DraftConnectionFragment } allDrafts { ...DraftConnectionFragment } scheduledDrafts { ...DraftConnectionFragment } allScheduledDrafts { ...DraftConnectionFragment } staticPage { ...StaticPageFragment } staticPages { ...StaticPageConnectionFragment } submittedDrafts { ...DraftConnectionFragment } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { ...EmailImportFragment } redirectionRules { ...RedirectionRuleFragment } hasBadges sponsorship { ...PublicationSponsorshipFragment } recommendedPublications { ...UserRecommendedPublicationEdgeFragment } totalRecommendedPublications recommendingPublications { ...PublicationUserRecommendingPublicationConnectionFragment } allowContributorEdits members { ...PublicationMemberConnectionFragment } publicMembers { ...PublicationMemberConnectionFragment } } coverImage { url attribution photographer isAttributionHidden } bannerImage { url } readTimeInMinutes series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } content { markdown html text } dateUpdated updatedAt settings { disableComments stickCoverToBottom isDelisted } seo { title description } ogMetaData { image } features { tableOfContents { ...TableOfContentsFeatureFragment } } lastBackup { status at } lastSuccessfulBackupAt lastFailedBackupAt scheduledDate isSubmittedForReview publishedPost { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"id": ObjectId}
Response
{ "data": { "draft": { "id": "4", "slug": "abc123", "title": "abc123", "subtitle": "abc123", "author": User, "coAuthors": [User], "publishAs": User, "tags": [Tag], "tagsV2": [Tag], "canonicalUrl": "abc123", "publication": Publication, "coverImage": DraftCoverImage, "bannerImage": DraftBannerImage, "readTimeInMinutes": 987, "series": Series, "content": Content, "dateUpdated": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "settings": DraftSettings, "seo": SEO, "ogMetaData": OpenGraphMetaData, "features": DraftFeatures, "lastBackup": DraftBackup, "lastSuccessfulBackupAt": "2007-12-03T10:15:30Z", "lastFailedBackupAt": "2007-12-03T10:15:30Z", "scheduledDate": "2007-12-03T10:15:30Z", "isSubmittedForReview": true, "publishedPost": Post } } }
feed
Description
Returns a paginated list of posts based on the provided filter. Used in Hashnode home feed.
Response
Returns a FeedPostConnection!
Arguments
Name | Description |
---|---|
first - Int! | The number of items to be returned per page. |
after - String | A cursor to the last item of the previous page. |
filter - FeedFilter | Filters to be applied to the feed. |
Example
Query
query Feed( $first: Int!, $after: String, $filter: FeedFilter ) { feed( first: $first, after: $after, filter: $filter ) { edges { node { ...PostFragment } cursor } pageInfo { hasNextPage endCursor } } }
Variables
{ "first": 987, "after": "xyz789", "filter": FeedFilter }
Response
{ "data": { "feed": { "edges": [PostEdge], "pageInfo": PageInfo } } }
me
Description
Returns the current authenticated user. Only available to the authenticated user.
Response
Returns a MyUser!
Example
Query
query Me { me { id username name bio { markdown html text } profilePicture socialMediaLinks { website github twitter instagram facebook stackoverflow linkedin youtube bluesky } emailNotificationPreferences { weeklyNewsletterEmails activityNotifications generalAnnouncements monthlyBlogStats newFollowersWeekly } badges { id name description image dateAssigned infoURL suppressed } publications { edges { ...UserPublicationsEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } posts { edges { ...UserPostEdgeFragment } nodes { ...PostFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { id name slug logo tagline info { ...ContentFragment } followersCount postsCount posts { ...FeedPostConnectionFragment } } ambassador provider deactivated betaFeatures { id key title description url enabled } email unverifiedEmail followers { nodes { ...UserFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } follows { nodes { ...UserFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } drafts { edges { ...UserDraftEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } role techStack { nodes { ...TagFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } } }
Response
{ "data": { "me": { "id": "4", "username": "abc123", "name": "abc123", "bio": Content, "profilePicture": "abc123", "socialMediaLinks": SocialMediaLinks, "emailNotificationPreferences": EmailNotificationPreferences, "badges": [Badge], "publications": UserPublicationsConnection, "posts": UserPostConnection, "followersCount": 123, "followingsCount": 123, "tagline": "abc123", "dateJoined": "2007-12-03T10:15:30Z", "location": "abc123", "availableFor": "abc123", "tagsFollowing": [Tag], "ambassador": false, "provider": "abc123", "deactivated": true, "betaFeatures": [BetaFeature], "email": "xyz789", "unverifiedEmail": "abc123", "followers": UserConnection, "follows": UserConnection, "drafts": UserDraftConnection, "role": "SUPERUSER", "techStack": UserTagsConnection } } }
post
Description
Returns post by ID. Can be used to render post page on blog.
Example
Query
query Post($id: ID!) { post(id: $id) { id slug previousSlugs title subtitle author { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } coAuthors { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } tags { id name slug logo tagline info { ...ContentFragment } followersCount postsCount posts { ...FeedPostConnectionFragment } } url canonicalUrl publication { id title displayTitle descriptionSEO about { ...ContentFragment } url canonicalURL author { ...UserFragment } favicon headerColor metaTags integrations { ...PublicationIntegrationsFragment } invites { ...PublicationInviteFragment } preferences { ...PreferencesFragment } followersCount imprint imprintV2 { ...ContentFragment } isTeam links { ...PublicationLinksFragment } domainInfo { ...DomainInfoFragment } isHeadless series { ...SeriesFragment } seriesList { ...SeriesConnectionFragment } posts { ...PublicationPostConnectionFragment } postsViaPage { ...PublicationPostPageConnectionFragment } pinnedPost { ...PostFragment } post { ...PostFragment } redirectedPost { ...PostFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...PublicationFeaturesFragment } drafts { ...DraftConnectionFragment } allDrafts { ...DraftConnectionFragment } scheduledDrafts { ...DraftConnectionFragment } allScheduledDrafts { ...DraftConnectionFragment } staticPage { ...StaticPageFragment } staticPages { ...StaticPageConnectionFragment } submittedDrafts { ...DraftConnectionFragment } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { ...EmailImportFragment } redirectionRules { ...RedirectionRuleFragment } hasBadges sponsorship { ...PublicationSponsorshipFragment } recommendedPublications { ...UserRecommendedPublicationEdgeFragment } totalRecommendedPublications recommendingPublications { ...PublicationUserRecommendingPublicationConnectionFragment } allowContributorEdits members { ...PublicationMemberConnectionFragment } publicMembers { ...PublicationMemberConnectionFragment } } cuid coverImage { url isPortrait attribution photographer isAttributionHidden } bannerImage { url } brief readTimeInMinutes views series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } reactionCount replyCount responseCount featured contributors { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } commenters { edges { ...PostCommenterEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } comments { edges { ...PostCommentEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } bookmarked content { markdown html text } likedBy { edges { ...PostLikerEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } featuredAt publishedAt updatedAt preferences { pinnedToBlog disableComments stickCoverToBottom isDelisted } audioUrls { male female } seo { title description } ogMetaData { image } hasLatexInPost isFollowed isAutoPublishedFromRSS features { tableOfContents { ...TableOfContentsFeatureFragment } badges { ...PostBadgesFeatureFragment } } sourcedFromGithub } }
Variables
{"id": "4"}
Response
{ "data": { "post": { "id": "4", "slug": "abc123", "previousSlugs": ["xyz789"], "title": "xyz789", "subtitle": "xyz789", "author": User, "coAuthors": [User], "tags": [Tag], "url": "xyz789", "canonicalUrl": "abc123", "publication": Publication, "cuid": "abc123", "coverImage": PostCoverImage, "bannerImage": PostBannerImage, "brief": "abc123", "readTimeInMinutes": 987, "views": 987, "series": Series, "reactionCount": 987, "replyCount": 123, "responseCount": 987, "featured": true, "contributors": [User], "commenters": PostCommenterConnection, "comments": PostCommentConnection, "bookmarked": false, "content": Content, "likedBy": PostLikerConnection, "featuredAt": "2007-12-03T10:15:30Z", "publishedAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "preferences": PostPreferences, "audioUrls": AudioUrls, "seo": SEO, "ogMetaData": OpenGraphMetaData, "hasLatexInPost": true, "isFollowed": true, "isAutoPublishedFromRSS": true, "features": PostFeatures, "sourcedFromGithub": false } } }
publication
Description
Returns the publication with the given ID or host. User can pass anyone of them.
Response
Returns a Publication
Example
Query
query Publication( $id: ObjectId, $host: String ) { publication( id: $id, host: $host ) { id title displayTitle descriptionSEO about { markdown html text } url canonicalURL author { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } favicon headerColor metaTags integrations { fbPixelID fathomSiteID fathomCustomDomainEnabled fathomCustomDomain hotjarSiteID matomoSiteID matomoURL gaTrackingID plausibleAnalyticsEnabled wmPaymentPointer umamiWebsiteUUID umamiShareId gTagManagerID koalaPublicKey msClarityID } invites { pendingInvites { ...PendingInviteConnectionFragment } roleBasedInvites { ...RoleBasedInviteConnectionFragment } areRoleBasedInviteLinksActive } preferences { logo darkMode { ...DarkModePreferencesFragment } enabledPages { ...PagesPreferencesFragment } navbarItems { ...PublicationNavbarItemFragment } layout disableFooterBranding isSubscriptionModalDisabled } followersCount imprint imprintV2 { markdown html text } isTeam links { twitter instagram github website hashnode youtube dailydev linkedin mastodon facebook bluesky } domainInfo { hashnodeSubdomain domain { ...DomainStatusFragment } wwwPrefixedDomain { ...DomainStatusFragment } } isHeadless series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } seriesList { edges { ...SeriesEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } posts { edges { ...PostEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } postsViaPage { nodes { ...PostFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } pinnedPost { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } redirectedPost { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } ogMetaData { image } features { newsletter { ...NewsletterFeatureFragment } viewCount { ...ViewCountFeatureFragment } readTime { ...ReadTimeFeatureFragment } audioBlog { ...AudioBlogFeatureFragment } textSelectionSharer { ...TextSelectionSharerFeatureFragment } customCSS { ...CustomCSSFeatureFragment } headlessCMS { ...HeadlessCMSFeatureFragment } proTeam { ...ProTeamFeatureFragment } gptBotCrawling { ...GPTBotCrawlingFeatureFragment } } drafts { edges { ...DraftEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } allDrafts { edges { ...DraftEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } scheduledDrafts { edges { ...DraftEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } allScheduledDrafts { edges { ...DraftEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } staticPage { id title slug content { ...ContentFragment } hidden ogMetaData { ...OpenGraphMetaDataFragment } seo { ...SEOFragment } } staticPages { edges { ...StaticPageEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } submittedDrafts { edges { ...DraftEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { currentImport { ...EmailCurrentImportFragment } } redirectionRules { id type source destination } hasBadges sponsorship { content { ...ContentFragment } stripe { ...StripeConfigurationFragment } } recommendedPublications { node { ...PublicationFragment } totalFollowersGained } totalRecommendedPublications recommendingPublications { edges { ...UserRecommendingPublicationEdgeFragment } nodes { ...PublicationFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } allowContributorEdits members { nodes { ...PublicationMemberFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } publicMembers { nodes { ...PublicationMemberFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } } }
Variables
{ "id": ObjectId, "host": "xyz789" }
Response
{ "data": { "publication": { "id": "4", "title": "xyz789", "displayTitle": "abc123", "descriptionSEO": "xyz789", "about": Content, "url": "xyz789", "canonicalURL": "xyz789", "author": User, "favicon": "abc123", "headerColor": "xyz789", "metaTags": "xyz789", "integrations": PublicationIntegrations, "invites": PublicationInvite, "preferences": Preferences, "followersCount": 123, "imprint": "xyz789", "imprintV2": Content, "isTeam": true, "links": PublicationLinks, "domainInfo": DomainInfo, "isHeadless": false, "series": Series, "seriesList": SeriesConnection, "posts": PublicationPostConnection, "postsViaPage": PublicationPostPageConnection, "pinnedPost": Post, "post": Post, "redirectedPost": Post, "ogMetaData": OpenGraphMetaData, "features": PublicationFeatures, "drafts": DraftConnection, "allDrafts": DraftConnection, "scheduledDrafts": DraftConnection, "allScheduledDrafts": DraftConnection, "staticPage": StaticPage, "staticPages": StaticPageConnection, "submittedDrafts": DraftConnection, "isGitHubBackupEnabled": true, "isGithubAsSourceConnected": false, "urlPattern": "DEFAULT", "emailImport": EmailImport, "redirectionRules": [RedirectionRule], "hasBadges": false, "sponsorship": PublicationSponsorship, "recommendedPublications": [ UserRecommendedPublicationEdge ], "totalRecommendedPublications": 987, "recommendingPublications": PublicationUserRecommendingPublicationConnection, "allowContributorEdits": true, "members": PublicationMemberConnection, "publicMembers": PublicationMemberConnection } } }
scheduledPost
Description
Get a scheduled post by ID.
Response
Returns a ScheduledPost
Arguments
Name | Description |
---|---|
id - ObjectId | The ID of the scheduled post to get. |
Example
Query
query ScheduledPost($id: ObjectId) { scheduledPost(id: $id) { id author { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } draft { id slug title subtitle author { ...UserFragment } coAuthors { ...UserFragment } publishAs { ...UserFragment } tags { ...TagFragment } tagsV2 { ... on Tag { ...TagFragment } ... on DraftBaseTag { ...DraftBaseTagFragment } } canonicalUrl publication { ...PublicationFragment } coverImage { ...DraftCoverImageFragment } bannerImage { ...DraftBannerImageFragment } readTimeInMinutes series { ...SeriesFragment } content { ...ContentFragment } dateUpdated updatedAt settings { ...DraftSettingsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...DraftFeaturesFragment } lastBackup { ...DraftBackupFragment } lastSuccessfulBackupAt lastFailedBackupAt scheduledDate isSubmittedForReview publishedPost { ...PostFragment } } scheduledDate scheduledBy { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } publication { id title displayTitle descriptionSEO about { ...ContentFragment } url canonicalURL author { ...UserFragment } favicon headerColor metaTags integrations { ...PublicationIntegrationsFragment } invites { ...PublicationInviteFragment } preferences { ...PreferencesFragment } followersCount imprint imprintV2 { ...ContentFragment } isTeam links { ...PublicationLinksFragment } domainInfo { ...DomainInfoFragment } isHeadless series { ...SeriesFragment } seriesList { ...SeriesConnectionFragment } posts { ...PublicationPostConnectionFragment } postsViaPage { ...PublicationPostPageConnectionFragment } pinnedPost { ...PostFragment } post { ...PostFragment } redirectedPost { ...PostFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...PublicationFeaturesFragment } drafts { ...DraftConnectionFragment } allDrafts { ...DraftConnectionFragment } scheduledDrafts { ...DraftConnectionFragment } allScheduledDrafts { ...DraftConnectionFragment } staticPage { ...StaticPageFragment } staticPages { ...StaticPageConnectionFragment } submittedDrafts { ...DraftConnectionFragment } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { ...EmailImportFragment } redirectionRules { ...RedirectionRuleFragment } hasBadges sponsorship { ...PublicationSponsorshipFragment } recommendedPublications { ...UserRecommendedPublicationEdgeFragment } totalRecommendedPublications recommendingPublications { ...PublicationUserRecommendingPublicationConnectionFragment } allowContributorEdits members { ...PublicationMemberConnectionFragment } publicMembers { ...PublicationMemberConnectionFragment } } } }
Variables
{"id": ObjectId}
Response
{ "data": { "scheduledPost": { "id": 4, "author": User, "draft": Draft, "scheduledDate": "2007-12-03T10:15:30Z", "scheduledBy": User, "publication": Publication } } }
searchPostsOfPublication
Description
Returns a paginated list of posts based on search query for a particular publication id.
Response
Returns a SearchPostConnection!
Arguments
Name | Description |
---|---|
first - Int! | The number of items to be returned per page. |
after - String | A cursor to the last item of the previous page. |
sortBy - PostSortBy | The sort order. |
filter - SearchPostsOfPublicationFilter! | The filter to be applied to the search. |
Example
Query
query SearchPostsOfPublication( $first: Int!, $after: String, $sortBy: PostSortBy, $filter: SearchPostsOfPublicationFilter! ) { searchPostsOfPublication( first: $first, after: $after, sortBy: $sortBy, filter: $filter ) { edges { node { ...PostFragment } cursor } pageInfo { hasNextPage endCursor } } }
Variables
{ "first": 123, "after": "xyz789", "sortBy": "DATE_PUBLISHED_ASC", "filter": SearchPostsOfPublicationFilter }
Response
{ "data": { "searchPostsOfPublication": { "edges": [PostEdge], "pageInfo": PageInfo } } }
tag
Description
Returns tag details by its slug.
Example
Query
query Tag($slug: String!) { tag(slug: $slug) { id name slug logo tagline info { markdown html text } followersCount postsCount posts { edges { ...PostEdgeFragment } pageInfo { ...PageInfoFragment } } } }
Variables
{"slug": "abc123"}
Response
{ "data": { "tag": { "id": "4", "name": "abc123", "slug": "xyz789", "logo": "xyz789", "tagline": "abc123", "info": Content, "followersCount": 987, "postsCount": 123, "posts": FeedPostConnection } } }
topCommenters
Description
Returns users who have most actively participated in discussions by commenting in the last 7 days.
Response
Returns a CommenterUserConnection!
Example
Query
query TopCommenters( $first: Int!, $after: String ) { topCommenters( first: $first, after: $after ) { edges { node { ...UserFragment } cursor } pageInfo { hasNextPage endCursor } } }
Variables
{"first": 123, "after": "abc123"}
Response
{ "data": { "topCommenters": { "edges": [UserEdge], "pageInfo": PageInfo } } }
user
Description
Returns the user with the username.
Response
Returns a User
Arguments
Name | Description |
---|---|
username - String! | The username of the user to retrieve. |
Example
Query
query User($username: String!) { user(username: $username) { id username name bio { markdown html text } bioV2 { markdown html text } profilePicture socialMediaLinks { website github twitter instagram facebook stackoverflow linkedin youtube bluesky } badges { id name description image dateAssigned infoURL suppressed } publications { edges { ...UserPublicationsEdgeFragment } pageInfo { ...PageInfoFragment } totalDocuments } posts { edges { ...UserPostEdgeFragment } nodes { ...PostFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { id name slug logo tagline info { ...ContentFragment } followersCount postsCount posts { ...FeedPostConnectionFragment } } ambassador deactivated following followsBack followers { nodes { ...UserFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } follows { nodes { ...UserFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } techStack { nodes { ...TagFragment } pageInfo { ...OffsetPageInfoFragment } totalDocuments } } }
Variables
{"username": "xyz789"}
Response
{ "data": { "user": { "id": 4, "username": "abc123", "name": "xyz789", "bio": Content, "bioV2": Content, "profilePicture": "xyz789", "socialMediaLinks": SocialMediaLinks, "badges": [Badge], "publications": UserPublicationsConnection, "posts": UserPostConnection, "followersCount": 987, "followingsCount": 987, "tagline": "abc123", "dateJoined": "2007-12-03T10:15:30Z", "location": "xyz789", "availableFor": "xyz789", "tagsFollowing": [Tag], "ambassador": true, "deactivated": true, "following": false, "followsBack": false, "followers": UserConnection, "follows": UserConnection, "techStack": UserTagsConnection } } }
Mutations
acceptInviteToDocumentationProject
Description
Mutation to accept an invite to a documentation project
Response
Returns an AcceptInviteToDocumentationProjectPayload!
Arguments
Name | Description |
---|---|
input - AcceptInviteToDocumentationProjectInput! |
Example
Query
mutation AcceptInviteToDocumentationProject($input: AcceptInviteToDocumentationProjectInput!) { acceptInviteToDocumentationProject(input: $input) { success project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": AcceptInviteToDocumentationProjectInput}
Response
{ "data": { "acceptInviteToDocumentationProject": { "success": true, "project": DocumentationProject } } }
acceptInviteToPublication
Description
Accepts an invitation to join a publication. The user is added as a member of the publication.
Response
Returns an AcceptInviteToPublicationPayload!
Arguments
Name | Description |
---|---|
input - AcceptInviteToPublicationInput! |
Example
Query
mutation AcceptInviteToPublication($input: AcceptInviteToPublicationInput!) { acceptInviteToPublication(input: $input) { success } }
Variables
{"input": AcceptInviteToPublicationInput}
Response
{"data": {"acceptInviteToPublication": {"success": false}}}
acceptRoleBasedInvite
Description
Accepts a role based invite and adds the user as a member of the publication. The user is assigned the role specified in the invite.
Response
Returns an AcceptRoleBasedInvitePayload!
Arguments
Name | Description |
---|---|
input - AcceptRoleBasedInviteInput! |
Example
Query
mutation AcceptRoleBasedInvite($input: AcceptRoleBasedInviteInput!) { acceptRoleBasedInvite(input: $input) { success } }
Variables
{"input": AcceptRoleBasedInviteInput}
Response
{"data": {"acceptRoleBasedInvite": {"success": true}}}
addComment
Description
Adds a comment to a post.
Response
Returns an AddCommentPayload!
Arguments
Name | Description |
---|---|
input - AddCommentInput! |
Example
Query
mutation AddComment($input: AddCommentInput!) { addComment(input: $input) { comment { id content { ...ContentFragment } author { ...UserFragment } replies { ...CommentReplyConnectionFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": AddCommentInput}
Response
{"data": {"addComment": {"comment": Comment}}}
addContentBlock
Response
Returns an AddContentBlockPayload!
Arguments
Name | Description |
---|---|
input - AddContentBlockInput! |
Example
Query
mutation AddContentBlock($input: AddContentBlockInput!) { addContentBlock(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": AddContentBlockInput}
Response
{ "data": { "addContentBlock": {"project": DocumentationProject} } }
addCustomMdxComponent
Response
Returns an AddCustomMdxComponentPayload!
Arguments
Name | Description |
---|---|
input - AddCustomMdxComponentInput! |
Example
Query
mutation AddCustomMdxComponent($input: AddCustomMdxComponentInput!) { addCustomMdxComponent(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": AddCustomMdxComponentInput}
Response
{ "data": { "addCustomMdxComponent": { "project": DocumentationProject } } }
addDocumentationProjectCustomDomain
Response
Returns an AddDocumentationProjectCustomDomainPayload!
Arguments
Name | Description |
---|---|
input - AddDocumentationProjectCustomDomainInput! |
Example
Query
mutation AddDocumentationProjectCustomDomain($input: AddDocumentationProjectCustomDomainInput!) { addDocumentationProjectCustomDomain(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } dnsVerificationEntries { type name value } wwwRedirectDnsVerificationEntries { type name value } } }
Variables
{"input": AddDocumentationProjectCustomDomainInput}
Response
{ "data": { "addDocumentationProjectCustomDomain": { "project": DocumentationProject, "dnsVerificationEntries": [DnsVerificationEntry], "wwwRedirectDnsVerificationEntries": [ DnsVerificationEntry ] } } }
addPostToSeries
Description
Adds a post to a series.
Response
Returns an AddPostToSeriesPayload!
Arguments
Name | Description |
---|---|
input - AddPostToSeriesInput! |
Example
Query
mutation AddPostToSeries($input: AddPostToSeriesInput!) { addPostToSeries(input: $input) { series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } } }
Variables
{"input": AddPostToSeriesInput}
Response
{"data": {"addPostToSeries": {"series": Series}}}
addReply
Description
Adds a reply to a comment.
Response
Returns an AddReplyPayload!
Arguments
Name | Description |
---|---|
input - AddReplyInput! |
Example
Query
mutation AddReply($input: AddReplyInput!) { addReply(input: $input) { reply { id content { ...ContentFragment } author { ...UserFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": AddReplyInput}
Response
{"data": {"addReply": {"reply": Reply}}}
cancelScheduledDraft
Response
Returns a CancelScheduledDraftPayload!
Arguments
Name | Description |
---|---|
input - CancelScheduledDraftInput! |
Example
Query
mutation CancelScheduledDraft($input: CancelScheduledDraftInput!) { cancelScheduledDraft(input: $input) { scheduledPost { id author { ...UserFragment } draft { ...DraftFragment } scheduledDate scheduledBy { ...UserFragment } publication { ...PublicationFragment } } } }
Variables
{"input": CancelScheduledDraftInput}
Response
{ "data": { "cancelScheduledDraft": { "scheduledPost": ScheduledPost } } }
changePublicationMemberRole
Description
Changes the role of a user in a publication.
Response
Returns a ChangePublicationMemberRolePayload!
Arguments
Name | Description |
---|---|
input - ChangePublicationMemberRoleInput! |
Example
Query
mutation ChangePublicationMemberRole($input: ChangePublicationMemberRoleInput!) { changePublicationMemberRole(input: $input) { member { id user { ...UserFragment } role privacyState } } }
Variables
{"input": ChangePublicationMemberRoleInput}
Response
{ "data": { "changePublicationMemberRole": { "member": PublicationMember } } }
changePublicationMemberVisibility
Description
Changes the privacy state of a user in a publication. PRIVATE members are not visible on the members page while PUBLIC members are visible.
Response
Arguments
Name | Description |
---|---|
input - ChangePublicationMemberVisibilityInput! |
Example
Query
mutation ChangePublicationMemberVisibility($input: ChangePublicationMemberVisibilityInput!) { changePublicationMemberVisibility(input: $input) { member { id user { ...UserFragment } role privacyState } } }
Variables
{"input": ChangePublicationMemberVisibilityInput}
Response
{ "data": { "changePublicationMemberVisibility": { "member": PublicationMember } } }
createDocumentationApiReference
Response
Returns a CreateDocumentationApiReferencePayload!
Arguments
Name | Description |
---|---|
input - CreateDocumentationApiReferenceInput! |
Example
Query
mutation CreateDocumentationApiReference($input: CreateDocumentationApiReferenceInput!) { createDocumentationApiReference(input: $input) { guide { id slug name status seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } isLocked lastModified versionId url publishedUrl definition provider } } }
Variables
{"input": CreateDocumentationApiReferenceInput}
Response
{ "data": { "createDocumentationApiReference": { "guide": DocumentationApiReference } } }
createDocumentationGuide
Response
Returns a CreateDocumentationGuidePayload!
Arguments
Name | Description |
---|---|
input - CreateDocumentationGuideInput! |
Example
Query
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 } } }
Variables
{"input": CreateDocumentationGuideInput}
Response
{ "data": { "createDocumentationGuide": { "guide": DocumentationGuide } } }
createDocumentationLink
Response
Returns a CreateDocumentationLinkPayload!
Arguments
Name | Description |
---|---|
input - CreateDocumentationLinkInput! |
Example
Query
mutation CreateDocumentationLink($input: CreateDocumentationLinkInput!) { createDocumentationLink(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 } link { id label url createdAt updatedAt status visibility } } }
Variables
{"input": CreateDocumentationLinkInput}
Response
{ "data": { "createDocumentationLink": { "guide": DocumentationGuide, "link": DocumentationLink } } }
createDocumentationPageDraft
Response
Returns a CreateDocumentationPageDraftPayload!
Arguments
Name | Description |
---|---|
input - CreateDocumentationPageDraftInput! |
Example
Query
mutation CreateDocumentationPageDraft($input: CreateDocumentationPageDraftInput!) { createDocumentationPageDraft(input: $input) { page { id path title description createdAt updatedAt format content { ...DocumentationPageContentFragment } status visibility guideSlug draft { ...DocumentationPageDraftFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } url } 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 } } }
Variables
{"input": CreateDocumentationPageDraftInput}
Response
{ "data": { "createDocumentationPageDraft": { "page": DocumentationPage, "guide": DocumentationGuide } } }
createDocumentationProject
Response
Returns a CreateDocumentationProjectPayload!
Arguments
Name | Description |
---|---|
input - CreateDocumentationProjectInput! |
Example
Query
mutation CreateDocumentationProject($input: CreateDocumentationProjectInput!) { createDocumentationProject(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": CreateDocumentationProjectInput}
Response
{ "data": { "createDocumentationProject": { "project": DocumentationProject } } }
createDocumentationSection
Response
Returns a CreateDocumentationSectionPayload!
Arguments
Name | Description |
---|---|
input - CreateDocumentationSectionInput! |
Example
Query
mutation CreateDocumentationSection($input: CreateDocumentationSectionInput!) { createDocumentationSection(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 } section { id label path pages { ...DocumentationSidebarItemPageFragment } createdAt updatedAt status visibility } } }
Variables
{"input": CreateDocumentationSectionInput}
Response
{ "data": { "createDocumentationSection": { "guide": DocumentationGuide, "section": DocumentationSection } } }
createDraft
Description
Creates a new draft for a post.
Response
Returns a CreateDraftPayload!
Arguments
Name | Description |
---|---|
input - CreateDraftInput! | Information about the draft to be created. |
Example
Query
mutation CreateDraft($input: CreateDraftInput!) { createDraft(input: $input) { draft { id slug title subtitle author { ...UserFragment } coAuthors { ...UserFragment } publishAs { ...UserFragment } tags { ...TagFragment } tagsV2 { ... on Tag { ...TagFragment } ... on DraftBaseTag { ...DraftBaseTagFragment } } canonicalUrl publication { ...PublicationFragment } coverImage { ...DraftCoverImageFragment } bannerImage { ...DraftBannerImageFragment } readTimeInMinutes series { ...SeriesFragment } content { ...ContentFragment } dateUpdated updatedAt settings { ...DraftSettingsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...DraftFeaturesFragment } lastBackup { ...DraftBackupFragment } lastSuccessfulBackupAt lastFailedBackupAt scheduledDate isSubmittedForReview publishedPost { ...PostFragment } } } }
Variables
{"input": CreateDraftInput}
Response
{"data": {"createDraft": {"draft": Draft}}}
createRedirectionRule
Response
Returns a CreateRedirectionRulePayload!
Arguments
Name | Description |
---|---|
input - CreateRedirectionRuleInput! |
Example
Query
mutation CreateRedirectionRule($input: CreateRedirectionRuleInput!) { createRedirectionRule(input: $input) { redirectionRule { id type source destination } } }
Variables
{"input": CreateRedirectionRuleInput}
Response
{ "data": { "createRedirectionRule": { "redirectionRule": RedirectionRule } } }
createRoleBasedInviteForPublication
Description
Creates a role based invite for a publication and returns a link to invite users to a publication.
Response
Arguments
Name | Description |
---|---|
input - CreateRoleBasedInviteForPublicationInput! |
Example
Query
mutation CreateRoleBasedInviteForPublication($input: CreateRoleBasedInviteForPublicationInput!) { createRoleBasedInviteForPublication(input: $input) { invite { id role isUnlimitedCapacity usedCapacity capacity inviteLink createdAt expiryDate } } }
Variables
{"input": CreateRoleBasedInviteForPublicationInput}
Response
{ "data": { "createRoleBasedInviteForPublication": { "invite": RoleBasedInvite } } }
createSeries
Description
Creates a new series.
Response
Returns a CreateSeriesPayload!
Arguments
Name | Description |
---|---|
input - CreateSeriesInput! |
Example
Query
mutation CreateSeries($input: CreateSeriesInput!) { createSeries(input: $input) { series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } } }
Variables
{"input": CreateSeriesInput}
Response
{"data": {"createSeries": {"series": Series}}}
createWebhook
Response
Returns a CreateWebhookPayload!
Arguments
Name | Description |
---|---|
input - CreateWebhookInput! |
Example
Query
mutation CreateWebhook($input: CreateWebhookInput!) { createWebhook(input: $input) { webhook { id publication { ...PublicationFragment } url events secret createdAt updatedAt messages { ...WebhookMessageConnectionFragment } } } }
Variables
{"input": CreateWebhookInput}
Response
{"data": {"createWebhook": {"webhook": Webhook}}}
deleteContentBlock
Response
Returns a DeleteContentBlockPayload!
Arguments
Name | Description |
---|---|
input - DeleteContentBlockInput! |
Example
Query
mutation DeleteContentBlock($input: DeleteContentBlockInput!) { deleteContentBlock(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": DeleteContentBlockInput}
Response
{ "data": { "deleteContentBlock": { "project": DocumentationProject } } }
deleteCustomMdxComponent
Response
Returns a DeleteCustomMdxComponentPayload!
Arguments
Name | Description |
---|---|
input - DeleteCustomMdxComponentInput! |
Example
Query
mutation DeleteCustomMdxComponent($input: DeleteCustomMdxComponentInput!) { deleteCustomMdxComponent(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": DeleteCustomMdxComponentInput}
Response
{ "data": { "deleteCustomMdxComponent": { "project": DocumentationProject } } }
deleteRoleBasedInvite
Description
Deletes a role based invite.
Response
Returns a DeleteRoleBasedInvitePayload!
Arguments
Name | Description |
---|---|
input - DeleteRoleBasedInviteInput! |
Example
Query
mutation DeleteRoleBasedInvite($input: DeleteRoleBasedInviteInput!) { deleteRoleBasedInvite(input: $input) { invite { id role isUnlimitedCapacity usedCapacity capacity inviteLink createdAt expiryDate } } }
Variables
{"input": DeleteRoleBasedInviteInput}
Response
{ "data": { "deleteRoleBasedInvite": {"invite": RoleBasedInvite} } }
deleteWebhook
Response
Returns a DeleteWebhookPayload!
Arguments
Name | Description |
---|---|
id - ID! |
Example
Query
mutation DeleteWebhook($id: ID!) { deleteWebhook(id: $id) { webhook { id publication { ...PublicationFragment } url events secret createdAt updatedAt messages { ...WebhookMessageConnectionFragment } } } }
Variables
{"id": "4"}
Response
{"data": {"deleteWebhook": {"webhook": Webhook}}}
disableDocumentationProjectAISearch
Description
Mutation to disable AI search for a documentation project
Response
Arguments
Name | Description |
---|---|
input - DisableDocumentationProjectAISearchInput! |
Example
Query
mutation DisableDocumentationProjectAISearch($input: DisableDocumentationProjectAISearchInput!) { disableDocumentationProjectAISearch(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": DisableDocumentationProjectAISearchInput}
Response
{ "data": { "disableDocumentationProjectAISearch": { "project": DocumentationProject } } }
disableDocumentationProjectHeadlessCms
Response
Arguments
Name | Description |
---|---|
input - DisableDocumentationProjectHeadlessCmsInput! |
Example
Query
mutation DisableDocumentationProjectHeadlessCms($input: DisableDocumentationProjectHeadlessCmsInput!) { disableDocumentationProjectHeadlessCms(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": DisableDocumentationProjectHeadlessCmsInput}
Response
{ "data": { "disableDocumentationProjectHeadlessCms": { "project": DocumentationProject } } }
enableDocumentationProjectAISearch
Description
Mutation to enable AI search for a documentation project
Response
Returns an EnableDocumentationProjectAISearchPayload!
Arguments
Name | Description |
---|---|
input - EnableDocumentationProjectAISearchInput! |
Example
Query
mutation EnableDocumentationProjectAISearch($input: EnableDocumentationProjectAISearchInput!) { enableDocumentationProjectAISearch(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": EnableDocumentationProjectAISearchInput}
Response
{ "data": { "enableDocumentationProjectAISearch": { "project": DocumentationProject } } }
enableDocumentationProjectHeadlessCms
Response
Arguments
Name | Description |
---|---|
input - EnableDocumentationProjectHeadlessCmsInput! |
Example
Query
mutation EnableDocumentationProjectHeadlessCms($input: EnableDocumentationProjectHeadlessCmsInput!) { enableDocumentationProjectHeadlessCms(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": EnableDocumentationProjectHeadlessCmsInput}
Response
{ "data": { "enableDocumentationProjectHeadlessCms": { "project": DocumentationProject } } }
followTags
Response
Returns a FollowTagsPayload!
Arguments
Name | Description |
---|---|
input - FollowTagsInput! |
Example
Query
mutation FollowTags($input: FollowTagsInput!) { followTags(input: $input) { tags { id name slug logo tagline info { ...ContentFragment } followersCount postsCount posts { ...FeedPostConnectionFragment } } } }
Variables
{"input": FollowTagsInput}
Response
{"data": {"followTags": {"tags": [Tag]}}}
generateDocumentationProjectPreviewAuthorizationToken
Description
Will generate a authorization JWT to preview a docs project. A token is required to generate the JWT.
Response
Returns a GenerateDocumentationProjectPreviewAuthorizationTokenPayload!
Arguments
Name | Description |
---|---|
input - GenerateDocumentationProjectPreviewAuthorizationTokenInput! |
Example
Query
mutation GenerateDocumentationProjectPreviewAuthorizationToken($input: GenerateDocumentationProjectPreviewAuthorizationTokenInput!) { generateDocumentationProjectPreviewAuthorizationToken(input: $input) { authorizationToken project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{ "input": GenerateDocumentationProjectPreviewAuthorizationTokenInput }
Response
{ "data": { "generateDocumentationProjectPreviewAuthorizationToken": { "authorizationToken": "xyz789", "project": DocumentationProject } } }
generateDocumentationProjectPreviewToken
Description
Will generate a token that can be exchanged as a JWT to preview a docs project. Only the owner or editors of the project can generate the token.
Response
Arguments
Name | Description |
---|---|
input - GenerateDocumentationProjectPreviewTokenInput! |
Example
Query
mutation GenerateDocumentationProjectPreviewToken($input: GenerateDocumentationProjectPreviewTokenInput!) { generateDocumentationProjectPreviewToken(input: $input) { token project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": GenerateDocumentationProjectPreviewTokenInput}
Response
{ "data": { "generateDocumentationProjectPreviewToken": { "token": "abc123", "project": DocumentationProject } } }
inviteDocumentationProjectAdmin
Description
Mutation to invite an user to a documentation project
Response
Returns an InviteDocumentationProjectAdminPayload!
Arguments
Name | Description |
---|---|
input - InviteDocumentationProjectAdminInput! |
Example
Query
mutation InviteDocumentationProjectAdmin($input: InviteDocumentationProjectAdminInput!) { inviteDocumentationProjectAdmin(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } invitedMembers { user { ...UserFragment } email role } } }
Variables
{"input": InviteDocumentationProjectAdminInput}
Response
{ "data": { "inviteDocumentationProjectAdmin": { "project": DocumentationProject, "invitedMembers": [DocsProjectInvitedMembers] } } }
inviteUsersToPublication
Description
Invites users to a publication. Either by username or email.
Response
Returns an InviteUsersToPublicationPayload!
Arguments
Name | Description |
---|---|
input - InviteUsersToPublicationInput! |
Example
Query
mutation InviteUsersToPublication($input: InviteUsersToPublicationInput!) { inviteUsersToPublication(input: $input) { success successfulInviteCount failedInvites { email username errorMessage } } }
Variables
{"input": InviteUsersToPublicationInput}
Response
{ "data": { "inviteUsersToPublication": { "success": false, "successfulInviteCount": 123, "failedInvites": [FailedInvite] } } }
likeComment
Description
Likes a comment.
Response
Returns a LikeCommentPayload!
Arguments
Name | Description |
---|---|
input - LikeCommentInput! |
Example
Query
mutation LikeComment($input: LikeCommentInput!) { likeComment(input: $input) { comment { id content { ...ContentFragment } author { ...UserFragment } replies { ...CommentReplyConnectionFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": LikeCommentInput}
Response
{"data": {"likeComment": {"comment": Comment}}}
likePost
Description
Likes a post.
Response
Returns a LikePostPayload!
Arguments
Name | Description |
---|---|
input - LikePostInput! |
Example
Query
mutation LikePost($input: LikePostInput!) { likePost(input: $input) { post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"input": LikePostInput}
Response
{"data": {"likePost": {"post": Post}}}
likeReply
Description
Likes a reply.
Response
Returns a LikeReplyPayload!
Arguments
Name | Description |
---|---|
input - LikeReplyInput! |
Example
Query
mutation LikeReply($input: LikeReplyInput!) { likeReply(input: $input) { reply { id content { ...ContentFragment } author { ...UserFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": LikeReplyInput}
Response
{"data": {"likeReply": {"reply": Reply}}}
mapDocumentationProjectCustomDomainWwwRedirect
Response
Returns a MapDocumentationProjectCustomDomainWwwRedirectPayload!
Arguments
Name | Description |
---|---|
input - MapDocumentationProjectCustomDomainWwwRedirectInput! |
Example
Query
mutation MapDocumentationProjectCustomDomainWwwRedirect($input: MapDocumentationProjectCustomDomainWwwRedirectInput!) { mapDocumentationProjectCustomDomainWwwRedirect(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } dnsVerificationEntries { type name value } } }
Variables
{ "input": MapDocumentationProjectCustomDomainWwwRedirectInput }
Response
{ "data": { "mapDocumentationProjectCustomDomainWwwRedirect": { "project": DocumentationProject, "dnsVerificationEntries": [DnsVerificationEntry] } } }
moveDocumentationSidebarItem
Response
Returns a MoveDocumentationSidebarItemPayload!
Arguments
Name | Description |
---|---|
input - MoveDocumentationSidebarItemInput! |
Example
Query
mutation MoveDocumentationSidebarItem($input: MoveDocumentationSidebarItemInput!) { moveDocumentationSidebarItem(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 } } }
Variables
{"input": MoveDocumentationSidebarItemInput}
Response
{ "data": { "moveDocumentationSidebarItem": { "guide": DocumentationGuide } } }
publishDocumentationApiReference
Response
Returns a PublishDocumentationApiReferencePayload!
Arguments
Name | Description |
---|---|
input - PublishDocumentationApiReferenceInput! |
Example
Query
mutation PublishDocumentationApiReference($input: PublishDocumentationApiReferenceInput!) { publishDocumentationApiReference(input: $input) { guide { id slug name status seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } isLocked lastModified versionId url publishedUrl definition provider } } }
Variables
{"input": PublishDocumentationApiReferenceInput}
Response
{ "data": { "publishDocumentationApiReference": { "guide": DocumentationApiReference } } }
publishDocumentationGuide
publishDocumentationGuideVersion
instead Description
Publishes the default version of the guide.
Response
Returns a PublishDocumentationGuidePayload!
Arguments
Name | Description |
---|---|
input - PublishDocumentationGuideInput! |
Example
Query
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 } } }
Variables
{"input": PublishDocumentationGuideInput}
Response
{ "data": { "publishDocumentationGuide": { "guide": DocumentationGuide } } }
publishDocumentationPageDraft
Response
Returns a PublishDocumentationPageDraftPayload!
Arguments
Name | Description |
---|---|
input - PublishDocumentationPageDraftInput! |
Example
Query
mutation PublishDocumentationPageDraft($input: PublishDocumentationPageDraftInput!) { publishDocumentationPageDraft(input: $input) { page { id path title description createdAt updatedAt format content { ...DocumentationPageContentFragment } status visibility guideSlug draft { ...DocumentationPageDraftFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } url } 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 } } }
Variables
{"input": PublishDocumentationPageDraftInput}
Response
{ "data": { "publishDocumentationPageDraft": { "page": DocumentationPage, "guide": DocumentationGuide } } }
publishDraft
Description
Publishes an existing draft as a post.
Response
Returns a PublishDraftPayload!
Arguments
Name | Description |
---|---|
input - PublishDraftInput! | Information about the draft to be published. |
Example
Query
mutation PublishDraft($input: PublishDraftInput!) { publishDraft(input: $input) { post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"input": PublishDraftInput}
Response
{"data": {"publishDraft": {"post": Post}}}
publishPost
Description
Creates a new post.
Response
Returns a PublishPostPayload!
Arguments
Name | Description |
---|---|
input - PublishPostInput! | Information about the post to be published. |
Example
Query
mutation PublishPost($input: PublishPostInput!) { publishPost(input: $input) { post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"input": PublishPostInput}
Response
{"data": {"publishPost": {"post": Post}}}
recommendPublications
Response
Returns a RecommendPublicationsPayload!
Arguments
Name | Description |
---|---|
input - RecommendPublicationsInput! |
Example
Query
mutation RecommendPublications($input: RecommendPublicationsInput!) { recommendPublications(input: $input) { recommendedPublications { node { ...PublicationFragment } totalFollowersGained } } }
Variables
{"input": RecommendPublicationsInput}
Response
{ "data": { "recommendPublications": { "recommendedPublications": [ UserRecommendedPublicationEdge ] } } }
reinviteUserToPublication
Description
Resends an invitation to a user to join a publication. The user must have been previously invited. Sends an email to the user.
Response
Returns a ReinviteUserToPublicationPayload!
Arguments
Name | Description |
---|---|
input - ReinviteUserToPublicationInput! |
Example
Query
mutation ReinviteUserToPublication($input: ReinviteUserToPublicationInput!) { reinviteUserToPublication(input: $input) { success } }
Variables
{"input": ReinviteUserToPublicationInput}
Response
{"data": {"reinviteUserToPublication": {"success": true}}}
removeComment
Description
Removes a comment from a post.
Response
Returns a RemoveCommentPayload!
Arguments
Name | Description |
---|---|
input - RemoveCommentInput! |
Example
Query
mutation RemoveComment($input: RemoveCommentInput!) { removeComment(input: $input) { comment { id content { ...ContentFragment } author { ...UserFragment } replies { ...CommentReplyConnectionFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": RemoveCommentInput}
Response
{"data": {"removeComment": {"comment": Comment}}}
removeDocumentationGuide
Response
Returns a RemoveDocumentationGuidePayload!
Arguments
Name | Description |
---|---|
input - RemoveDocumentationGuideInput! |
Example
Query
mutation RemoveDocumentationGuide($input: RemoveDocumentationGuideInput!) { removeDocumentationGuide(input: $input) { guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } } }
Variables
{"input": RemoveDocumentationGuideInput}
Response
{ "data": { "removeDocumentationGuide": { "guide": DocumentationGuide } } }
removeDocumentationProject
Description
Mutation to remove a documentation project. This will free the custom domain and subdomain and removes all guides and pages.
Response
Returns a RemoveDocumentationProjectPayload!
Arguments
Name | Description |
---|---|
input - RemoveDocumentationProjectInput! |
Example
Query
mutation RemoveDocumentationProject($input: RemoveDocumentationProjectInput!) { removeDocumentationProject(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": RemoveDocumentationProjectInput}
Response
{ "data": { "removeDocumentationProject": { "project": DocumentationProject } } }
removeDocumentationProjectAIPrompt
Description
Mutation to remove a prompt from the AI search
Response
Arguments
Name | Description |
---|---|
input - RemoveDocumentationProjectAIPromptInput! |
Example
Query
mutation RemoveDocumentationProjectAIPrompt($input: RemoveDocumentationProjectAIPromptInput!) { removeDocumentationProjectAIPrompt(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": RemoveDocumentationProjectAIPromptInput}
Response
{ "data": { "removeDocumentationProjectAIPrompt": { "project": DocumentationProject } } }
removeDocumentationProjectCustomDomain
Response
Arguments
Name | Description |
---|---|
input - RemoveDocumentationProjectCustomDomainInput! |
Example
Query
mutation RemoveDocumentationProjectCustomDomain($input: RemoveDocumentationProjectCustomDomainInput!) { removeDocumentationProjectCustomDomain(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": RemoveDocumentationProjectCustomDomainInput}
Response
{ "data": { "removeDocumentationProjectCustomDomain": { "project": DocumentationProject } } }
removeDocumentationProjectMember
Description
Mutation to remove a Member from a Documentation Project
Response
Returns a RemoveDocumentationProjectMemberPayload!
Arguments
Name | Description |
---|---|
input - RemoveDocumentationProjectMemberInput! |
Example
Query
mutation RemoveDocumentationProjectMember($input: RemoveDocumentationProjectMemberInput!) { removeDocumentationProjectMember(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } removedMember { user { ...UserFragment } role } } }
Variables
{"input": RemoveDocumentationProjectMemberInput}
Response
{ "data": { "removeDocumentationProjectMember": { "project": DocumentationProject, "removedMember": DocumentationProjectMember } } }
removeDocumentationSidebarItem
Response
Returns a RemoveDocumentationSidebarItemPayload!
Arguments
Name | Description |
---|---|
input - RemoveDocumentationSidebarItemInput! |
Example
Query
mutation RemoveDocumentationSidebarItem($input: RemoveDocumentationSidebarItemInput!) { removeDocumentationSidebarItem(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 } } }
Variables
{"input": RemoveDocumentationSidebarItemInput}
Response
{ "data": { "removeDocumentationSidebarItem": { "guide": DocumentationGuide } } }
removePost
Description
Removes a post.
Response
Returns a RemovePostPayload!
Arguments
Name | Description |
---|---|
input - RemovePostInput! |
Example
Query
mutation RemovePost($input: RemovePostInput!) { removePost(input: $input) { post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"input": RemovePostInput}
Response
{"data": {"removePost": {"post": Post}}}
removePublicationMember
Description
Removes a user from a teams publication.
Response
Returns a RemovePublicationMemberPayload!
Arguments
Name | Description |
---|---|
input - RemovePublicationMemberInput! |
Example
Query
mutation RemovePublicationMember($input: RemovePublicationMemberInput!) { removePublicationMember(input: $input) { member { id user { ...UserFragment } role privacyState } } }
Variables
{"input": RemovePublicationMemberInput}
Response
{ "data": { "removePublicationMember": { "member": PublicationMember } } }
removeRecommendation
Response
Returns a RemoveRecommendationPayload!
Arguments
Name | Description |
---|---|
input - RemoveRecommendationInput! |
Example
Query
mutation RemoveRecommendation($input: RemoveRecommendationInput!) { removeRecommendation(input: $input) { recommendedPublication { id title displayTitle descriptionSEO about { ...ContentFragment } url canonicalURL author { ...UserFragment } favicon headerColor metaTags integrations { ...PublicationIntegrationsFragment } invites { ...PublicationInviteFragment } preferences { ...PreferencesFragment } followersCount imprint imprintV2 { ...ContentFragment } isTeam links { ...PublicationLinksFragment } domainInfo { ...DomainInfoFragment } isHeadless series { ...SeriesFragment } seriesList { ...SeriesConnectionFragment } posts { ...PublicationPostConnectionFragment } postsViaPage { ...PublicationPostPageConnectionFragment } pinnedPost { ...PostFragment } post { ...PostFragment } redirectedPost { ...PostFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...PublicationFeaturesFragment } drafts { ...DraftConnectionFragment } allDrafts { ...DraftConnectionFragment } scheduledDrafts { ...DraftConnectionFragment } allScheduledDrafts { ...DraftConnectionFragment } staticPage { ...StaticPageFragment } staticPages { ...StaticPageConnectionFragment } submittedDrafts { ...DraftConnectionFragment } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { ...EmailImportFragment } redirectionRules { ...RedirectionRuleFragment } hasBadges sponsorship { ...PublicationSponsorshipFragment } recommendedPublications { ...UserRecommendedPublicationEdgeFragment } totalRecommendedPublications recommendingPublications { ...PublicationUserRecommendingPublicationConnectionFragment } allowContributorEdits members { ...PublicationMemberConnectionFragment } publicMembers { ...PublicationMemberConnectionFragment } } } }
Variables
{"input": RemoveRecommendationInput}
Response
{ "data": { "removeRecommendation": { "recommendedPublication": Publication } } }
removeRedirectionRule
Response
Returns a RemoveRedirectionRulePayload!
Arguments
Name | Description |
---|---|
input - RemoveRedirectionRuleInput! |
Example
Query
mutation RemoveRedirectionRule($input: RemoveRedirectionRuleInput!) { removeRedirectionRule(input: $input) { redirectionRule { id type source destination } } }
Variables
{"input": RemoveRedirectionRuleInput}
Response
{ "data": { "removeRedirectionRule": { "redirectionRule": RedirectionRule } } }
removeReply
Description
Removes a reply from a comment.
Response
Returns a RemoveReplyPayload!
Arguments
Name | Description |
---|---|
input - RemoveReplyInput! |
Example
Query
mutation RemoveReply($input: RemoveReplyInput!) { removeReply(input: $input) { reply { id content { ...ContentFragment } author { ...UserFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": RemoveReplyInput}
Response
{"data": {"removeReply": {"reply": Reply}}}
removeSeries
Description
Removes a series.
Response
Returns a RemoveSeriesPayload!
Arguments
Name | Description |
---|---|
input - RemoveSeriesInput! |
Example
Query
mutation RemoveSeries($input: RemoveSeriesInput!) { removeSeries(input: $input) { series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } } }
Variables
{"input": RemoveSeriesInput}
Response
{"data": {"removeSeries": {"series": Series}}}
renameDocumentationGuide
Response
Returns a RenameDocumentationGuideItemPayload!
Arguments
Name | Description |
---|---|
input - RenameDocumentationGuideItemInput! |
Example
Query
mutation RenameDocumentationGuide($input: RenameDocumentationGuideItemInput!) { renameDocumentationGuide(input: $input) { guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } } }
Variables
{"input": RenameDocumentationGuideItemInput}
Response
{ "data": { "renameDocumentationGuide": { "guide": DocumentationGuide } } }
renameDocumentationSidebarItem
Response
Returns a RenameDocumentationSidebarItemPayload!
Arguments
Name | Description |
---|---|
input - RenameDocumentationSidebarItemInput! |
Example
Query
mutation RenameDocumentationSidebarItem($input: RenameDocumentationSidebarItemInput!) { renameDocumentationSidebarItem(input: $input) { item { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } 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 } } }
Variables
{"input": RenameDocumentationSidebarItemInput}
Response
{ "data": { "renameDocumentationSidebarItem": { "item": DocumentationSection, "guide": DocumentationGuide } } }
rescheduleDraft
Description
Reschedule a draft.
Response
Returns a RescheduleDraftPayload!
Arguments
Name | Description |
---|---|
input - RescheduleDraftInput! |
Example
Query
mutation RescheduleDraft($input: RescheduleDraftInput!) { rescheduleDraft(input: $input) { scheduledPost { id author { ...UserFragment } draft { ...DraftFragment } scheduledDate scheduledBy { ...UserFragment } publication { ...PublicationFragment } } } }
Variables
{"input": RescheduleDraftInput}
Response
{ "data": { "rescheduleDraft": {"scheduledPost": ScheduledPost} } }
resendWebhookRequest
Response
Returns a ResendWebhookRequestPayload!
Arguments
Name | Description |
---|---|
input - ResendWebhookRequestInput! |
Example
Query
mutation ResendWebhookRequest($input: ResendWebhookRequestInput!) { resendWebhookRequest(input: $input) { webhookMessage { id url event isError isTest isResent request { ...WebhookMessageRequestFragment } response { ...WebhookMessageResponseFragment } createdAt } } }
Variables
{"input": ResendWebhookRequestInput}
Response
{ "data": { "resendWebhookRequest": { "webhookMessage": WebhookMessage } } }
restorePost
Description
Restores a deleted post.
Response
Returns a RestorePostPayload!
Arguments
Name | Description |
---|---|
input - RestorePostInput! |
Example
Query
mutation RestorePost($input: RestorePostInput!) { restorePost(input: $input) { post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"input": RestorePostInput}
Response
{"data": {"restorePost": {"post": Post}}}
retryDocumentationProjectCustomDomainVerification
Response
Returns a RetryDocumentationProjectCustomDomainVerificationPayload!
Arguments
Name | Description |
---|---|
input - RetryDocumentationProjectCustomDomainVerificationInput! |
Example
Query
mutation RetryDocumentationProjectCustomDomainVerification($input: RetryDocumentationProjectCustomDomainVerificationInput!) { retryDocumentationProjectCustomDomainVerification(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{ "input": RetryDocumentationProjectCustomDomainVerificationInput }
Response
{ "data": { "retryDocumentationProjectCustomDomainVerification": { "project": DocumentationProject } } }
revokeInviteToDocumentationProject
Description
Mutation to revoke documentation project invite
Response
Arguments
Name | Description |
---|---|
input - RevokeInviteToDocumentationProjectInput! |
Example
Query
mutation RevokeInviteToDocumentationProject($input: RevokeInviteToDocumentationProjectInput!) { revokeInviteToDocumentationProject(input: $input) { success project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": RevokeInviteToDocumentationProjectInput}
Response
{ "data": { "revokeInviteToDocumentationProject": { "success": true, "project": DocumentationProject } } }
revokeUserInviteToPublication
Description
Revokes a user invitation that was sent to join a publication.
Response
Returns a RevokeUserInviteToPublicationPayload!
Arguments
Name | Description |
---|---|
input - RevokeUserInviteToPublicationInput! |
Example
Query
mutation RevokeUserInviteToPublication($input: RevokeUserInviteToPublicationInput!) { revokeUserInviteToPublication(input: $input) { success } }
Variables
{"input": RevokeUserInviteToPublicationInput}
Response
{"data": {"revokeUserInviteToPublication": {"success": true}}}
saveDocumentationPageDraftContent
Response
Arguments
Name | Description |
---|---|
input - SaveDocumentationPageDraftContentInput! |
Example
Query
mutation SaveDocumentationPageDraftContent($input: SaveDocumentationPageDraftContentInput!) { saveDocumentationPageDraftContent(input: $input) { page { id path title description createdAt updatedAt format content { ...DocumentationPageContentFragment } status visibility guideSlug draft { ...DocumentationPageDraftFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } url } } }
Variables
{"input": SaveDocumentationPageDraftContentInput}
Response
{ "data": { "saveDocumentationPageDraftContent": { "page": DocumentationPage } } }
scheduleDraft
Response
Returns a ScheduleDraftPayload!
Arguments
Name | Description |
---|---|
input - ScheduleDraftInput! | Information about the draft to be published. |
Example
Query
mutation ScheduleDraft($input: ScheduleDraftInput!) { scheduleDraft(input: $input) { scheduledPost { id author { ...UserFragment } draft { ...DraftFragment } scheduledDate scheduledBy { ...UserFragment } publication { ...PublicationFragment } } } }
Variables
{"input": ScheduleDraftInput}
Response
{ "data": { "scheduleDraft": {"scheduledPost": ScheduledPost} } }
setDocumentationSidebarItemVisibility
Response
Arguments
Name | Description |
---|---|
input - SetDocumentationSidebarItemVisibilityInput! |
Example
Query
mutation SetDocumentationSidebarItemVisibility($input: SetDocumentationSidebarItemVisibilityInput!) { setDocumentationSidebarItemVisibility(input: $input) { item { ... on DocumentationSection { ...DocumentationSectionFragment } ... on DocumentationSidebarItemPage { ...DocumentationSidebarItemPageFragment } ... on DocumentationLink { ...DocumentationLinkFragment } } 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 } } }
Variables
{"input": SetDocumentationSidebarItemVisibilityInput}
Response
{ "data": { "setDocumentationSidebarItemVisibility": { "item": DocumentationSection, "guide": DocumentationGuide } } }
subscribeToNewsletter
Response
Returns a SubscribeToNewsletterPayload!
Arguments
Name | Description |
---|---|
input - SubscribeToNewsletterInput! |
Example
Query
mutation SubscribeToNewsletter($input: SubscribeToNewsletterInput!) { subscribeToNewsletter(input: $input) { status } }
Variables
{"input": SubscribeToNewsletterInput}
Response
{"data": {"subscribeToNewsletter": {"status": "PENDING"}}}
syncDocumentationProjectApiDefinition
Description
Mutation to sync documentation API reference definition
Response
Arguments
Name | Description |
---|---|
input - SyncDocumentationProjectApiDefinitionInput! |
Example
Query
mutation SyncDocumentationProjectApiDefinition($input: SyncDocumentationProjectApiDefinitionInput!) { syncDocumentationProjectApiDefinition(input: $input) { success } }
Variables
{"input": SyncDocumentationProjectApiDefinitionInput}
Response
{"data": {"syncDocumentationProjectApiDefinition": {"success": true}}}
toggleAllowContributorEdits
Description
Toggle allowContributorEdits flag to allow or restrict external contributors to further edit published articles.
Response
Returns a ToggleAllowContributorEditsPayload!
Arguments
Name | Description |
---|---|
input - ToggleAllowContributorEditsInput! |
Example
Query
mutation ToggleAllowContributorEdits($input: ToggleAllowContributorEditsInput!) { toggleAllowContributorEdits(input: $input) { publication { id title displayTitle descriptionSEO about { ...ContentFragment } url canonicalURL author { ...UserFragment } favicon headerColor metaTags integrations { ...PublicationIntegrationsFragment } invites { ...PublicationInviteFragment } preferences { ...PreferencesFragment } followersCount imprint imprintV2 { ...ContentFragment } isTeam links { ...PublicationLinksFragment } domainInfo { ...DomainInfoFragment } isHeadless series { ...SeriesFragment } seriesList { ...SeriesConnectionFragment } posts { ...PublicationPostConnectionFragment } postsViaPage { ...PublicationPostPageConnectionFragment } pinnedPost { ...PostFragment } post { ...PostFragment } redirectedPost { ...PostFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...PublicationFeaturesFragment } drafts { ...DraftConnectionFragment } allDrafts { ...DraftConnectionFragment } scheduledDrafts { ...DraftConnectionFragment } allScheduledDrafts { ...DraftConnectionFragment } staticPage { ...StaticPageFragment } staticPages { ...StaticPageConnectionFragment } submittedDrafts { ...DraftConnectionFragment } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { ...EmailImportFragment } redirectionRules { ...RedirectionRuleFragment } hasBadges sponsorship { ...PublicationSponsorshipFragment } recommendedPublications { ...UserRecommendedPublicationEdgeFragment } totalRecommendedPublications recommendingPublications { ...PublicationUserRecommendingPublicationConnectionFragment } allowContributorEdits members { ...PublicationMemberConnectionFragment } publicMembers { ...PublicationMemberConnectionFragment } } } }
Variables
{"input": ToggleAllowContributorEditsInput}
Response
{ "data": { "toggleAllowContributorEdits": { "publication": Publication } } }
toggleFollowUser
Description
Update the follow state for the user that is provided via id or username. If the authenticated user does not follow the user, the mutation will follow the user. If the authenticated user already follows the user, the mutation will un-follow the user. Only available to the authenticated user.
Response
Returns a ToggleFollowUserPayload!
Example
Query
mutation ToggleFollowUser( $id: ID, $username: String ) { toggleFollowUser( id: $id, username: $username ) { user { id username name bio { ...ContentFragment } bioV2 { ...ContentFragment } profilePicture socialMediaLinks { ...SocialMediaLinksFragment } badges { ...BadgeFragment } publications { ...UserPublicationsConnectionFragment } posts { ...UserPostConnectionFragment } followersCount followingsCount tagline dateJoined location availableFor tagsFollowing { ...TagFragment } ambassador deactivated following followsBack followers { ...UserConnectionFragment } follows { ...UserConnectionFragment } techStack { ...UserTagsConnectionFragment } } } }
Variables
{"id": 4, "username": "abc123"}
Response
{"data": {"toggleFollowUser": {"user": User}}}
toggleGPTBotCrawling
Description
Toggle GPT bot crawling feature.
Response
Returns a ToggleGPTBotCrawlingPayload!
Arguments
Name | Description |
---|---|
input - ToggleGPTBotCrawlingInput! |
Example
Query
mutation ToggleGPTBotCrawling($input: ToggleGPTBotCrawlingInput!) { toggleGPTBotCrawling(input: $input) { publication { id title displayTitle descriptionSEO about { ...ContentFragment } url canonicalURL author { ...UserFragment } favicon headerColor metaTags integrations { ...PublicationIntegrationsFragment } invites { ...PublicationInviteFragment } preferences { ...PreferencesFragment } followersCount imprint imprintV2 { ...ContentFragment } isTeam links { ...PublicationLinksFragment } domainInfo { ...DomainInfoFragment } isHeadless series { ...SeriesFragment } seriesList { ...SeriesConnectionFragment } posts { ...PublicationPostConnectionFragment } postsViaPage { ...PublicationPostPageConnectionFragment } pinnedPost { ...PostFragment } post { ...PostFragment } redirectedPost { ...PostFragment } ogMetaData { ...OpenGraphMetaDataFragment } features { ...PublicationFeaturesFragment } drafts { ...DraftConnectionFragment } allDrafts { ...DraftConnectionFragment } scheduledDrafts { ...DraftConnectionFragment } allScheduledDrafts { ...DraftConnectionFragment } staticPage { ...StaticPageFragment } staticPages { ...StaticPageConnectionFragment } submittedDrafts { ...DraftConnectionFragment } isGitHubBackupEnabled isGithubAsSourceConnected urlPattern emailImport { ...EmailImportFragment } redirectionRules { ...RedirectionRuleFragment } hasBadges sponsorship { ...PublicationSponsorshipFragment } recommendedPublications { ...UserRecommendedPublicationEdgeFragment } totalRecommendedPublications recommendingPublications { ...PublicationUserRecommendingPublicationConnectionFragment } allowContributorEdits members { ...PublicationMemberConnectionFragment } publicMembers { ...PublicationMemberConnectionFragment } } } }
Variables
{"input": ToggleGPTBotCrawlingInput}
Response
{ "data": { "toggleGPTBotCrawling": {"publication": Publication} } }
toggleRoleBasedInviteLinks
Description
Toggles role based invite links' active status. Users can join the publication by the invite link only if it is active.
Response
Returns a ToggleRoleBasedInviteLinksPayload!
Arguments
Name | Description |
---|---|
publicationId - ID! |
Example
Query
mutation ToggleRoleBasedInviteLinks($publicationId: ID!) { toggleRoleBasedInviteLinks(publicationId: $publicationId) { areRoleBasedInviteLinksActive } }
Variables
{"publicationId": 4}
Response
{ "data": { "toggleRoleBasedInviteLinks": {"areRoleBasedInviteLinksActive": true} } }
triggerWebhookTest
Response
Returns a TriggerWebhookTestPayload!
Arguments
Name | Description |
---|---|
input - TriggerWebhookTestInput! |
Example
Query
mutation TriggerWebhookTest($input: TriggerWebhookTestInput!) { triggerWebhookTest(input: $input) { webhook { id publication { ...PublicationFragment } url events secret createdAt updatedAt messages { ...WebhookMessageConnectionFragment } } } }
Variables
{"input": TriggerWebhookTestInput}
Response
{"data": {"triggerWebhookTest": {"webhook": Webhook}}}
unfollowTags
Response
Returns an UnfollowTagsPayload!
Arguments
Name | Description |
---|---|
input - UnfollowTagsInput! |
Example
Query
mutation UnfollowTags($input: UnfollowTagsInput!) { unfollowTags(input: $input) { tags { id name slug logo tagline info { ...ContentFragment } followersCount postsCount posts { ...FeedPostConnectionFragment } } } }
Variables
{"input": UnfollowTagsInput}
Response
{"data": {"unfollowTags": {"tags": [Tag]}}}
unsubscribeFromNewsletter
Response
Returns an UnsubscribeFromNewsletterPayload!
Arguments
Name | Description |
---|---|
input - UnsubscribeFromNewsletterInput! |
Example
Query
mutation UnsubscribeFromNewsletter($input: UnsubscribeFromNewsletterInput!) { unsubscribeFromNewsletter(input: $input) { status } }
Variables
{"input": UnsubscribeFromNewsletterInput}
Response
{"data": {"unsubscribeFromNewsletter": {"status": "UNSUBSCRIBED"}}}
updateComment
Description
Updates a comment on a post.
Response
Returns an UpdateCommentPayload!
Arguments
Name | Description |
---|---|
input - UpdateCommentInput! |
Example
Query
mutation UpdateComment($input: UpdateCommentInput!) { updateComment(input: $input) { comment { id content { ...ContentFragment } author { ...UserFragment } replies { ...CommentReplyConnectionFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": UpdateCommentInput}
Response
{"data": {"updateComment": {"comment": Comment}}}
updateContentBlock
Response
Returns an UpdateContentBlockPayload!
Arguments
Name | Description |
---|---|
input - UpdateContentBlockInput! |
Example
Query
mutation UpdateContentBlock($input: UpdateContentBlockInput!) { updateContentBlock(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateContentBlockInput}
Response
{ "data": { "updateContentBlock": { "project": DocumentationProject } } }
updateCustomMdxComponent
Response
Returns an UpdateCustomMdxComponentPayload!
Arguments
Name | Description |
---|---|
input - UpdateCustomMdxComponentInput! |
Example
Query
mutation UpdateCustomMdxComponent($input: UpdateCustomMdxComponentInput!) { updateCustomMdxComponent(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateCustomMdxComponentInput}
Response
{ "data": { "updateCustomMdxComponent": { "project": DocumentationProject } } }
updateDocumentationAppearance
Response
Returns an UpdateDocumentationAppearancePayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationAppearanceInput! |
Example
Query
mutation UpdateDocumentationAppearance($input: UpdateDocumentationAppearanceInput!) { updateDocumentationAppearance(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateDocumentationAppearanceInput}
Response
{ "data": { "updateDocumentationAppearance": { "project": DocumentationProject } } }
updateDocumentationGeneralSettings
Response
Returns an UpdateDocumentationGeneralSettingsPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationGeneralSettingsInput! |
Example
Query
mutation UpdateDocumentationGeneralSettings($input: UpdateDocumentationGeneralSettingsInput!) { updateDocumentationGeneralSettings(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateDocumentationGeneralSettingsInput}
Response
{ "data": { "updateDocumentationGeneralSettings": { "project": DocumentationProject } } }
updateDocumentationGuide
Response
Returns an UpdateDocumentationGuidePayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationGuideInput! |
Example
Query
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 } } }
Variables
{"input": UpdateDocumentationGuideInput}
Response
{ "data": { "updateDocumentationGuide": { "guide": DocumentationGuide } } }
updateDocumentationIntegrations
Response
Returns an UpdateDocumentationIntegrationsPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationIntegrationsInput! |
Example
Query
mutation UpdateDocumentationIntegrations($input: UpdateDocumentationIntegrationsInput!) { updateDocumentationIntegrations(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateDocumentationIntegrationsInput}
Response
{ "data": { "updateDocumentationIntegrations": { "project": DocumentationProject } } }
updateDocumentationLink
Response
Returns an UpdateDocumentationLinkPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationLinkInput! |
Example
Query
mutation UpdateDocumentationLink($input: UpdateDocumentationLinkInput!) { updateDocumentationLink(input: $input) { link { id label url createdAt updatedAt status visibility } 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 } } }
Variables
{"input": UpdateDocumentationLinkInput}
Response
{ "data": { "updateDocumentationLink": { "link": DocumentationLink, "guide": DocumentationGuide } } }
updateDocumentationPageSettings
Response
Returns an UpdateDocumentationPageSettingsPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationPageSettingsInput! |
Example
Query
mutation UpdateDocumentationPageSettings($input: UpdateDocumentationPageSettingsInput!) { updateDocumentationPageSettings(input: $input) { page { id path title description createdAt updatedAt format content { ...DocumentationPageContentFragment } status visibility guideSlug draft { ...DocumentationPageDraftFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } url } sidebarItem { id path label pages { ...DocumentationSidebarItemPageFragment } visibility status hasChanges createdAt updatedAt url } 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 } } }
Variables
{"input": UpdateDocumentationPageSettingsInput}
Response
{ "data": { "updateDocumentationPageSettings": { "page": DocumentationPage, "sidebarItem": DocumentationSidebarItemPage, "guide": DocumentationGuide } } }
updateDocumentationProjectAIPrompt
Description
Mutation to update the AI search prompts
Response
Returns an UpdateDocumentationProjectAIPromptPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationProjectAIPromptInput! |
Example
Query
mutation UpdateDocumentationProjectAIPrompt($input: UpdateDocumentationProjectAIPromptInput!) { updateDocumentationProjectAIPrompt(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateDocumentationProjectAIPromptInput}
Response
{ "data": { "updateDocumentationProjectAIPrompt": { "project": DocumentationProject } } }
updateDocumentationProjectSubdomain
Response
Returns an UpdateDocumentationProjectSubdomainPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationProjectSubdomainInput! |
Example
Query
mutation UpdateDocumentationProjectSubdomain($input: UpdateDocumentationProjectSubdomainInput!) { updateDocumentationProjectSubdomain(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } } }
Variables
{"input": UpdateDocumentationProjectSubdomainInput}
Response
{ "data": { "updateDocumentationProjectSubdomain": { "project": DocumentationProject } } }
updateDocumentationSection
Description
Mutation to update a section in a guide
Response
Returns an UpdateDocumentationSectionPayload!
Arguments
Name | Description |
---|---|
input - UpdateDocumentationSectionInput! |
Example
Query
mutation UpdateDocumentationSection($input: UpdateDocumentationSectionInput!) { updateDocumentationSection(input: $input) { section { id label path pages { ...DocumentationSidebarItemPageFragment } createdAt updatedAt status visibility } 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 } } }
Variables
{"input": UpdateDocumentationSectionInput}
Response
{ "data": { "updateDocumentationSection": { "section": DocumentationSection, "guide": DocumentationGuide } } }
updatePost
Response
Returns an UpdatePostPayload!
Arguments
Name | Description |
---|---|
input - UpdatePostInput! |
Example
Query
mutation UpdatePost($input: UpdatePostInput!) { updatePost(input: $input) { post { id slug previousSlugs title subtitle author { ...UserFragment } coAuthors { ...UserFragment } tags { ...TagFragment } url canonicalUrl publication { ...PublicationFragment } cuid coverImage { ...PostCoverImageFragment } bannerImage { ...PostBannerImageFragment } brief readTimeInMinutes views series { ...SeriesFragment } reactionCount replyCount responseCount featured contributors { ...UserFragment } commenters { ...PostCommenterConnectionFragment } comments { ...PostCommentConnectionFragment } bookmarked content { ...ContentFragment } likedBy { ...PostLikerConnectionFragment } featuredAt publishedAt updatedAt preferences { ...PostPreferencesFragment } audioUrls { ...AudioUrlsFragment } seo { ...SEOFragment } ogMetaData { ...OpenGraphMetaDataFragment } hasLatexInPost isFollowed isAutoPublishedFromRSS features { ...PostFeaturesFragment } sourcedFromGithub } } }
Variables
{"input": UpdatePostInput}
Response
{"data": {"updatePost": {"post": Post}}}
updateRedirectionRule
Response
Returns an UpdateRedirectionRulePayload!
Arguments
Name | Description |
---|---|
input - UpdateRedirectionRuleInput! |
Example
Query
mutation UpdateRedirectionRule($input: UpdateRedirectionRuleInput!) { updateRedirectionRule(input: $input) { redirectionRule { id type source destination } } }
Variables
{"input": UpdateRedirectionRuleInput}
Response
{ "data": { "updateRedirectionRule": { "redirectionRule": RedirectionRule } } }
updateReply
Description
Updates a reply
Response
Returns an UpdateReplyPayload!
Arguments
Name | Description |
---|---|
input - UpdateReplyInput! |
Example
Query
mutation UpdateReply($input: UpdateReplyInput!) { updateReply(input: $input) { reply { id content { ...ContentFragment } author { ...UserFragment } dateAdded stamp totalReactions myTotalReactions } } }
Variables
{"input": UpdateReplyInput}
Response
{"data": {"updateReply": {"reply": Reply}}}
updateRoleBasedInvite
Description
Updates a role based invite for a publication.
Response
Returns an UpdateRoleBasedInvitePayload!
Arguments
Name | Description |
---|---|
input - UpdateRoleBasedInviteInput! |
Example
Query
mutation UpdateRoleBasedInvite($input: UpdateRoleBasedInviteInput!) { updateRoleBasedInvite(input: $input) { invite { id role isUnlimitedCapacity usedCapacity capacity inviteLink createdAt expiryDate } } }
Variables
{"input": UpdateRoleBasedInviteInput}
Response
{ "data": { "updateRoleBasedInvite": {"invite": RoleBasedInvite} } }
updateSeries
Description
Updates a series.
Response
Returns an UpdateSeriesPayload!
Arguments
Name | Description |
---|---|
input - UpdateSeriesInput! |
Example
Query
mutation UpdateSeries($input: UpdateSeriesInput!) { updateSeries(input: $input) { series { id name createdAt description { ...ContentFragment } coverImage author { ...UserFragment } cuid slug sortOrder posts { ...SeriesPostConnectionFragment } } } }
Variables
{"input": UpdateSeriesInput}
Response
{"data": {"updateSeries": {"series": Series}}}
updateWebhook
Response
Returns an UpdateWebhookPayload!
Arguments
Name | Description |
---|---|
input - UpdateWebhookInput! |
Example
Query
mutation UpdateWebhook($input: UpdateWebhookInput!) { updateWebhook(input: $input) { webhook { id publication { ...PublicationFragment } url events secret createdAt updatedAt messages { ...WebhookMessageConnectionFragment } } } }
Variables
{"input": UpdateWebhookInput}
Response
{"data": {"updateWebhook": {"webhook": Webhook}}}
verifyDocumentationProjectCustomDomain
Response
Arguments
Name | Description |
---|---|
input - VerifyDocumentationProjectCustomDomainInput! |
Example
Query
mutation VerifyDocumentationProjectCustomDomain($input: VerifyDocumentationProjectCustomDomainInput!) { verifyDocumentationProjectCustomDomain(input: $input) { project { id domain { ...DocumentationProjectDomainSettingsFragment } name description settings { ...DocumentationProjectSettingsFragment } links { ...DocumentationProjectLinksFragment } publishedGuides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } guides { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } analytics { ...DocumentationProjectAnalyticsFragment } members { ...DocumentationProjectMemberFragment } membersV2 { ...DocumentationProjectMemberConnectionFragment } createdAt updatedAt guide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } publishedGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } defaultGuide { ... on DocumentationGuide { ...DocumentationGuideFragment } ... on DocumentationApiReference { ...DocumentationApiReferenceFragment } } customPage { ...DocsCustomPageFragment } customPages { ...DocsCustomPageConnectionFragment } appearance { ...DocumentationProjectAppearanceFragment } integrations { ...DocumentationProjectIntegrationsFragment } features { ...DocumentationProjectFeaturesFragment } url navigation { ...DocumentationProjectNavigationFragment } searchUsers { ...DocumentationProjectSearchUserConnectionFragment } pendingInvites { ...DocumentationProjectPendingInviteConnectionFragment } owner { ...UserFragment } subscription { ...DocumentationProjectSubscriptionFragment } ai { ...DocumentationProjectAIPreferenceFragment } } dnsVerificationEntries { type name value } } }
Variables
{"input": VerifyDocumentationProjectCustomDomainInput}
Response
{ "data": { "verifyDocumentationProjectCustomDomain": { "project": DocumentationProject, "dnsVerificationEntries": [DnsVerificationEntry] } } }
Types
AbsoluteTimeRange
Example
{ "from": "2007-12-03T10:15:30Z", "to": "2007-12-03T10:15:30Z" }
AcceptInviteToDocumentationProjectInput
Description
The input for accepting an invitation to join a documentation project.
Fields
Input Field | Description |
---|---|
inviteToken - String! | The invitation token to accept. |
Example
{"inviteToken": "xyz789"}
AcceptInviteToDocumentationProjectPayload
Description
Response to accepting an invitation to join a documentation project.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies the success of the mutation. |
project - DocumentationProject | The documentation project that the user has been invited to. |
Example
{"success": true, "project": DocumentationProject}
AcceptInviteToPublicationInput
Fields
Input Field | Description |
---|---|
inviteToken - String! | The invitation token to accept. |
Example
{"inviteToken": "xyz789"}
AcceptInviteToPublicationPayload
Description
Response to accepting an invitation to join a publication.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies if the mutation was successful. |
Example
{"success": false}
AcceptRoleBasedInviteInput
Description
Input to accept a role based invite.
Fields
Input Field | Description |
---|---|
inviteToken - String! | Invite token of the role based invite. |
Example
{"inviteToken": "abc123"}
AcceptRoleBasedInvitePayload
Description
Input to toggle role based invite links.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies if the mutation was successful. |
Example
{"success": true}
AddCommentInput
AddCommentPayload
Fields
Field Name | Description |
---|---|
comment - Comment |
Example
{"comment": Comment}
AddContentBlockInput
AddContentBlockPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
AddCustomMdxComponentInput
AddCustomMdxComponentPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
AddDocumentationProjectCustomDomainInput
AddDocumentationProjectCustomDomainPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject | |
dnsVerificationEntries - [DnsVerificationEntry!]! | Additional DNS entries required to verify the domain. There are cases where additional records in the DNS config are required to successfully verify the domain. |
wwwRedirectDnsVerificationEntries - [DnsVerificationEntry!]! |
Example
{ "project": DocumentationProject, "dnsVerificationEntries": [DnsVerificationEntry], "wwwRedirectDnsVerificationEntries": [ DnsVerificationEntry ] }
AddPostToSeriesInput
AddPostToSeriesPayload
Fields
Field Name | Description |
---|---|
series - Series | The series to which the post was added. |
Example
{"series": Series}
AddReplyInput
AddReplyPayload
Fields
Field Name | Description |
---|---|
reply - Reply |
Example
{"reply": Reply}
AudioBlogFeature
Description
Contains the flag indicating if the audio blog feature is enabled or not. User can enable or disable the audio blog feature from the publication settings. Shows audio player on blogs if enabled.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the audio blog feature is enabled or not. |
voiceType - AudioBlogVoiceType! | The voice type for the audio blog. |
Example
{"isEnabled": true, "voiceType": "FEMALE"}
AudioBlogVoiceType
Description
The voice type for the audio blog.
Values
Enum Value | Description |
---|---|
| Enum for the female voice type of the audio blog. |
| Enum for the male voice type of the audio blog. |
Example
"FEMALE"
AudioUrls
BackupStatus
Description
The status of the backup i.e., success or failure.
Values
Enum Value | Description |
---|---|
| The backup was successful. |
| The backup failed. |
Example
"success"
Badge
Description
A badge that the user has earned.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the badge. |
name - String! | The name of the badge. |
description - String | The description of the badge. |
image - String! | The image of the badge. |
dateAssigned - DateTime | The date the badge was earned. |
infoURL - String | Link to badge page on Hashnode. |
suppressed - Boolean | A flag to determine if the badge is hidden. |
Example
{ "id": 4, "name": "xyz789", "description": "abc123", "image": "abc123", "dateAssigned": "2007-12-03T10:15:30Z", "infoURL": "abc123", "suppressed": true }
BannerImageOptionsInput
Description
Contains information about banner image options of the post. Like URL of the banner image, attribution, etc.
Fields
Input Field | Description |
---|---|
bannerImageURL - String | The URL of the banner image. |
Example
{"bannerImageURL": "abc123"}
BetaFeature
Description
Contains basic information about the beta feature. A beta feature is a feature that is not yet released to all users.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the beta feature. |
key - String! | The key of the beta feature. |
title - String | The title of the beta feature. |
description - String | The description of the beta feature. |
url - String | The url of the beta feature. |
enabled - Boolean! | The date the beta feature was created. |
Example
{ "id": "4", "key": "xyz789", "title": "abc123", "description": "abc123", "url": "xyz789", "enabled": true }
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
true
CancelScheduledDraftInput
Fields
Input Field | Description |
---|---|
draftId - ID! | The Draft ID of the scheduled draft. |
Example
{"draftId": 4}
CancelScheduledDraftPayload
Fields
Field Name | Description |
---|---|
scheduledPost - ScheduledPost! | Payload returned in response of cancel scheduled post mutation. |
Example
{"scheduledPost": ScheduledPost}
ChangePublicationMemberRoleInput
Description
Input to change the role of a user in a publication.
Fields
Input Field | Description |
---|---|
publicationId - ID! | The publication ID the user is a member of. |
username - String! | The username of the user to change the role for. |
role - UserPublicationRole! | The role of the user in the publication. |
Example
{ "publicationId": "4", "username": "xyz789", "role": "OWNER" }
ChangePublicationMemberRolePayload
Description
Response to changing the role of a user in a publication.
Fields
Field Name | Description |
---|---|
member - PublicationMember! | The updated publication member. |
Example
{"member": PublicationMember}
ChangePublicationMemberVisibilityInput
Description
Input to change the privacy state of a user in a publication.
Fields
Input Field | Description |
---|---|
publicationId - ID! | The publication ID the user is a member of. |
username - String! | The username of the user to change the role for. |
privacyState - PublicationMemberPrivacyState! | The privacy state of the user in the publication. PRIVATE members are not visible on the members page while PUBLIC members are visible. |
Example
{ "publicationId": "4", "username": "xyz789", "privacyState": "PRIVATE" }
ChangePublicationMemberVisibilityPayload
Description
Response to changing the privacy state of a user in a publication.
Fields
Field Name | Description |
---|---|
member - PublicationMember! | The updated publication member. |
Example
{"member": PublicationMember}
CheckCustomDomainAvailabilityInput
CheckCustomDomainAvailabilityResult
Fields
Field Name | Description |
---|---|
domainAvailable - Boolean! |
Example
{"domainAvailable": false}
CheckSubdomainAvailabilityResult
Fields
Field Name | Description |
---|---|
subdomainAvailable - Boolean! |
Example
{"subdomainAvailable": false}
CollaborationFeature
Description
Contains the flag indicating if the collaboration feature is enabled or not.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the collaboration feature is enabled or not. |
Example
{"isEnabled": false}
Comment
Description
Contains basic information about the comment. A comment is a response to a post.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the comment. |
content - Content! | The content of the comment in markdown and html format. |
author - User! | The author of the comment. |
replies - CommentReplyConnection! | Returns a list of replies to the comment. |
dateAdded - DateTime! | The date the comment was created. |
stamp - String | A unique string identifying the comment. Used as element id in the DOM on hashnode blogs. |
totalReactions - Int! | Total number of reactions on the comment. Reactions are hearts added to any comment. |
myTotalReactions - Int! | Total number of reactions on the comment by the authenticated user. User must be authenticated to use this field. |
Example
{ "id": "4", "content": Content, "author": User, "replies": CommentReplyConnection, "dateAdded": "2007-12-03T10:15:30Z", "stamp": "abc123", "totalReactions": 123, "myTotalReactions": 987 }
CommentReplyConnection
Description
Connection to get list of replies to a comment. Returns a list of edges which contains the posts in publication and cursor to the last item of the previous page.
Fields
Field Name | Description |
---|---|
edges - [CommentReplyEdge!]! | A list of edges containing nodes in the connection. A node contains a reply to a comment. |
pageInfo - PageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [CommentReplyEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
CommentReplyEdge
CommenterUserConnection
Description
Connection to get list of top commenters. Contains a list of edges containing nodes. Each node is a user who commented recently. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [UserEdge!]! | A list of edges of commenters. |
pageInfo - PageInfo! | Information to aid in pagination. |
Example
{ "edges": [UserEdge], "pageInfo": PageInfo }
Connection
Description
Connection to get list of items. Returns a list of edges which contains the items and cursor to the last item of the previous page. This is a common interface for all connections.
Fields
Field Name | Description |
---|---|
edges - [Edge!]! | A list of edges of items connection. |
pageInfo - PageInfo! | Information to aid in pagination. |
Possible Types
Connection Types |
---|
Example
{ "edges": [Edge], "pageInfo": PageInfo }
Content
Example
{ "markdown": "xyz789", "html": "abc123", "text": "xyz789" }
CountryCodeAlpha2
Description
Two letter ISO 3166-1 alpha-2 country code.
Values
Enum Value | Description |
---|---|
| Andorra |
| United Arab Emirates |
| Afghanistan |
| Antigua and Barbuda |
| Anguilla |
| Albania |
| Armenia |
| Angola |
| Antarctica |
| Argentina |
| American Samoa |
| Austria |
| Australia |
| Aruba |
| Åland Islands |
| Azerbaijan |
| Bosnia and Herzegovina |
| Barbados |
| Bangladesh |
| Belgium |
| Burkina Faso |
| Bulgaria |
| Bahrain |
| Burundi |
| Benin |
| Saint Barthélemy |
| Bermuda |
| Brunei Darussalam |
| Bolivia (Plurinational State of) |
| Bonaire, Sint Eustatius and Saba |
| Brazil |
| Bahamas |
| Bhutan |
| Bouvet Island |
| Botswana |
| Belarus |
| Belize |
| Canada |
| Cocos (Keeling) Islands |
| Congo, Democratic Republic of the |
| Central African Republic |
| Congo |
| Switzerland |
| Côte d'Ivoire |
| Cook Islands |
| Chile |
| Cameroon |
| China |
| Colombia |
| Costa Rica |
| Cuba |
| Cabo Verde |
| Curaçao |
| Christmas Island |
| Cyprus |
| Czechia |
| Germany |
| Djibouti |
| Denmark |
| Dominica |
| Dominican Republic |
| Algeria |
| Ecuador |
| Estonia |
| Egypt |
| Western Sahara |
| Eritrea |
| Spain |
| Ethiopia |
| Finland |
| Fiji |
| Falkland Islands (Malvinas) |
| Micronesia (Federated States of) |
| Faroe Islands |
| France |
| Gabon |
| United Kingdom of Great Britain and Northern Ireland |
| Grenada |
| Georgia |
| French Guiana |
| Guernsey |
| Ghana |
| Gibraltar |
| Greenland |
| Gambia |
| Guinea |
| Guadeloupe |
| Equatorial Guinea |
| Greece |
| South Georgia and the South Sandwich Islands |
| Guatemala |
| Guam |
| Guinea-Bissau |
| Guyana |
| Hong Kong |
| Heard Island and McDonald Islands |
| Honduras |
| Croatia |
| Haiti |
| Hungary |
| Indonesia |
| Ireland |
| Israel |
| Isle of Man |
| India |
| British Indian Ocean Territory |
| Iraq |
| Iran (Islamic Republic of) |
| Iceland |
| Italy |
| Jersey |
| Jamaica |
| Jordan |
| Japan |
| Kenya |
| Kyrgyzstan |
| Cambodia |
| Kiribati |
| Comoros |
| Saint Kitts and Nevis |
| Korea (Democratic People's Republic of) |
| Korea, Republic of |
| Kuwait |
| Cayman Islands |
| Kazakhstan |
| Lao People's Democratic Republic |
| Lebanon |
| Saint Lucia |
| Liechtenstein |
| Sri Lanka |
| Liberia |
| Lesotho |
| Lithuania |
| Luxembourg |
| Latvia |
| Libya |
| Morocco |
| Monaco |
| Moldova, Republic of |
| Montenegro |
| Saint Martin (French part) |
| Madagascar |
| Marshall Islands |
| North Macedonia |
| Mali |
| Myanmar |
| Mongolia |
| Macao |
| Northern Mariana Islands |
| Martinique |
| Mauritania |
| Montserrat |
| Malta |
| Mauritius |
| Maldives |
| Malawi |
| Mexico |
| Malaysia |
| Mozambique |
| Namibia |
| New Caledonia |
| Niger |
| Norfolk Island |
| Nigeria |
| Nicaragua |
| Netherlands |
| Norway |
| Nepal |
| Nauru |
| Niue |
| New Zealand |
| Oman |
| Panama |
| Peru |
| French Polynesia |
| Papua New Guinea |
| Philippines |
| Pakistan |
| Poland |
| Saint Pierre and Miquelon |
| Pitcairn |
| Puerto Rico |
| Palestine, State of |
| Portugal |
| Palau |
| Paraguay |
| Qatar |
| Réunion |
| Romania |
| Serbia |
| Russian Federation |
| Rwanda |
| Saudi Arabia |
| Solomon Islands |
| Seychelles |
| Sudan |
| Sweden |
| Singapore |
| Saint Helena, Ascension and Tristan da Cunha |
| Slovenia |
| Svalbard and Jan Mayen |
| Slovakia |
| Sierra Leone |
| San Marino |
| Senegal |
| Somalia |
| Suriname |
| South Sudan |
| Sao Tome and Principe |
| El Salvador |
| Sint Maarten (Dutch part) |
| Syrian Arab Republic |
| Eswatini |
| Turks and Caicos Islands |
| Chad |
| French Southern Territories |
| Togo |
| Thailand |
| Tajikistan |
| Tokelau |
| Timor-Leste |
| Turkmenistan |
| Tunisia |
| Tonga |
| Turkey |
| Trinidad and Tobago |
| Tuvalu |
| Taiwan, Province of China |
| Tanzania, United Republic of |
| Ukraine |
| Uganda |
| United States Minor Outlying Islands |
| United States of America |
| Uruguay |
| Uzbekistan |
| Holy See |
| Saint Vincent and the Grenadines |
| Venezuela (Bolivarian Republic of) |
| Virgin Islands (British) |
| Virgin Islands (U.S.) |
| Viet Nam |
| Vanuatu |
| Wallis and Futuna |
| Samoa |
| Yemen |
| Mayotte |
| South Africa |
| Zambia |
| Zimbabwe |
| Unknown |
Example
"AD"
CoverImageOptionsInput
Description
Contains information about cover image options of the post. Like URL of the cover image, attribution, etc.
Fields
Input Field | Description |
---|---|
coverImageURL - String | The URL of the cover image. |
isCoverAttributionHidden - Boolean | A flag to indicate if the cover attribution is hidden, used when cover was chosen from unsplash. |
coverImageAttribution - String | Information about the cover image attribution. |
coverImagePhotographer - String | The name of the cover image photographer, used when cover was chosen from unsplash. |
stickCoverToBottom - Boolean | A flag to indicate if the cover image is sticked to bottom. |
Example
{ "coverImageURL": "xyz789", "isCoverAttributionHidden": true, "coverImageAttribution": "xyz789", "coverImagePhotographer": "abc123", "stickCoverToBottom": false }
CreateDocumentationApiReferenceInput
CreateDocumentationApiReferencePayload
Fields
Field Name | Description |
---|---|
guide - DocumentationApiReference! |
Example
{"guide": DocumentationApiReference}
CreateDocumentationGuideInput
CreateDocumentationGuidePayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide! |
Example
{"guide": DocumentationGuide}
CreateDocumentationLinkInput
Example
{ "projectId": 4, "guideSlug": "abc123", "versionSlug": "abc123", "label": "abc123", "url": "xyz789" }
CreateDocumentationLinkPayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide | |
link - DocumentationLink |
Example
{ "guide": DocumentationGuide, "link": DocumentationLink }
CreateDocumentationPageDraftInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
guideSlug - String! | |
versionSlug - String | The slug of the version the new page should be created in. Defaults to the default version slug. |
title - String | |
label - String | |
description - String | |
content - String | |
parentId - ID | |
slug - String | The slug of the path used to generate the path. |
metaTags - MetaTagsInput | The meta tags for the page. |
visibility - DocumentationSidebarItemVisibility | The visibility of the page. |
Example
{ "projectId": "4", "guideSlug": "abc123", "versionSlug": "xyz789", "title": "abc123", "label": "abc123", "description": "abc123", "content": "xyz789", "parentId": 4, "slug": "xyz789", "metaTags": MetaTagsInput, "visibility": "PUBLIC" }
CreateDocumentationPageDraftPayload
Fields
Field Name | Description |
---|---|
page - DocumentationPage | |
guide - DocumentationGuide |
Example
{ "page": DocumentationPage, "guide": DocumentationGuide }
CreateDocumentationPreviewPageInput
Description
The input for creating a documentation preview page
Fields
Input Field | Description |
---|---|
id - ID | The ID of the page to create |
title - String | The title of the page. Default = "Untitled Page" |
label - String! | The label of the page on the sidebar |
description - String | The description of the page |
content - String | The content of the page |
slug - String | The slug of the page used to create the path |
metaTags - MetaTagsInput | The meta tags of the page |
visibility - DocumentationSidebarItemVisibility | The visibility of the page |
pages - [CreateDocumentationPreviewPageInput!]! | The nested pages of the page |
format - DocumentationPageFormat | The format of the page. Could be MDX or MD. |
Example
{ "id": 4, "title": "xyz789", "label": "abc123", "description": "xyz789", "content": "xyz789", "slug": "xyz789", "metaTags": MetaTagsInput, "visibility": "PUBLIC", "pages": [CreateDocumentationPreviewPageInput], "format": "MDX" }
CreateDocumentationProjectInput
Fields
Input Field | Description |
---|---|
name - String! | |
subdomain - String! | |
logoUrl - String | |
favIconUrl - String | |
logoDarkThemeUrl - String | |
description - String | |
settings - DocumentationProjectSettingsInput | |
links - DocumentationProjectLinksInput |
Example
{ "name": "xyz789", "subdomain": "abc123", "logoUrl": "xyz789", "favIconUrl": "xyz789", "logoDarkThemeUrl": "abc123", "description": "xyz789", "settings": DocumentationProjectSettingsInput, "links": DocumentationProjectLinksInput }
CreateDocumentationProjectPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
CreateDocumentationSectionInput
Example
{ "projectId": 4, "guideSlug": "abc123", "versionSlug": "xyz789", "label": "abc123", "slug": "abc123" }
CreateDocumentationSectionPayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide | |
section - DocumentationSection |
Example
{ "guide": DocumentationGuide, "section": DocumentationSection }
CreateDraftInput
Fields
Input Field | Description |
---|---|
title - String | The title of the resulting draft. |
subtitle - String | The subtitle of the resulting draft. |
publicationId - ID! | The ID of publication the draft and resulting post belongs to. |
contentMarkdown - String | Content of the resulting draft in markdown format. |
publishedAt - DateTime | Date when the resulting draft is published. |
coverImageOptions - CoverImageOptionsInput | Options for the cover image of the resulting draft. |
bannerImageOptions - BannerImageOptionsInput | Options for the banner image of the resulting draft. |
slug - String | Slug of the resulting draft. |
originalArticleURL - String | The URL of the original article if the draft is imported from an external source. |
tags - [CreateDraftTagInput!] | A list of tags added to the resulting draft. |
disableComments - Boolean | A flag to indicate if the comments are disabled for the resulting draft. |
metaTags - MetaTagsInput | Information about the meta tags added to the resulting draft, used for SEO purpose. |
publishAs - ObjectId | Publish the draft on behalf of another user who is a member of the publication. Only applicable for team publications. |
seriesId - ObjectId | Providing a seriesId will add the resulting draft to that series. |
settings - CreateDraftSettingsInput | Settings for the resulting draft like table of contents and newsletter activation. |
coAuthors - [ObjectId!] | Ids of the co-authors of the resulting draft. |
draftOwner - ID | The id of the user who owns the draft. When this field is supplied, the draft is created directly under that user's account. Only applicable for team publications. |
Example
{ "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" }
CreateDraftPayload
Fields
Field Name | Description |
---|---|
draft - Draft | The newly created draft |
Example
{"draft": Draft}
CreateDraftSettingsInput
Fields
Input Field | Description |
---|---|
enableTableOfContent - Boolean | A flag to indicate if the resulting draft'S post should contain a table of content |
slugOverridden - Boolean | Flag to indicate if the slug is overridden by the user. |
activateNewsletter - Boolean | Whether to send a newsletter for the resulting draft's post. |
delist - Boolean | A flag to indicate if the resulting draft should be delisted, used to hide the post created from the draft from public feed. |
Example
{ "enableTableOfContent": false, "slugOverridden": false, "activateNewsletter": false, "delist": true }
CreateDraftTagInput
Fields
Input Field | Description |
---|---|
id - ObjectId | A tag id that is referencing an existing tag. Either this or name and slug should be provided. If both are provided, the id will be used. |
slug - String | A slug of a new tag to create. Either this and name or id should be provided. If both are provided, the id will be used. |
name - String | A name of a new tag to create. Either this and slug or id should be provided. If both are provided, the id will be used. |
Example
{ "id": ObjectId, "slug": "xyz789", "name": "xyz789" }
CreateRedirectionRuleInput
Fields
Input Field | Description |
---|---|
publicationId - ID! | |
source - String! | |
destination - URL! | |
type - HttpRedirectionType! |
Example
{ "publicationId": "4", "source": "xyz789", "destination": "http://www.test.com/", "type": "TEMPORARY" }
CreateRedirectionRulePayload
Fields
Field Name | Description |
---|---|
redirectionRule - RedirectionRule! |
Example
{"redirectionRule": RedirectionRule}
CreateRoleBasedInviteForPublicationInput
Description
Input to create a role based invite for a publication.
Fields
Input Field | Description |
---|---|
publicationId - ID! | The publication ID to create the invite for. |
role - UserPublicationInviteRole! | The role to assign to the user in the publication. |
enableUnlimitedCapacity - Boolean | Boolean to enable unlimited capacity. |
capacity - Int | The capacity of how many members to be invited by the link. |
inviteToken - String | Invite token set for the invitation |
expiryDate - DateTime | The expiry date of the invite. |
Example
{ "publicationId": 4, "role": "EDITOR", "enableUnlimitedCapacity": true, "capacity": 987, "inviteToken": "xyz789", "expiryDate": "2007-12-03T10:15:30Z" }
CreateRoleBasedInviteForPublicationPayload
Description
Response to creating a role based invite for a publication.
Fields
Field Name | Description |
---|---|
invite - RoleBasedInvite! | The created role based invite. |
Example
{"invite": RoleBasedInvite}
CreateSeriesInput
Fields
Input Field | Description |
---|---|
name - String! | The name of the series. |
slug - String! | The slug of the series. Used to access series page. Example https://johndoe.com/series/series-slug |
publicationId - ID! | The id of the publication the series belongs to. |
descriptionMarkdown - String | The description of the series. Accepts markdown. |
coverImage - String | The cover image of the series. |
sortOrder - SortOrder | The sort order of the series, determines if the latest posts should appear first or last in series. |
Example
{ "name": "abc123", "slug": "xyz789", "publicationId": "4", "descriptionMarkdown": "xyz789", "coverImage": "xyz789", "sortOrder": "asc" }
CreateSeriesPayload
Fields
Field Name | Description |
---|---|
series - Series! | Returns the created series. |
Example
{"series": Series}
CreateWebhookInput
Fields
Input Field | Description |
---|---|
publicationId - ID! | |
url - String! | |
events - [WebhookEvent!]! | |
secret - String! |
Example
{ "publicationId": 4, "url": "xyz789", "events": ["POST_PUBLISHED"], "secret": "abc123" }
CreateWebhookPayload
Fields
Field Name | Description |
---|---|
webhook - Webhook |
Example
{"webhook": Webhook}
CustomCSS
Fields
Field Name | Description |
---|---|
home - String | Custom CSS that will be applied on the publication homepage. |
post - String | Custom CSS that will be applied on all posts of the publication. |
static - String | Custom CSS that will be applied on all static pages of the publication. |
homeMinified - String | The same as home but minified. |
postMinified - String | The same as post but minified. |
staticMinified - String | The same as static but minified. |
Example
{ "home": "abc123", "post": "xyz789", "static": "abc123", "homeMinified": "abc123", "postMinified": "xyz789", "staticMinified": "abc123" }
CustomCSSFeature
CustomDomainStatus
Values
Enum Value | Description |
---|---|
| |
| |
|
Example
"VALID"
DarkModePreferences
DateTime
Description
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time
format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
Example
"2007-12-03T10:15:30Z"
DefaultDocsTheme
Values
Enum Value | Description |
---|---|
| |
|
Example
"LIGHT"
DeleteContentBlockInput
DeleteContentBlockPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
DeleteCustomMdxComponentInput
DeleteCustomMdxComponentPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
DeleteRoleBasedInviteInput
DeleteRoleBasedInvitePayload
Description
Response to deleting a role based invite.
Fields
Field Name | Description |
---|---|
invite - RoleBasedInvite! | Deleted invite. |
Example
{"invite": RoleBasedInvite}
DeleteWebhookPayload
Fields
Field Name | Description |
---|---|
webhook - Webhook |
Example
{"webhook": Webhook}
DeviceType
Values
Enum Value | Description |
---|---|
| |
| |
| |
|
Example
"DESKTOP"
DisableDocumentationProjectAISearchInput
Description
The input for disabling AI search for a documentation project
Fields
Input Field | Description |
---|---|
projectId - ID! | The ID of the documentation project |
Example
{"projectId": 4}
DisableDocumentationProjectAISearchPayload
Description
The response to disabling AI search for a documentation project
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
DisableDocumentationProjectHeadlessCmsInput
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": "4"}
DisableDocumentationProjectHeadlessCmsPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
DnsVerificationEntry
Fields
Field Name | Description |
---|---|
type - DnsVerificationType! | |
name - String! | |
value - String! |
Example
{ "type": "TXT_RECORD", "name": "xyz789", "value": "abc123" }
DnsVerificationType
Values
Enum Value | Description |
---|---|
| |
| |
|
Example
"TXT_RECORD"
DocsAnalyticsDimension
Values
Enum Value | Description |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
|
Example
"DOCUMENTATION_GUIDE"
DocsCustomPage
Description
Contains basic information about the docs custom page. Docs custom pages are pages that can be written in mdx and can be added to docs. It can be used for changelog or other such requirements.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the docs custom page. |
title - String! | The title of the docs custom page. |
slug - String! | the slug of the docs custom page. Used to access docs custom page. Example https://mydocs.com/my-page . |
content - DocumentationPageContent! | Content of the docs custom page. Contains mdx version of the docs custom page's content. |
ogMetaData - OpenGraphMetaData | Information about the docs custom page's Open Graph metadata i.e. image. |
seo - SEO | Information about the docs custom page's SEO metadata i.e. title and description |
lastModified - DateTime! | Last modified date of the docs custom page. |
visibility - DocumentationSidebarItemVisibility! | Visibility of the docs custom page. |
Example
{ "id": "4", "title": "abc123", "slug": "xyz789", "content": DocumentationPageContent, "ogMetaData": OpenGraphMetaData, "seo": SEO, "lastModified": "2007-12-03T10:15:30Z", "visibility": "PUBLIC" }
DocsCustomPageConnection
Fields
Field Name | Description |
---|---|
nodes - [DocsCustomPage!]! | A list docs custom pages |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | Total number of docs custom pages. |
Example
{ "nodes": [DocsCustomPage], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
DocsGitHubActivityDeploymentType
Values
Enum Value | Description |
---|---|
| The deployment is a preview deployment. |
| The deployment is a production deployment. |
Example
"PREVIEW"
DocsProjectInvitedMembers
Fields
Field Name | Description |
---|---|
user - User | Invited Hashnode user, returns null if the user is not a Hashnode user. |
email - String! | |
role - DocumentationMemberRole! |
Example
{ "user": User, "email": "abc123", "role": "OWNER" }
DocsViews
Example
{"id": 4, "total": 123}
DocsVisitors
Possible Types
DocsVisitors Types |
---|
Example
{"id": 4, "total": 123}
DocumentationApiReference
Fields
Field Name | Description |
---|---|
id - ID! | |
slug - String! | |
name - String! | |
status - DocumentationGuideItemStatus! | |
seo - SEO | SEO information of the page. Contains title and description used in meta tags. |
ogMetaData - OpenGraphMetaData | OG meta-data of the page. Contains image url used in open graph meta tags. |
isLocked - Boolean! | A guide can be locked if the subscription doesn't cover to having this guide. A locked guide is readonly. It can only be removed or edited after subscribing. |
lastModified - DateTime! | |
versionId - String | The ID of the default version. |
url - String! | URL of the OpenAPI definition used by the default version of this guide. |
publishedUrl - String | URL of the published api reference. |
definition - String! | The base64 encoded gzip compressed string of the parsed OpenAPI Definition of the API Reference. |
provider - GuideProvider! | The provider of the guide. |
Example
{ "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" }
DocumentationGuide
Fields
Field Name | Description |
---|---|
id - ID! | |
slug - String! | |
name - String! | |
status - DocumentationGuideItemStatus! | |
seo - SEO | SEO information of the page. Contains title and description used in meta tags. |
ogMetaData - OpenGraphMetaData | OG meta-data of the page. Contains image url used in open graph meta tags. |
isLocked - Boolean! | A guide can be locked if the subscription doesn't cover to having this guide. A locked guide is readonly. It can only be removed or edited after subscribing. |
lastModified - DateTime! | |
versionId - String | The ID of the default version. |
url - String | URL of the published guide. Example: |
sidebarItems - [DocumentationSidebarItem!]! | Sidebar items of the default version of this guide. |
publishedSidebarItems - [DocumentationSidebarItem!]! | Only published sidebar items of the default version of this guide. |
page - DocumentationPage | Page of any version of this guide. |
publishedPage - DocumentationPage | Only published page of any version of this guide. |
redirectedPublishedPage - DocumentationPage | Only published page of any version of this guide. The path may include the version slug. Takes redirects into account and may return the page that the requested page redirects to. If the path is only a version slug, it will redirect to the first page of that version. |
hasChanges - Boolean! | |
provider - GuideProvider! |
Example
{ "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" }
DocumentationGuideItem
Types
Union Types |
---|
Example
DocumentationGuide
DocumentationGuideItemStatus
Values
Enum Value | Description |
---|---|
| |
|
Example
"UNPUBLISHED"
DocumentationGuideVisibility
Description
Visibility options for documentation guides.
Values
Enum Value | Description |
---|---|
| Visible to all users. |
| Not visible in public listings. Only visible to users with access to the project. |
Example
"PUBLIC"
DocumentationLink
Fields
Field Name | Description |
---|---|
id - ID! | |
label - String! | |
url - String! | |
createdAt - DateTime! | |
updatedAt - DateTime | |
status - DocumentationSidebarItemStatus! | |
visibility - DocumentationSidebarItemVisibility! |
Example
{ "id": 4, "label": "abc123", "url": "abc123", "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "status": "PUBLISHED", "visibility": "PUBLIC" }
DocumentationMemberRole
Values
Enum Value | Description |
---|---|
| |
|
Example
"OWNER"
DocumentationPage
Fields
Field Name | Description |
---|---|
id - ID! | |
path - String! | |
title - String! | |
description - String | |
createdAt - DateTime! | |
updatedAt - DateTime | |
format - DocumentationPageFormat! | |
content - DocumentationPageContent! | |
status - DocumentationSidebarItemStatus! | |
visibility - DocumentationSidebarItemVisibility! | |
guideSlug - String! | |
draft - DocumentationPageDraft! | |
seo - SEO | SEO information of the page. Contains title and description used in meta tags. |
ogMetaData - OpenGraphMetaData | OG meta-data of the page. Contains image url used in open graph meta tags. |
url - String | URL of the published page. Returns |
Example
{ "id": "4", "path": "abc123", "title": "abc123", "description": "abc123", "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "format": "MDX", "content": DocumentationPageContent, "status": "PUBLISHED", "visibility": "PUBLIC", "guideSlug": "abc123", "draft": DocumentationPageDraft, "seo": SEO, "ogMetaData": OpenGraphMetaData, "url": "xyz789" }
DocumentationPageContent
DocumentationPageDraft
Fields
Field Name | Description |
---|---|
title - String! | |
description - String | |
content - DocumentationPageContent! |
Example
{ "title": "abc123", "description": "xyz789", "content": DocumentationPageContent }
DocumentationPageFormat
Values
Enum Value | Description |
---|---|
| |
|
Example
"MDX"
DocumentationProject
Fields
Field Name | Description |
---|---|
id - ID! | |
domain - DocumentationProjectDomainSettings | |
name - String! | |
description - String | |
settings - DocumentationProjectSettings! | |
links - DocumentationProjectLinks! | |
publishedGuides - [DocumentationGuideItem!]! | |
guides - [DocumentationGuideItem!]! | |
analytics - DocumentationProjectAnalytics! | |
members - [DocumentationProjectMember!]! | Use membersV2 |
membersV2 - DocumentationProjectMemberConnection! | |
Arguments | |
createdAt - DateTime! | |
updatedAt - DateTime | |
guide - DocumentationGuideItem | |
publishedGuide - DocumentationGuideItem | |
defaultGuide - DocumentationGuideItem | |
customPage - DocsCustomPage | Returns a custom page with the given slug. |
Arguments | |
customPages - DocsCustomPageConnection! | Returns a list of custom pages belonging to the project. |
appearance - DocumentationProjectAppearance! | |
integrations - DocumentationProjectIntegrations | |
features - DocumentationProjectFeatures! | Object containing information about beta features enabled for the documentation project. |
url - String! | URL of the documentation project. |
navigation - DocumentationProjectNavigation! | The navigation configuration for the documentation project. |
searchUsers - DocumentationProjectSearchUserConnection! | A user search to find users with a specific status |
Arguments | |
pendingInvites - DocumentationProjectPendingInviteConnection! | Details of publication invites. Returns null if publication is not a team publication. |
owner - User! | The Owner of the documentation project. |
subscription - DocumentationProjectSubscription | |
ai - DocumentationProjectAIPreference |
Example
{ "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 }
DocumentationProjectAIPreference
Fields
Field Name | Description |
---|---|
prompts - [DocumentationProjectAIPrompt!]! | The prompts for the documentation project. These prompts are shown to the user when AI Search chatbot is opened. |
settings - DocumentationProjectAISettings! | The settings for the AI feature. |
Example
{ "prompts": [DocumentationProjectAIPrompt], "settings": DocumentationProjectAISettings }
DocumentationProjectAIPrompt
DocumentationProjectAISettings
Fields
Field Name | Description |
---|---|
isSearchEnabled - Boolean! | A flag to indicate if the AI search feature is enabled. |
Example
{"isSearchEnabled": true}
DocumentationProjectAnalytics
Fields
Field Name | Description |
---|---|
views - ProjectViewsConnection | |
Arguments | |
visitors - ProjectVisitorsConnection! | |
Arguments |
Example
{ "views": ProjectViewsConnection, "visitors": ProjectVisitorsConnection }
DocumentationProjectAppearance
Fields
Field Name | Description |
---|---|
logoUrl - String | |
logoDarkThemeUrl - String | |
favIconUrl - String | |
primaryColor - String | |
defaultDocsTheme - DefaultDocsTheme! | |
getStarted - DocumentationProjectGetStarted | |
customScript - String |
Example
{ "logoUrl": "xyz789", "logoDarkThemeUrl": "xyz789", "favIconUrl": "xyz789", "primaryColor": "abc123", "defaultDocsTheme": "LIGHT", "getStarted": DocumentationProjectGetStarted, "customScript": "xyz789" }
DocumentationProjectAppearanceInput
Fields
Input Field | Description |
---|---|
logoUrl - String | |
logoDarkThemeUrl - String | |
favIconUrl - String | |
primaryColor - String | |
defaultDocsTheme - DefaultDocsTheme | |
getStarted - DocumentationProjectGetStartedInput | |
customScript - String |
Example
{ "logoUrl": "xyz789", "logoDarkThemeUrl": "xyz789", "favIconUrl": "abc123", "primaryColor": "xyz789", "defaultDocsTheme": "LIGHT", "getStarted": DocumentationProjectGetStartedInput, "customScript": "abc123" }
DocumentationProjectContentBlock
Fields
Field Name | Description |
---|---|
id - ID! | The unique identifier for the content block |
label - String! | label, can be used to identify the content block from the dropdown in the editor. |
embedId - String! | embedId, which can be used to embed the content block in the editor. |
content - String! | The MDX string of the content block. |
Example
{ "id": 4, "label": "xyz789", "embedId": "abc123", "content": "abc123" }
DocumentationProjectCustomComponent
Example
{ "id": 4, "componentId": "xyz789", "code": "xyz789", "transpiledCode": "xyz789" }
DocumentationProjectCustomDomain
Fields
Field Name | Description |
---|---|
domain - String! | |
status - CustomDomainStatus! | |
verifiedAt - DateTime | |
wwwDomain - DocumentationProjectCustomWwwDomain |
Example
{ "domain": "xyz789", "status": "VALID", "verifiedAt": "2007-12-03T10:15:30Z", "wwwDomain": DocumentationProjectCustomWwwDomain }
DocumentationProjectCustomWwwDomain
Fields
Field Name | Description |
---|---|
status - CustomDomainStatus! | |
verifiedAt - DateTime |
Example
{ "status": "VALID", "verifiedAt": "2007-12-03T10:15:30Z" }
DocumentationProjectDomainSettings
Fields
Field Name | Description |
---|---|
hashnodeSubDomain - String! | |
customDomain - DocumentationProjectCustomDomain |
Example
{ "hashnodeSubDomain": "abc123", "customDomain": DocumentationProjectCustomDomain }
DocumentationProjectFeatures
Description
Contains the documentation project's beta features.
Fields
Field Name | Description |
---|---|
collaboration - CollaborationFeature! | Collaboration feature for the docs project which enables collaborative editing in the page editor. |
ghSync - GitHubSyncFeature! | GitHub sync feature for the docs project which enables syncing the docs project with a GitHub repository. |
versioning - VersioningFeature! | Versioning feature for the docs project which enables creating different versions of docs guides. |
Example
{ "collaboration": CollaborationFeature, "ghSync": GitHubSyncFeature, "versioning": VersioningFeature }
DocumentationProjectGetStarted
DocumentationProjectGetStartedInput
DocumentationProjectIntegrations
Fields
Field Name | Description |
---|---|
fbPixelID - String | FB Pixel ID for integration with Facebook Pixel. |
hotjarSiteID - String | Hotjar Site ID for integration with Hotjar. |
gaTrackingID - String | Google Analytics Tracking ID for integration with Google Analytics. |
gTagManagerID - String | Google Tag Manager ID for integration with Google Tag Manager. |
intercomID - String | Intercom ID for integration with Intercom |
metaTags - String | The meta tags associated with the documentation project. |
koalaPublicKey - String | Koala Public Key for integration with Koala. |
msClarityID - String | MS Clarity ID for integration with Microsoft Clarity. |
Example
{ "fbPixelID": "xyz789", "hotjarSiteID": "xyz789", "gaTrackingID": "xyz789", "gTagManagerID": "abc123", "intercomID": "xyz789", "metaTags": "xyz789", "koalaPublicKey": "xyz789", "msClarityID": "abc123" }
DocumentationProjectIntegrationsInput
Example
{ "gaTrackingID": "abc123", "gTagManagerID": "abc123", "intercomID": "abc123", "fbPixelID": "xyz789", "hotjarSiteID": "abc123", "metaTags": "xyz789", "koalaPublicKey": "xyz789", "msClarityID": "abc123" }
DocumentationProjectInvite
Description
Contains the pending invite information.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the pending invite. |
user - User! | Invited Hashnode user, returns null if the user is not a Hashnode user. |
role - DocumentationMemberRole! | The role assigned to the user in the publication. |
Example
{ "id": "4", "user": User, "role": "OWNER" }
DocumentationProjectLinks
Fields
Field Name | Description |
---|---|
twitter - String | Twitter URL of the documentation project. |
instagram - String | Instagram URL of the documentation project. |
github - String | GitHub URL of the documentation project. |
website - String | Website URL of the documentation project. |
hashnode - String | Hashnode profile of author of the documentation project. |
youtube - String | YouTube URL of the documentation project. |
dailydev - String | Daily.dev URL of the documentation project. |
linkedin - String | LinkedIn URL of the documentation project. |
mastodon - String | Mastodon URL of the documentation project. |
githubRepository - String | The GitHub repository of the documentation project. |
bluesky - String | Bluesky URL of the documentation project. |
Example
{ "twitter": "abc123", "instagram": "xyz789", "github": "abc123", "website": "abc123", "hashnode": "abc123", "youtube": "abc123", "dailydev": "abc123", "linkedin": "xyz789", "mastodon": "xyz789", "githubRepository": "xyz789", "bluesky": "xyz789" }
DocumentationProjectLinksInput
Example
{ "twitter": "abc123", "instagram": "xyz789", "github": "abc123", "website": "abc123", "hashnode": "abc123", "youtube": "abc123", "dailydev": "xyz789", "linkedin": "xyz789", "mastodon": "xyz789", "githubRepository": "abc123", "bluesky": "abc123" }
DocumentationProjectMember
Fields
Field Name | Description |
---|---|
user - User! | The user who is a member of the documentation project. |
role - DocumentationMemberRole! | The role of the member in the documentation project. |
Example
{"user": User, "role": "OWNER"}
DocumentationProjectMemberConnection
Fields
Field Name | Description |
---|---|
nodes - [DocumentationProjectMemberV2!]! | A list of members. |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | Total number of nodes available i.e. number of members. |
Example
{ "nodes": [DocumentationProjectMemberV2], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
DocumentationProjectMemberConnectionFilter
Description
The filter for the documentation member connection.
Fields
Input Field | Description |
---|---|
searchTerm - String | Search filter can be used to filter members by their username or email. |
Example
{"searchTerm": "abc123"}
DocumentationProjectMemberV2
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the member. |
user - User! | The user who is a member of the documentation project. |
role - DocumentationMemberRole! | The role of the member in the documentation project. |
Example
{"id": 4, "user": User, "role": "OWNER"}
DocumentationProjectPendingInviteConnection
Description
A connection for the user search result.
Fields
Field Name | Description |
---|---|
nodes - [DocumentationProjectInvite!]! | A list of invites |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of invites. |
Example
{ "nodes": [DocumentationProjectInvite], "pageInfo": OffsetPageInfo, "totalDocuments": 987 }
DocumentationProjectProductName
Values
Enum Value | Description |
---|---|
| |
|
Example
"STARTUP"
DocumentationProjectSearchUserConnection
Description
A connection for the user search result.
Fields
Field Name | Description |
---|---|
nodes - [User!]! | A list user nodes. |
edges - [DocumentationProjectSearchUserEdge!]! | The edges containing the user and the status of the user. |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | Total number of nodes available i.e. number of user search results. |
Example
{ "nodes": [User], "edges": [DocumentationProjectSearchUserEdge], "pageInfo": OffsetPageInfo, "totalDocuments": 987 }
DocumentationProjectSearchUserEdge
Fields
Field Name | Description |
---|---|
status - UserInviteStatus! | |
node - User! |
Example
{"status": "INVITED", "node": User}
DocumentationProjectSearchUsersInput
Fields
Input Field | Description |
---|---|
status - UserInviteStatus! | |
searchTerm - String! | |
pageSize - Int! | The number of users to return on a single page. |
page - Int! | The page number that should be returned. |
Example
{ "status": "INVITED", "searchTerm": "abc123", "pageSize": 987, "page": 123 }
DocumentationProjectSettings
DocumentationProjectSettingsInput
DocumentationProjectSubscription
Fields
Field Name | Description |
---|---|
status - DocumentationProjectSubscriptionStatus! | |
productName - DocumentationProjectProductName! | |
nextBillingCycle - DateTime | |
maxSeats - Int! |
Example
{ "status": "ACTIVE", "productName": "STARTUP", "nextBillingCycle": "2007-12-03T10:15:30Z", "maxSeats": 123 }
DocumentationProjectSubscriptionStatus
Values
Enum Value | Description |
---|---|
| |
| |
| |
|
Example
"ACTIVE"
DocumentationSection
Fields
Field Name | Description |
---|---|
id - ID! | |
label - String! | |
path - String! | |
pages - [DocumentationSidebarItemPage!]! | |
createdAt - DateTime! | |
updatedAt - DateTime | |
status - DocumentationSidebarItemStatus! | |
visibility - DocumentationSidebarItemVisibility! |
Example
{ "id": 4, "label": "xyz789", "path": "xyz789", "pages": [DocumentationSidebarItemPage], "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "status": "PUBLISHED", "visibility": "PUBLIC" }
DocumentationSidebarItem
Types
Union Types |
---|
Example
DocumentationSection
DocumentationSidebarItemPage
Fields
Field Name | Description |
---|---|
id - ID! | |
path - String! | |
label - String! | |
pages - [DocumentationSidebarItemPage!]! | |
visibility - DocumentationSidebarItemVisibility! | |
status - DocumentationSidebarItemStatus! | |
hasChanges - Boolean! | |
createdAt - DateTime! | |
updatedAt - DateTime | |
url - String | URL of the published page. Returns |
Example
{ "id": "4", "path": "xyz789", "label": "xyz789", "pages": [DocumentationSidebarItemPage], "visibility": "PUBLIC", "status": "PUBLISHED", "hasChanges": true, "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "url": "xyz789" }
DocumentationSidebarItemStatus
Values
Enum Value | Description |
---|---|
| |
|
Example
"PUBLISHED"
DocumentationSidebarItemVisibility
Values
Enum Value | Description |
---|---|
| |
|
Example
"PUBLIC"
DomainInfo
Description
Contains the publication's domain information.
Fields
Field Name | Description |
---|---|
hashnodeSubdomain - String | The subdomain of the publication on hashnode.dev. It will redirect to you custom domain if it is present and ready. |
domain - DomainStatus | The domain of the publication. |
wwwPrefixedDomain - DomainStatus | The www prefixed domain of the publication. Says if redirect to www domain is configured. |
Example
{ "hashnodeSubdomain": "xyz789", "domain": DomainStatus, "wwwPrefixedDomain": DomainStatus }
DomainStatus
Description
Contains the publication's domain status.
Fields
Field Name | Description |
---|---|
host - String! | The host of the publication domain. |
ready - Boolean! | A flag indicating if the publication domain is ready. |
status - CustomDomainStatus! | A flag indicating the status of a publication domain |
verifiedAt - DateTime | A timestamp indicating when the domain was verified. It is only present if the domain is verified. |
Example
{ "host": "abc123", "ready": true, "status": "VALID", "verifiedAt": "2007-12-03T10:15:30Z" }
Draft
Description
Contains basic information about the draft. A draft is a post that is not published yet.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the draft. |
slug - String! | |
title - String | The title of the draft. It would become the title of the post when published. |
subtitle - String | The subtitle of the draft. It would become the subtitle of the post when published. |
author - User! | The author of the draft. |
coAuthors - [User!] | Returns the user details of the co-authors of the post. Only available for team publications. |
publishAs - User | |
tags - [Tag!]! | Returns list of tags added to the draft. Contains tag id, name, slug, etc. Use tagsV2 instead. Will be removed on 26/02/2024. |
tagsV2 - [DraftTag!]! | |
canonicalUrl - String | |
publication - Publication | The publication the draft belongs to. |
coverImage - DraftCoverImage | The cover image preference of the draft. Contains cover image URL and other details. |
bannerImage - DraftBannerImage | The banner image preference of the draft. Contains banner image URL and other details. Similar to cover image but user can use banner image as alternate cover on single post page. |
readTimeInMinutes - Int! | |
series - Series | Information of the series the draft belongs to. |
content - Content | Content of the draft in HTML and markdown |
dateUpdated - DateTime! | The date the draft was updated. Use updatedAt instead. Will be removed on 26/12/2023. |
updatedAt - DateTime! | |
settings - DraftSettings! | |
seo - SEO | SEO information of the draft. Contains title and description used in meta tags. |
ogMetaData - OpenGraphMetaData | OG meta-data of the draft. Contains image url used in open graph meta tags. |
features - DraftFeatures! | Draft feature-related fields. |
lastBackup - DraftBackup | Information about the last backup of the draft. |
lastSuccessfulBackupAt - DateTime | The date the draft was last successfully backed up. |
lastFailedBackupAt - DateTime | The date the draft last failed to back up. |
scheduledDate - DateTime | The date the draft is scheduled to be published. |
isSubmittedForReview - Boolean | Whether or not the draft has been submitted for review. Only applicable to drafts in team publications. |
publishedPost - Post | Returns the published post when the draft is published, returns null otherwise |
Example
{ "id": 4, "slug": "xyz789", "title": "abc123", "subtitle": "abc123", "author": User, "coAuthors": [User], "publishAs": User, "tags": [Tag], "tagsV2": [Tag], "canonicalUrl": "xyz789", "publication": Publication, "coverImage": DraftCoverImage, "bannerImage": DraftBannerImage, "readTimeInMinutes": 123, "series": Series, "content": Content, "dateUpdated": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "settings": DraftSettings, "seo": SEO, "ogMetaData": OpenGraphMetaData, "features": DraftFeatures, "lastBackup": DraftBackup, "lastSuccessfulBackupAt": "2007-12-03T10:15:30Z", "lastFailedBackupAt": "2007-12-03T10:15:30Z", "scheduledDate": "2007-12-03T10:15:30Z", "isSubmittedForReview": true, "publishedPost": Post }
DraftBackup
Fields
Field Name | Description |
---|---|
status - BackupStatus | The status of the backup i.e., success or failure. |
at - DateTime | The date the backup was created. |
Example
{ "status": "success", "at": "2007-12-03T10:15:30Z" }
DraftBannerImage
Description
Contains information about the banner image of the draft.
Fields
Field Name | Description |
---|---|
url - String! | The URL of the banner image. |
Example
{"url": "xyz789"}
DraftBaseTag
Description
Contains basic information about a Tag within a Draft. A tag in a draft is a tag that is not published yet.
Fields
Field Name | Description |
---|---|
name - String! | The name of the tag. Shown in tag page. |
slug - String! | The slug of the tag. Used to access tags feed. Example https://hashnode.com/n/graphql |
Example
{ "name": "abc123", "slug": "abc123" }
DraftConnection
Description
Connection to get list of drafts. Returns a list of edges which contains the draft and cursor to the last item of the previous page.
Fields
Field Name | Description |
---|---|
edges - [DraftEdge!]! | A list of edges of drafts connection. |
pageInfo - PageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [DraftEdge], "pageInfo": PageInfo, "totalDocuments": 123 }
DraftCoverImage
Description
Contains information about the cover image of the draft.
Fields
Field Name | Description |
---|---|
url - String! | The URL of the cover image. |
attribution - String | Provides attribution information for the cover image, if available. |
photographer - String | The name of the photographer who captured the cover image. |
isAttributionHidden - Boolean! | True if the image attribution should be hidden. |
Example
{ "url": "abc123", "attribution": "xyz789", "photographer": "abc123", "isAttributionHidden": true }
DraftEdge
DraftFeatures
Fields
Field Name | Description |
---|---|
tableOfContents - TableOfContentsFeature! |
Example
{"tableOfContents": TableOfContentsFeature}
DraftRevision
Example
{ "id": "4", "content": Content, "createdAt": "2007-12-03T10:15:30Z", "authorName": "xyz789" }
DraftRevisionEdge
Fields
Field Name | Description |
---|---|
node - DraftRevision! | A node in the connection containing a draft revision. |
cursor - String! | A cursor for use in pagination. |
Example
{ "node": DraftRevision, "cursor": "xyz789" }
DraftSettings
Fields
Field Name | Description |
---|---|
disableComments - Boolean! | A flag to indicate if the comments are disabled for the post. |
stickCoverToBottom - Boolean! | A flag to indicate if the cover image is shown below title of the post. Default position of cover is top of title. |
isDelisted - Boolean! | Whether or not the post is hidden from the Hashnode community. |
Example
{"disableComments": true, "stickCoverToBottom": true, "isDelisted": true}
DraftTag
Types
Union Types |
---|
Example
Tag
Edge
EmailCurrentImport
Description
The input for the email import acknowledgement mutation.
Fields
Field Name | Description |
---|---|
status - EmailImportStatus! | The status of the import |
importStartedAt - DateTime! | The date the import started |
successfullyImported - Int | The number of subscribers that have been successfully imported |
attemptedToImport - Int | The number of subscribers that have attempted to import |
filename - String | The filename of the csv file containing emails |
Example
{ "status": "INITIALIZED", "importStartedAt": "2007-12-03T10:15:30Z", "successfullyImported": 123, "attemptedToImport": 123, "filename": "xyz789" }
EmailImport
Description
Contains information about the email import.
Fields
Field Name | Description |
---|---|
currentImport - EmailCurrentImport | Contains information about the current import example if it is in progress or has finished, date started, etc |
Example
{"currentImport": EmailCurrentImport}
EmailImportStatus
Description
The status of the email import.
Values
Enum Value | Description |
---|---|
| Import has been initialized but is not yet in progress. |
| Import is in progress. |
| Import has to be reviewed by Hashnode. It is not yet reviewed. |
| Import was successful. New emails have been imported. |
| There was an error during the import. |
| The has been rejected. Nothing has been imported. |
| The import has been acknowledged by the user. |
Example
"INITIALIZED"
EmailNotificationPreferences
Description
User's email notification preferences.
Fields
Field Name | Description |
---|---|
weeklyNewsletterEmails - Boolean! | Indicates if the user has opted in to receive the Hashnode Weekly newsletter. |
activityNotifications - Boolean! | Indicates if the user has opted in to receive activity notifications. |
generalAnnouncements - Boolean! | Indicates if the user has opted in to receive general announcements. |
monthlyBlogStats - Boolean! | Indicates if the user has opted in to receive monthly blog performance stats. |
newFollowersWeekly - Boolean! | Indicates if the user has opted in to receive new followers weekly. |
Example
{ "weeklyNewsletterEmails": true, "activityNotifications": false, "generalAnnouncements": false, "monthlyBlogStats": true, "newFollowersWeekly": true }
EnableDocumentationProjectAISearchInput
Description
The input for enabling AI search for a documentation project
Fields
Input Field | Description |
---|---|
projectId - ID! | The ID of the documentation project |
Example
{"projectId": "4"}
EnableDocumentationProjectAISearchPayload
Description
The response to enabling AI search for a documentation project
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
EnableDocumentationProjectHeadlessCmsInput
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": 4}
EnableDocumentationProjectHeadlessCmsPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
FailedInvite
Description
Invitations that failed to be sent to the user
Example
{ "email": "xyz789", "username": "abc123", "errorMessage": "xyz789" }
Feature
Description
Common fields that describe a feature.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | Whether the feature is enabled or not. |
Example
{"isEnabled": false}
FeedFilter
Fields
Input Field | Description |
---|---|
type - FeedType | The type of feed to be returned. |
minReadTime - Int | Adds a filter to return posts with minimum number of minutes required to read the post. |
maxReadTime - Int | Adds a filter to return posts with maximum number of minutes required to read the post. |
tags - [ObjectId!] | Adds a filter to return posts with tagged with provided tags only. |
Example
{ "type": "FOLLOWING", "minReadTime": 987, "maxReadTime": 123, "tags": [ObjectId] }
FeedPostConnection
Description
Connection for posts within a feed. Contains a list of edges containing nodes. Each node is a post. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [PostEdge!]! | A list of edges containing Post information |
pageInfo - PageInfo! | Information for pagination in Post connection. |
Example
{ "edges": [PostEdge], "pageInfo": PageInfo }
FeedType
Description
Contains information about type of feed to be returned.
Values
Enum Value | Description |
---|---|
| Returns only posts of the users you follow or publications you have subscribed to. Note: You have to be authenticated to use this feed type. |
| Returns only posts based on users following and interactions. Personalised feed is curated per requesting user basis. |
| Returns posts which were published recently, sorted based on recency. |
| Returns posts based on old personalization algorithm. |
| Returns posts which were featured, sorted based on recency. |
| Returns posts which were bookmarked by the user, sorted based on recency. |
| Returns posts which were viewed by the user, sorted based on recency. |
Example
"FOLLOWING"
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
FollowTagsInput
Fields
Input Field | Description |
---|---|
ids - [ID!]! | List of tag ids to follow. |
Example
{"ids": ["4"]}
FollowTagsPayload
Fields
Field Name | Description |
---|---|
tags - [Tag!] | List of tags followed by the user. |
Example
{"tags": [Tag]}
GPTBotCrawlingFeature
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the GPT Bot Crawler feature is enabled or not. |
Example
{"isEnabled": true}
GenerateDocumentationProjectPreviewAuthorizationTokenInput
Description
The input for the exchange of token to a JWT to preview token for a documentation project.
Fields
Input Field | Description |
---|---|
token - String! |
Example
{"token": "abc123"}
GenerateDocumentationProjectPreviewAuthorizationTokenPayload
Description
The payload for the exchange of token to a JWT to preview token for a documentation project.
Fields
Field Name | Description |
---|---|
authorizationToken - String | The JWT that can be used to preview the documentation project. |
project - DocumentationProject | The project for which the JWT is generated. With this request, authenticated fields are not accessible. |
Example
{ "authorizationToken": "abc123", "project": DocumentationProject }
GenerateDocumentationProjectPreviewTokenInput
Description
The input for the generation of a exchangeable preview token for a documentation project.
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": "4"}
GenerateDocumentationProjectPreviewTokenPayload
Description
The payload for the generation of a exchangeable preview token for a documentation project.
Fields
Field Name | Description |
---|---|
token - String | The token that can be exchanged for a JWT to preview the documentation project. |
project - DocumentationProject | The project for which the token is generated. |
Example
{ "token": "xyz789", "project": DocumentationProject }
GitHubActivityLog
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the log. |
createdAt - DateTime! | The date the log was created. |
branchName - String! | The branch name that the commit belongs to. |
status - GitHubSyncStatus! | The status of the sync. |
gitCommitId - String! | The commit ID. |
gitCommitMessage - String! | The commit message. |
gitCommitUrl - String! | The commit URL. |
deploymentType - DocsGitHubActivityDeploymentType! | The deployment type related to the log. |
deploymentUrl - String! | The deployment URL. For preview activities, the deployment URL is different for every commit. For production deployments, the deploymentUrl points to the main project subdomain. |
errors - [GitHubSyncError!]! | The errors occurred during the sync. |
Example
{ "id": 4, "createdAt": "2007-12-03T10:15:30Z", "branchName": "abc123", "status": "READY", "gitCommitId": "abc123", "gitCommitMessage": "xyz789", "gitCommitUrl": "abc123", "deploymentType": "PREVIEW", "deploymentUrl": "abc123", "errors": [GitHubSyncError] }
GitHubSyncError
Fields
Field Name | Description |
---|---|
code - GitHubSyncErrorCode! | The error code denoting the reason of failure for GitHub sync. |
messages - [String!]! | List of error messages |
Example
{ "code": "CONFIGURATION_ERROR", "messages": ["abc123"] }
GitHubSyncErrorCode
Values
Enum Value | Description |
---|---|
| Indicates that the project has configuration errors. |
| Indicates that the project has duplicate slugs. |
| Indicates that the project has duplicate paths. |
| Indicates that the project has missing files. |
| Indicates that the project has invalid content. |
Example
"CONFIGURATION_ERROR"
GitHubSyncFeature
Description
Contains the flag indicating if the GitHub sync feature is enabled or not.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the GitHub sync feature is enabled or not. |
Example
{"isEnabled": true}
GitHubSyncStatus
Values
Enum Value | Description |
---|---|
| The sync is complete |
| The sync is in progress |
| The sync failed |
Example
"READY"
GroupedByBrowserViews
GroupedByBrowserVisitors
GroupedByCountryViews
Description
Views implementation that will be returned if grouping by country.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
country - CountryCodeAlpha2! | The country that these views belong to. |
Example
{"id": "4", "total": 987, "country": "AD"}
GroupedByCountryVisitors
Description
Visitors implementation that will be returned if grouping by country.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated number of visitors. |
country - CountryCodeAlpha2! | The country that these views belong to. |
Example
{"id": "4", "total": 123, "country": "AD"}
GroupedByDeviceTypeViews
Description
Views implementation that will be returned if grouping by device type.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
deviceType - DeviceType! | The type of device that these views belong to. |
Example
{"id": 4, "total": 987, "deviceType": "DESKTOP"}
GroupedByDeviceTypeVisitors
Description
Visitors implementation that will be returned if grouping by device type.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated number of visitors. |
deviceType - DeviceType! | The type of device that these views belong to. |
Example
{ "id": "4", "total": 123, "deviceType": "DESKTOP" }
GroupedByDocsBrowserViews
GroupedByDocsBrowserVisitors
GroupedByDocsCountryViews
Description
Views implementation that will be returned if grouping by country.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
country - CountryCodeAlpha2! | The country that these views belong to. |
Example
{"id": "4", "total": 987, "country": "AD"}
GroupedByDocsCountryVisitors
Description
Visitors implementation that will be returned if grouping by country.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated number of visitors. |
country - CountryCodeAlpha2! | The country that these views belong to. |
Example
{"id": "4", "total": 987, "country": "AD"}
GroupedByDocsDeviceTypeViews
Description
Views implementation that will be returned if grouping by device type.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
deviceType - DeviceType! | The type of device that these views belong to. |
Example
{ "id": "4", "total": 123, "deviceType": "DESKTOP" }
GroupedByDocsDeviceTypeVisitors
Description
Visitors implementation that will be returned if grouping by device type.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated number of visitors. |
deviceType - DeviceType! | The type of device that these views belong to. |
Example
{ "id": "4", "total": 987, "deviceType": "DESKTOP" }
GroupedByDocsGuideViews
Description
Grouped views by documentation guide or API reference guide.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
guide - DocumentationGuideItem | The documentation Guide or the API reference guide that these views belong to. |
Example
{ "id": "4", "total": 987, "guide": DocumentationGuide }
GroupedByDocsGuideVisitors
Description
Grouped visitors by documentation guide or API reference guide.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
guide - DocumentationGuideItem | The documentation Guide or the API reference guide that these views belong to. |
Example
{ "id": "4", "total": 123, "guide": DocumentationGuide }
GroupedByDocsOperatingSystemViews
GroupedByDocsOperatingSystemVisitors
Description
Visitors implementation that will be returned if grouping by operating system.
Example
{ "id": 4, "total": 123, "operatingSystem": "xyz789" }
GroupedByDocsPageViews
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
page - DocumentationPage | The page that these views belong to. |
Example
{ "id": "4", "total": 123, "page": DocumentationPage }
GroupedByDocsPageVisitors
Description
Visitors implementation that will be returned if grouping by docs page.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated number of visitors. |
page - DocumentationPage | The page that these views belong to. |
Example
{ "id": "4", "total": 123, "page": DocumentationPage }
GroupedByDocsPathViews
GroupedByDocsPathVisitors
GroupedByDocsReferrerHostViews
GroupedByDocsReferrerHostVisitors
Description
Visitors implementation that will be returned if grouping by REFERRER_HOST
dimension.
Example
{ "id": 4, "total": 123, "referrerHost": "abc123" }
GroupedByDocsTimeViews
Example
{ "id": 4, "total": 123, "from": "2007-12-03T10:15:30Z", "to": "2007-12-03T10:15:30Z" }
GroupedByDocsTimeVisitors
Description
Visitors implementation that will be returned if a grouping by time is provided.
Example
{ "id": 4, "total": 987, "from": "2007-12-03T10:15:30Z", "to": "2007-12-03T10:15:30Z" }
GroupedByOperatingSystemViews
Description
Views implementation that will be returned if grouping by operating system.
Example
{ "id": "4", "total": 123, "operatingSystem": "abc123" }
GroupedByOperatingSystemVisitors
Description
Visitors implementation that will be returned if grouping by operating system.
Example
{ "id": "4", "total": 987, "operatingSystem": "abc123" }
GroupedByPageViews
Description
Views implementation that will be returned if grouping by page.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated views. |
page - StaticPage! | The page that these views belong to. |
Example
{"id": 4, "total": 987, "page": StaticPage}
GroupedByPageVisitors
Description
Visitors implementation that will be returned if grouping by page.
Fields
Field Name | Description |
---|---|
id - ID! | |
total - Int! | The aggregated number of visitors. |
page - StaticPage! | The page that these views belong to. |
Example
{ "id": "4", "total": 987, "page": StaticPage }
GroupedByPathViews
GroupedByPathVisitors
GroupedByPostViews
GroupedByPostVisitors
GroupedByReferrerHostViews
GroupedByReferrerHostVisitors
Description
Visitors implementation that will be returned if grouping by REFERRER_HOST
dimension.
Example
{ "id": 4, "total": 987, "referrerHost": "xyz789" }
GroupedByTimeViews
Example
{ "id": 4, "total": 123, "from": "2007-12-03T10:15:30Z", "to": "2007-12-03T10:15:30Z" }
GroupedByTimeVisitors
Description
Visitors implementation that will be returned if a grouping by time is provided.
Example
{ "id": 4, "total": 123, "from": "2007-12-03T10:15:30Z", "to": "2007-12-03T10:15:30Z" }
GuideProvider
Values
Enum Value | Description |
---|---|
| |
|
Example
"HASHNODE"
GuideVersionStatus
Values
Enum Value | Description |
---|---|
| |
| |
|
Example
"STABLE"
HeadlessCMSFeature
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the Headless CMS feature is enabled or not. |
Example
{"isEnabled": true}
HttpRedirectionType
Values
Enum Value | Description |
---|---|
| A temporary redirect that corresponds to the 301 HTTP status code. |
| A permanent redirect that corresponds to the 302 HTTP status code. |
Example
"TEMPORARY"
ID
Description
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4"
) or integer (such as 4
) input value will be accepted as an ID.
Example
"4"
IDocumentationNestableSidebarItem
Fields
Field Name | Description |
---|---|
pages - [DocumentationSidebarItemPage!]! |
Possible Types
IDocumentationNestableSidebarItem Types |
---|
Example
{"pages": [DocumentationSidebarItemPage]}
IDocumentationSidebarItem
Fields
Field Name | Description |
---|---|
id - ID! | |
label - String! | |
createdAt - DateTime! | |
updatedAt - DateTime | |
visibility - DocumentationSidebarItemVisibility! |
Possible Types
IDocumentationSidebarItem Types |
---|
Example
{ "id": "4", "label": "abc123", "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "visibility": "PUBLIC" }
IGuide
Fields
Field Name | Description |
---|---|
id - ID! | |
slug - String! | |
name - String! | |
status - DocumentationGuideItemStatus! | |
seo - SEO | SEO information of the page. Contains title and description used in meta tags. |
ogMetaData - OpenGraphMetaData | OG meta-data of the page. Contains image url used in open graph meta tags. |
isLocked - Boolean! | A guide can be locked if the subscription doesn't cover to having this guide. A locked guide is readonly. It can only be removed or edited after subscribing. |
lastModified - DateTime! | |
versionId - String | The ID of the default version. |
provider - GuideProvider! |
Possible Types
IGuide Types |
---|
Example
{ "id": 4, "slug": "xyz789", "name": "abc123", "status": "UNPUBLISHED", "seo": SEO, "ogMetaData": OpenGraphMetaData, "isLocked": true, "lastModified": "2007-12-03T10:15:30Z", "versionId": "abc123", "provider": "HASHNODE" }
IGuideVersion
Fields
Field Name | Description |
---|---|
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. There is always exactly one default version at a given time. |
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
{ "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" }
ITag
Description
Contains basic information about the tag. A tag is a label that categorizes posts with similar topics.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the tag. |
name - String! | The name of the tag. Shown in tag page. |
slug - String! | The slug of the tag. Used to access tags feed. Example https://hashnode.com/n/graphql |
logo - String | The logo of the tag. Shown in tag page. |
tagline - String | The tagline of the tag. |
info - Content | Information about the tag. Contains markdown html and text version of the tag's info. |
followersCount - Int! | Total number of users following this tag. |
postsCount - Int! | Alltime usage count of this tag in posts. |
Possible Types
ITag Types |
---|
Example
{ "id": "4", "name": "xyz789", "slug": "xyz789", "logo": "xyz789", "tagline": "abc123", "info": Content, "followersCount": 123, "postsCount": 987 }
IUser
Description
Basic information about a user on Hashnode.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the user. It can be used to identify the user. |
username - String! | The username of the user. It is unique and tied with user's profile URL. Example - https://hashnode.com/@username |
name - String! | The name of the user. |
bio - Content | The bio of the user. Visible in about me section of the user's profile. |
profilePicture - String | The URL to the profile picture of the user. |
socialMediaLinks - SocialMediaLinks | The social media links of the user. Shown on the user's profile. |
badges - [Badge!]! | Returns a list of badges that the user has earned. Shown on blogs /badges page. Example - https://iamshadmirza.com/badges |
publications - UserPublicationsConnection! | Publications associated with the user. Includes personal and team publications. |
Arguments | |
posts - UserPostConnection! | Returns the list of posts the user has published. |
Arguments | |
followersCount - Int! | The number of users that follow the requested user. Visible in the user's profile. |
followingsCount - Int! | The number of users that this user is following. Visible in the user's profile. |
tagline - String | The tagline of the user. Shown on the user's profile below the name. |
dateJoined - DateTime | The date the user joined Hashnode. |
location - String | The location of the user. |
availableFor - String | The availability of the user based on tech stack and interests. Shown on the "I am available for" section in user's profile. |
tagsFollowing - [Tag!]! | Returns a list of tags that the user follows. |
ambassador - Boolean! | Whether or not the user is an ambassador. |
deactivated - Boolean! | Whether or not the user is deactivated. |
followers - UserConnection! | The users who are following this user |
follows - UserConnection! | The users which this user is following |
techStack - UserTagsConnection! | Returns list of tags from user's expertise. Shown on the user's profile. |
Example
{ "id": "4", "username": "abc123", "name": "abc123", "bio": Content, "profilePicture": "xyz789", "socialMediaLinks": SocialMediaLinks, "badges": [Badge], "publications": UserPublicationsConnection, "posts": UserPostConnection, "followersCount": 987, "followingsCount": 123, "tagline": "abc123", "dateJoined": "2007-12-03T10:15:30Z", "location": "xyz789", "availableFor": "abc123", "tagsFollowing": [Tag], "ambassador": false, "deactivated": false, "followers": UserConnection, "follows": UserConnection, "techStack": UserTagsConnection }
Int
Description
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
InviteDocumentationProjectAdminInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
invites - [InviteDocumentationProjectAdminInputEmail!]! |
Example
{ "projectId": "4", "invites": [InviteDocumentationProjectAdminInputEmail] }
InviteDocumentationProjectAdminInputEmail
Fields
Input Field | Description |
---|---|
userId - ID! |
Example
{"userId": "4"}
InviteDocumentationProjectAdminPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject | |
invitedMembers - [DocsProjectInvitedMembers!] |
Example
{ "project": DocumentationProject, "invitedMembers": [DocsProjectInvitedMembers] }
InviteUsersToPublicationInput
Description
Input to invite users to a publication.
Fields
Input Field | Description |
---|---|
publicationId - ID! | The publication ID to invite users to. |
users - [UserInviteInput!]! | The list of users to invite to the publication. |
Example
{"publicationId": 4, "users": [UserInviteInput]}
InviteUsersToPublicationPayload
Description
Response to inviting users to a publication.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies if the mutation was successful for all users. |
successfulInviteCount - Int! | The number of successful invites. |
failedInvites - [FailedInvite!]! | Invites that failed due to an error. |
Example
{ "success": true, "successfulInviteCount": 987, "failedInvites": [FailedInvite] }
LikeCommentInput
LikeCommentPayload
Fields
Field Name | Description |
---|---|
comment - Comment |
Example
{"comment": Comment}
LikePostInput
LikePostPayload
Fields
Field Name | Description |
---|---|
post - Post |
Example
{"post": Post}
LikeReplyInput
LikeReplyPayload
Fields
Field Name | Description |
---|---|
reply - Reply |
Example
{"reply": Reply}
MapDocumentationProjectCustomDomainWwwRedirectInput
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": "4"}
MapDocumentationProjectCustomDomainWwwRedirectPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject | |
dnsVerificationEntries - [DnsVerificationEntry!]! | Additional DNS entries required to verify the www redirect domain. There are cases where additional records in the DNS config are required to successfully verify the domain. |
Example
{ "project": DocumentationProject, "dnsVerificationEntries": [DnsVerificationEntry] }
MetaTagsInput
Description
Contains information about meta tags. Used for SEO purpose.
Example
{ "title": "xyz789", "description": "xyz789", "image": "abc123" }
MoveDocumentationSidebarItemInput
MoveDocumentationSidebarItemPayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide |
Example
{"guide": DocumentationGuide}
MyUser
Description
Basic information about the authenticated user. User must be authenticated to use this type.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the user. It can be used to identify the user. |
username - String! | The username of the user. It is unique and tied with user's profile URL. Example - https://hashnode.com/@username |
name - String! | The name of the user. |
bio - Content | The bio of the user. Visible in about me section of the user's profile. |
profilePicture - String | The URL to the profile picture of the user. |
socialMediaLinks - SocialMediaLinks | The social media links of the user. Shown on the user's profile. |
emailNotificationPreferences - EmailNotificationPreferences! | The email notification preferences of the user. |
badges - [Badge!]! | Returns a list of badges that the user has earned. Shown on blogs /badges page. Example - https://iamshadmirza.com/badges |
publications - UserPublicationsConnection! | Publications associated with the user. Includes personal and team publications. |
Arguments | |
posts - UserPostConnection! | Returns the list of posts the user has published. |
Arguments | |
followersCount - Int! | The number of users that follow the requested user. Visible in the user's profile. |
followingsCount - Int! | The number of users that this user is following. Visible in the user's profile. |
tagline - String | The tagline of the user. Shown on the user's profile below the name. |
dateJoined - DateTime | The date the user joined Hashnode. |
location - String | The location of the user. |
availableFor - String | The availability of the user based on tech stack and interests. Shown on the "I am available for" section in user's profile. |
tagsFollowing - [Tag!]! | Returns a list of tags that the user follows. |
ambassador - Boolean! | Whether or not the user is an ambassador. Ambassadors program no longer active. Will be removed after 02/01/2024 |
provider - String | |
deactivated - Boolean! | Whether or not the user is deactivated. |
betaFeatures - [BetaFeature!]! | A list of beta features that the user has access to. Only available to the authenticated user. Beta features are no longer supported. Will be removed after 15/12/2024 |
email - String! | Email address of the user. Only available to the authenticated user. |
unverifiedEmail - String | Unverified email address of the user. Only available to the authenticated user. This is set when the user has tried updating their email address but it is not verified yet. |
followers - UserConnection! | The users who are following this user |
follows - UserConnection! | The users which this user is following |
drafts - UserDraftConnection! | |
role - UserRole! | Returns the user's role if any. |
techStack - UserTagsConnection! | Returns list of tags from user's expertise. Shown on the user's profile. |
Example
{ "id": 4, "username": "xyz789", "name": "xyz789", "bio": Content, "profilePicture": "abc123", "socialMediaLinks": SocialMediaLinks, "emailNotificationPreferences": EmailNotificationPreferences, "badges": [Badge], "publications": UserPublicationsConnection, "posts": UserPostConnection, "followersCount": 987, "followingsCount": 987, "tagline": "abc123", "dateJoined": "2007-12-03T10:15:30Z", "location": "abc123", "availableFor": "abc123", "tagsFollowing": [Tag], "ambassador": true, "provider": "xyz789", "deactivated": true, "betaFeatures": [BetaFeature], "email": "xyz789", "unverifiedEmail": "abc123", "followers": UserConnection, "follows": UserConnection, "drafts": UserDraftConnection, "role": "SUPERUSER", "techStack": UserTagsConnection }
NewsletterFeature
Description
Contains the flag indicating if the newsletter feature is enabled or not. User can enable or disable the newsletter feature from the publication settings. Shows a newsletter prompt on blog if enabled.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the newsletter feature is enabled or not. |
frequency - NewsletterFrequency |
Example
{"isEnabled": false, "frequency": "asap"}
NewsletterFrequency
Values
Enum Value | Description |
---|---|
| |
|
Example
"asap"
NewsletterRecord
Fields
Field Name | Description |
---|---|
id - ID! | Delivery ID of the sent newsletter |
sentAt - DateTime! | The date the newsletter was sent. |
sentCount - Int! | The number of subscribers the newsletter was sent to. |
openCount - Int! | The number of subscribers the newsletter was opened by. |
clickCount - Int! | The number of subscribers the newsletter was clicked by. |
post - Post | Associated post it was sent with |
Example
{ "id": "4", "sentAt": "2007-12-03T10:15:30Z", "sentCount": 123, "openCount": 123, "clickCount": 987, "post": Post }
NewsletterSubscribeStatus
Values
Enum Value | Description |
---|---|
| |
|
Example
"PENDING"
NewsletterSubscriber
Fields
Field Name | Description |
---|---|
id - ID! | |
email - String! | The email of the subscriber. |
createdAt - DateTime! | The date the subscriber was added. Use subscribedAt instead. Will be removed after 12/4/2024 |
subscribedAt - DateTime! | |
status - NewsletterSubscribeStatus! | The status of the subscriber. |
Example
{ "id": 4, "email": "xyz789", "createdAt": "2007-12-03T10:15:30Z", "subscribedAt": "2007-12-03T10:15:30Z", "status": "PENDING" }
NewsletterUnsubscribeStatus
Values
Enum Value | Description |
---|---|
|
Example
"UNSUBSCRIBED"
Node
Description
Node is a common interface for all types example User, Post, Comment, etc.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the node. |
Possible Types
Node Types |
---|
Example
{"id": "4"}
ObjectId
Description
A field whose value conforms with the standard mongodb object Id as described here: https://docs.mongodb.com/manual/reference/method/ObjectId/#ObjectId. Example: 5e5677d71bdc2ae76344968c
Example
ObjectId
OffsetPageInfo
Description
Contains information to help in pagination for page based pagination.
Fields
Field Name | Description |
---|---|
hasNextPage - Boolean | Indicates if there are more pages. |
hasPreviousPage - Boolean | Indicates if there are previous pages |
previousPage - Int | The page before the current page. Use it to build page navigation |
nextPage - Int | The page after the current page. Use it to build page navigation |
Example
{ "hasNextPage": true, "hasPreviousPage": false, "previousPage": 987, "nextPage": 123 }
OpenGraphMetaData
Description
Information to help in open graph related meta tags.
Fields
Field Name | Description |
---|---|
image - String | The image used in og:image tag for SEO purposes. |
Example
{"image": "xyz789"}
PageConnection
Description
A Connection for page based pagination to get a list of items. Returns a list of nodes which contains the items. This is a common interface for all page connections.
Fields
Field Name | Description |
---|---|
nodes - [Node!]! | A list of edges of items connection. |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
Possible Types
PageConnection Types |
---|
Example
{ "nodes": [Node], "pageInfo": OffsetPageInfo }
PageEdge
Description
An edge that contains a node and is used in page based pagination. This is a common interface for all edges in page based pagination.
Fields
Field Name | Description |
---|---|
node - Node! | A node in the connection. |
Possible Types
PageEdge Types |
---|
Example
{"node": Node}
PageInfo
Description
Contains information to help in pagination.
Example
{"hasNextPage": true, "endCursor": "abc123"}
PagesPreferences
Description
Contains the preferences publication's autogenerated pages. Used to enable or disable pages like badge, newsletter and members.
Example
{"badges": true, "newsletter": false, "members": false}
PendingInvite
Description
Contains the pending invite information.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the pending invite. |
email - String | The email of the user that was invited. |
user - User | Invited Hashnode user, returns null if the user is not a Hashnode user. |
role - UserPublicationRole! | The role assigned to the user in the publication. |
Example
{ "id": 4, "email": "xyz789", "user": User, "role": "OWNER" }
PendingInviteConnection
Fields
Field Name | Description |
---|---|
nodes - [PendingInvite!]! | A list of invites |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of invites. |
Example
{ "nodes": [PendingInvite], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
PopularTag
Description
Contains basic information about the tag returned by popularTags query.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the tag. |
name - String! | The name of the tag. Shown in tag page. |
slug - String! | The slug of the tag. Used to access tags feed. Example https://hashnode.com/n/graphql |
logo - String | The logo of the tag. Shown in tag page. |
tagline - String | The tagline of the tag. |
info - Content | Information about the tag. Contains markdown html and text version of the tag's info. |
followersCount - Int! | Total number of users following this tag. |
postsCount - Int! | Alltime usage count of this tag in posts. |
postsCountInPeriod - Int! | The number of posts published in the given period that use this tag. |
Example
{ "id": 4, "name": "xyz789", "slug": "xyz789", "logo": "abc123", "tagline": "xyz789", "info": Content, "followersCount": 123, "postsCount": 123, "postsCountInPeriod": 987 }
PopularTagEdge
Description
Contains a tag and a cursor for pagination.
Fields
Field Name | Description |
---|---|
node - PopularTag! | The node holding the Tag information |
cursor - String! | A cursor for use in pagination. |
Example
{ "node": PopularTag, "cursor": "xyz789" }
Post
Description
Contains basic information about the post. A post is a published article on Hashnode.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the post. Used to uniquely identify the post. |
slug - String! | The slug of the post. Used as address of the post on blog. Example - https://johndoe.com/my-post-slug |
previousSlugs - [String!]! | The previous slugs of the post. Only present if the slug has been changed. This could be used to create redirects for all posts from all previous slugs to the current slug. The latest slug is always the first element in the array. |
title - String! | The title of the post. |
subtitle - String | The subtitle of the post. Subtitle is a short description of the post which is also used in SEO if meta tags are not provided. |
author - User! | Returns the user details of the author of the post. |
coAuthors - [User!] | Returns the user details of the co-authors of the post. Hashnode users can add up to 4 co-authors as collaborators to their posts. This functionality is limited to teams publication. |
tags - [Tag!] | Returns list of tags added to the post. Contains tag id, name, slug, etc. |
url - String! | Complete URL of the post including the domain name. Example - https://johndoe.com/my-post-slug |
canonicalUrl - String | Canonical URL set by author in case of republished posts. |
publication - Publication | The publication the post belongs to. |
cuid - String | Unique ID to identify post, used internally by hashnode. |
coverImage - PostCoverImage | The cover image preference of the post. Contains cover image URL and other details. |
bannerImage - PostBannerImage | The banner image preference of the post. Contains banner image URL and other details. It is similar to cover image but users can decide to render banner image of single post view. |
brief - String! | Brief is a short description of the post extracted from the content of the post. It's 250 characters long sanitized string. |
readTimeInMinutes - Int! | The estimated time to read the post in minutes. |
views - Int! | The number of views on the post. Can be used to show the popularity of the post. |
series - Series | Information of the series the post belongs to. |
reactionCount - Int! | The number of hearts on the post. Shows how many users liked the post. |
replyCount - Int! | The number of replies on the post. |
responseCount - Int! | The number of comments on the post. |
featured - Boolean! | Flag to indicate if the post is featured on Hashnode feed. |
contributors - [User!]! | A list of contributors of the post. Contributors are users who have commented or replied to the post. Will be removed on 10th Oct 2023. Use commenters instead. |
commenters - PostCommenterConnection! | List of users who have commented on the post. |
Arguments | |
comments - PostCommentConnection! | A list of comments on the post. |
Arguments | |
bookmarked - Boolean! | Flag to indicate if the post is bookmarked by the requesting user. Returns |
content - Content! | Content of the post. Contains HTML and Markdown version of the post content. |
likedBy - PostLikerConnection! | A list of users who liked the post. |
Arguments | |
featuredAt - DateTime | The date and time the post was featured. Used along with featured flag to determine if the post is featured. |
publishedAt - DateTime! | The date and time the post was published. |
updatedAt - DateTime | The date and time the post was last updated. |
preferences - PostPreferences! | Preference settings for the post. Contains information about if the post is pinned to blog, comments are disabled, etc. |
audioUrls - AudioUrls | Returns male and female audio url of the post. Available in case the Audioblog is enabled. Audio Blogs are not supported anymore. This field will be removed 18/04/23 |
seo - SEO | SEO information of the post. Contains title and description used in meta tags. |
ogMetaData - OpenGraphMetaData | OG meta-data of the post. Contains image url used in open graph meta tags. |
hasLatexInPost - Boolean! | A flag to indicate if the post contains LaTeX. Latex is used to write mathematical equations. |
isFollowed - Boolean | Whether or not the authenticated user is following this post. Returns |
isAutoPublishedFromRSS - Boolean! | Whether or not the post has automatically been published via RSS feed. |
features - PostFeatures! | Post feature-related fields. |
sourcedFromGithub - Boolean! | Boolean flag to identify whether or not the post is sourced from GitHub. |
Example
{ "id": "4", "slug": "abc123", "previousSlugs": ["abc123"], "title": "xyz789", "subtitle": "xyz789", "author": User, "coAuthors": [User], "tags": [Tag], "url": "abc123", "canonicalUrl": "xyz789", "publication": Publication, "cuid": "xyz789", "coverImage": PostCoverImage, "bannerImage": PostBannerImage, "brief": "abc123", "readTimeInMinutes": 987, "views": 987, "series": Series, "reactionCount": 123, "replyCount": 123, "responseCount": 123, "featured": false, "contributors": [User], "commenters": PostCommenterConnection, "comments": PostCommentConnection, "bookmarked": true, "content": Content, "likedBy": PostLikerConnection, "featuredAt": "2007-12-03T10:15:30Z", "publishedAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "preferences": PostPreferences, "audioUrls": AudioUrls, "seo": SEO, "ogMetaData": OpenGraphMetaData, "hasLatexInPost": true, "isFollowed": true, "isAutoPublishedFromRSS": false, "features": PostFeatures, "sourcedFromGithub": true }
PostAuthorType
Description
The author type of a post from a user's perspective
Values
Enum Value | Description |
---|---|
| The user has authored the post. |
| The user is a co-author of post. |
Example
"AUTHOR"
PostBadge
Fields
Field Name | Description |
---|---|
id - ID! | Unique identifier. |
type - PostBadgeType! | The type of the badge. |
Example
{"id": "4", "type": "FEATURED_HASHNODE"}
PostBadgeType
Values
Enum Value | Description |
---|---|
| |
|
Example
"FEATURED_HASHNODE"
PostBadgesFeature
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | Whether or not the user has chosen to show badges on the post. |
items - [PostBadge!]! |
Example
{"isEnabled": false, "items": [PostBadge]}
PostBannerImage
Description
Contains information about the banner image of the post.
Fields
Field Name | Description |
---|---|
url - String! | The URL of the banner image. |
Example
{"url": "xyz789"}
PostCommentConnection
Description
Connection for comments. Contains a list of edges containing nodes. Each node holds a comment. Page info contains information about pagination like hasNextPage and endCursor. Total documents contains the total number of comments.
Fields
Field Name | Description |
---|---|
edges - [PostCommentEdge!]! | A list of edges containing comments as nodes. |
pageInfo - PageInfo! | Information about pagination in a connection. |
totalDocuments - Int! | Total number of nodes available i.e. number of comments. |
Example
{ "edges": [PostCommentEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
PostCommentEdge
PostCommentSortBy
Description
Sorting options for comments. Used to sort comments by top or recent.
Values
Enum Value | Description |
---|---|
| Sorts comments by popularity. |
| Sorts comments by recency. |
Example
"TOP"
PostCommenterConnection
Description
Connection for commenters (users). Contains a list of edges containing nodes. Each node holds commenter. Page info contains information about pagination like hasNextPage and endCursor. Total documents contains the total number of commenters.
Fields
Field Name | Description |
---|---|
edges - [PostCommenterEdge!]! | A list of edges containing commenters as nodes. |
pageInfo - PageInfo! | Information about pagination in a connection. |
totalDocuments - Int! | Total number of nodes available i.e. number of commenters. |
Example
{ "edges": [PostCommenterEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
PostCommenterEdge
PostCommenterSortBy
Description
Sorting options for commenters. Used to sort commenters by popularity or recency.
Values
Enum Value | Description |
---|---|
| Sorts commenters by popularity. |
| Sorts commenters by recency. |
Example
"POPULAR"
PostCoverImage
Description
Contains information about the cover image of the post.
Fields
Field Name | Description |
---|---|
url - String! | The URL of the cover image. |
isPortrait - Boolean! | Indicates whether the cover image is in portrait orientation. |
attribution - String | Provides attribution information for the cover image, if available. |
photographer - String | The name of the photographer who captured the cover image. |
isAttributionHidden - Boolean! | True if the image attribution should be hidden. |
Example
{ "url": "xyz789", "isPortrait": false, "attribution": "abc123", "photographer": "xyz789", "isAttributionHidden": false }
PostEdge
PostFeatures
Fields
Field Name | Description |
---|---|
tableOfContents - TableOfContentsFeature! | |
badges - PostBadgesFeature! |
Example
{ "tableOfContents": TableOfContentsFeature, "badges": PostBadgesFeature }
PostLikerConnection
Description
Connection for users who liked the post. Contains a list of edges containing nodes. Each node is a user who liked the post. Page info contains information about pagination like hasNextPage and endCursor. Total documents contains the total number of users who liked the post.
Fields
Field Name | Description |
---|---|
edges - [PostLikerEdge!]! | A list of edges containing users as nodes |
pageInfo - PageInfo! | Information about pagination in a connection. |
totalDocuments - Int! | Total number of nodes available i.e. number of users who liked the post. |
Example
{ "edges": [PostLikerEdge], "pageInfo": PageInfo, "totalDocuments": 123 }
PostLikerEdge
Description
A user who liked the post. Contains information about the user and number of reactions added by the user.
Example
{ "node": User, "cursor": "abc123", "reactionCount": 987 }
PostLikerFilter
Fields
Input Field | Description |
---|---|
userIds - [ID!] | Only return likes from users with the given user IDs. |
Example
{"userIds": ["4"]}
PostPreferences
Description
Contains Post preferences. Used to determine if the post is pinned to blog, comments are disabled, or cover image is sticked to bottom.
Fields
Field Name | Description |
---|---|
pinnedToBlog - Boolean! | A flag to indicate if the post is pinned to blog. Pinned post is shown on top of the blog. |
disableComments - Boolean! | A flag to indicate if the comments are disabled for the post. |
stickCoverToBottom - Boolean! | A flag to indicate if the cover image is shown below title of the post. Default position of cover is top of title. |
isDelisted - Boolean! | Whether or not the post is hidden from the Hashnode community. |
Example
{ "pinnedToBlog": true, "disableComments": true, "stickCoverToBottom": true, "isDelisted": false }
PostSortBy
Values
Enum Value | Description |
---|---|
| Sorts posts by date published in ascending order. |
| Sorts posts by date published in descending order. |
Example
"DATE_PUBLISHED_ASC"
Preferences
Description
Contains the publication's preferences for layout, theme and other personalisations.
Fields
Field Name | Description |
---|---|
logo - String | The publication's logo url. |
darkMode - DarkModePreferences | The publication's darkmode preferences. Can be used to load blog in dark mode by default and add a custom dark mode logo. |
enabledPages - PagesPreferences | An object containing pages enabled for the publication. |
navbarItems - [PublicationNavbarItem!]! | The items in the publication's navigation bar. |
layout - PublicationLayout | The selected publication's layout, can be stacked, grid or magazine. |
disableFooterBranding - Boolean | A flag indicating if the hashnode's footer branding is disabled for the publication. |
isSubscriptionModalDisabled - Boolean | A flag indicating if subscription popup needs to be shown to be shown for the publication |
Example
{ "logo": "xyz789", "darkMode": DarkModePreferences, "enabledPages": PagesPreferences, "navbarItems": [PublicationNavbarItem], "layout": "stacked", "disableFooterBranding": true, "isSubscriptionModalDisabled": true }
ProTeamFeature
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the Pro team feature is enabled or not. |
Example
{"isEnabled": false}
ProjectViewEdge
Fields
Field Name | Description |
---|---|
node - DocsViews! | |
cursor - String! |
Example
{ "node": DocsViews, "cursor": "abc123" }
ProjectViewsConnection
Fields
Field Name | Description |
---|---|
edges - [ProjectViewEdge!]! | |
pageInfo - PageInfo! |
Example
{ "edges": [ProjectViewEdge], "pageInfo": PageInfo }
ProjectViewsFilter
Description
Filter for project views.
Individual filters are combined with an AND condition whereas multiple values for the same filter are combined with an OR condition.
Example: documentationGuideIds: ["1", "2"], operatingSystems: ["Mac OS"]
will return views for posts with ID 1 or 2 AND operating system Mac OS.
Fields
Input Field | Description |
---|---|
time - TimeFilter | Filter based on time range. |
documentationGuideIds - [ID!] | Filter by one or multiple documentation guide IDs. If multiple IDs are provided, the filter will be applied as an OR condition. |
apiReferenceGuideIds - [ID!] | Filter by one or multiple api reference guide IDs. If multiple IDs are provided, the filter will be applied as an OR condition. |
pageIds - [ID!] | Filter by one or multiple page IDs. If multiple IDs are provided, the filter will be applied as an OR condition. |
paths - [String!] | Filter by one or multiple paths. If multiple paths are provided, the filter will be applied as an OR condition. |
operatingSystems - [String!] | Filter by one or multiple operating systems. If multiple operating systems are provided, the filter will be applied as an OR condition. |
deviceTypes - [DeviceType!] | Filter by one or multiple device types. If multiple device types are provided, the filter will be applied as an OR condition. |
browsers - [String!] | Filter by one or multiple browsers. If multiple browsers are provided, the filter will be applied as an OR condition. |
countries - [String!] | Filter by one or multiple countries. If multiple countries are provided, the filter will be applied as an OR condition. |
referrerHosts - [String!] | Filter by one or multiple referrer hosts. If multiple referrer hosts are provided, the filter will be applied as an OR condition. |
Example
{ "time": TimeFilter, "documentationGuideIds": ["4"], "apiReferenceGuideIds": ["4"], "pageIds": ["4"], "paths": ["xyz789"], "operatingSystems": ["abc123"], "deviceTypes": ["DESKTOP"], "browsers": ["xyz789"], "countries": ["abc123"], "referrerHosts": ["abc123"] }
ProjectViewsGroupBy
Fields
Input Field | Description |
---|---|
dimension - DocsAnalyticsDimension | Group by one analytics dimensions. Can not be used together with |
granularity - TimeGranularity | Group by time. Without this, all views over time will be aggregated. Can not be used together with |
Example
{"dimension": "DOCUMENTATION_GUIDE", "granularity": "HOURLY"}
ProjectViewsOptions
Fields
Input Field | Description |
---|---|
groupingTimezone - TimeZone | The timezone that is used for grouping the views by time. E.g. if you group by day, the timezone will be used to determine the start of the day as indicated by It has no effect outside of time grouping. Default is |
Example
{"groupingTimezone": "Etc/UTC"}
ProjectViewsSortBy
Fields
Input Field | Description |
---|---|
viewCount - SortOrder! | Sort the views by the total number of views. Can only be used when grouped by dimension . |
Example
{"viewCount": "asc"}
ProjectVisitorsConnection
Fields
Field Name | Description |
---|---|
edges - [ProjectVisitorsEdge!]! | |
pageInfo - PageInfo! |
Example
{ "edges": [ProjectVisitorsEdge], "pageInfo": PageInfo }
ProjectVisitorsEdge
Fields
Field Name | Description |
---|---|
node - DocsVisitors! | |
cursor - String! |
Example
{ "node": DocsVisitors, "cursor": "abc123" }
ProjectVisitorsFilter
Description
Filter for project visitors.
Individual filters are combined with an AND condition whereas multiple values for the same filter are combined with an OR condition.
Example: documentationGuideIds: ["1", "2"], operatingSystems: ["Mac OS"]
will return visitors for posts with ID 1 or 2 AND operating system Mac OS.
Fields
Input Field | Description |
---|---|
time - TimeFilter | Filter based on time range. |
documentationGuideIds - [ID!] | Filter by one or multiple documentation guide IDs. If multiple IDs are provided, the filter will be applied as an OR condition. |
apiReferenceGuideIds - [ID!] | Filter by one or multiple api reference guide IDs. If multiple IDs are provided, the filter will be applied as an OR condition. |
pageIds - [ID!] | Filter by one or multiple page IDs. If multiple IDs are provided, the filter will be applied as an OR condition. |
paths - [String!] | Filter by one or multiple paths. If multiple paths are provided, the filter will be applied as an OR condition. |
operatingSystems - [String!] | Filter by one or multiple operating systems. If multiple operating systems are provided, the filter will be applied as an OR condition. |
deviceTypes - [DeviceType!] | Filter by one or multiple device types. If multiple device types are provided, the filter will be applied as an OR condition. |
browsers - [String!] | Filter by one or multiple browsers. If multiple browsers are provided, the filter will be applied as an OR condition. |
countries - [CountryCodeAlpha2!] | Filter by one or multiple countries. If multiple countries are provided, the filter will be applied as an OR condition. |
referrerHosts - [String!] | Filter by one or multiple referrer hosts. If multiple referrer hosts are provided, the filter will be applied as an OR condition. |
Example
{ "time": TimeFilter, "documentationGuideIds": [4], "apiReferenceGuideIds": [4], "pageIds": ["4"], "paths": ["xyz789"], "operatingSystems": ["xyz789"], "deviceTypes": ["DESKTOP"], "browsers": ["abc123"], "countries": ["AD"], "referrerHosts": ["xyz789"] }
ProjectVisitorsGroupBy
Fields
Input Field | Description |
---|---|
dimension - DocsAnalyticsDimension | Group by one analytics dimensions. Can not be used together with |
granularity - TimeGranularity | Group by time. Without this, all views over time will be aggregated. Can not be used together with |
Example
{"dimension": "DOCUMENTATION_GUIDE", "granularity": "HOURLY"}
ProjectVisitorsOptions
Fields
Input Field | Description |
---|---|
groupingTimezone - TimeZone | The timezone that is used for grouping the views by time. E.g. if you group by day, the timezone will be used to determine the start of the day as indicated by It has no effect outside of time grouping. Default is |
Example
{"groupingTimezone": "Etc/UTC"}
Publication
Description
Contains basic information about the publication. A publication is a blog that can be created for a user or a team.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the publication. |
title - String! | The title of the publication. Title is used as logo if logo is not provided. |
displayTitle - String | The title of the publication. Shown in blog home page. |
descriptionSEO - String | The description of the publication, used in og:description meta tag. Fall backs to Publication.about.text if no SEO description is provided. |
about - Content | The about section of the publication. |
url - String! | The domain of the publication. Used to access publication. Example https://johndoe.com |
canonicalURL - String! | The canonical URL of the publication. |
author - User! | The author who owns the publication. |
favicon - String | The favicon of the publication. Used in browser tab. |
headerColor - String | Color code of the header color of the publication. Used to style header of blog. |
metaTags - String | The meta tags associated with the publication. |
integrations - PublicationIntegrations | The integrations connected to the publication. |
invites - PublicationInvite | Details of publication invites. Returns null if publication is not a team publication. |
preferences - Preferences! | The publication preferences around layout, theme and other personalisations. |
followersCount - Int | Total number of followers of the publication. |
imprint - String | Summary of the contact information and information related to copyrights, usually used in German-speaking countries. Use imprintV2 instead. Will be removed after 16/12/2023. |
imprintV2 - Content | Summary of the contact information and information related to copyrights, usually used in German-speaking countries. |
isTeam - Boolean! | True if the publication is a team publication and false otherwise. |
links - PublicationLinks | Links to the publication's social media profiles. |
domainInfo - DomainInfo! | Domain information of the publication. |
isHeadless - Boolean! | A flag to indicate if the publication is using Headless CMS. This can be used to check if the post redirect needs authentication. |
series - Series | Returns series by slug in the publication. |
Arguments | |
seriesList - SeriesConnection! | Returns the list of series in the publication. |
posts - PublicationPostConnection! | Returns the list of posts in the publication. |
Arguments | |
postsViaPage - PublicationPostPageConnection! | |
Arguments | |
pinnedPost - Post | Returns the pinned post of the publication. |
post - Post | Returns the post with the given slug. |
Arguments | |
redirectedPost - Post | Returns a post by a previous slug. It does not resolve a post by its current slug. If a slug has been changed, we'll create a redirect from the old slug to the new one. With This can be used to redirect a user to the new post slug (via |
Arguments | |
ogMetaData - OpenGraphMetaData! | Information about the publication's Open Graph metadata i.e. image. |
features - PublicationFeatures! | Object containing information about beta features enabled for the publication. |
drafts - DraftConnection! | Returns the list of drafts of the authenticated user in the publication. |
Arguments | |
allDrafts - DraftConnection! | Returns the list of drafts in the publication |
Arguments | |
scheduledDrafts - DraftConnection! | Returns the scheduled drafts of the publication by the authenticated user. |
Arguments | |
allScheduledDrafts - DraftConnection! | Returns all the scheduled drafts of the publication. |
Arguments | |
staticPage - StaticPage | Returns the static page with the given slug. |
Arguments | |
staticPages - StaticPageConnection! | Returns a list of static pages in the publication. |
submittedDrafts - DraftConnection! | Returns the list of submitted drafts in the publication. |
Arguments | |
isGitHubBackupEnabled - Boolean! | Returns true if GitHub backup is configured and active and false otherwise. |
isGithubAsSourceConnected - Boolean! | Returns whether the publication's GitHub source repo is connected. |
urlPattern - UrlPattern! | Determines the structure of the post URLs. |
emailImport - EmailImport | Returns the publication's email imports, used with newsletter feature. |
redirectionRules - [RedirectionRule!]! | Configured redirection rules for the publication. |
hasBadges - Boolean! | Whether the publication has earned any badges or not. |
sponsorship - PublicationSponsorship | Contains the publication's sponsorships information. |
recommendedPublications - [UserRecommendedPublicationEdge!]! | Publications that are recommended by this publication. |
totalRecommendedPublications - Int! | The total amount of recommended publications by this publication. |
recommendingPublications - PublicationUserRecommendingPublicationConnection! | Publications that are recommending this publication. |
allowContributorEdits - Boolean! | Boolean flag indicating if the publication allows edits by contributors |
members - PublicationMemberConnection! | |
Arguments | |
publicMembers - PublicationMemberConnection! | Returns a paginated list of public members of the publication. |
Example
{ "id": 4, "title": "abc123", "displayTitle": "abc123", "descriptionSEO": "abc123", "about": Content, "url": "xyz789", "canonicalURL": "xyz789", "author": User, "favicon": "xyz789", "headerColor": "abc123", "metaTags": "abc123", "integrations": PublicationIntegrations, "invites": PublicationInvite, "preferences": Preferences, "followersCount": 123, "imprint": "abc123", "imprintV2": Content, "isTeam": true, "links": PublicationLinks, "domainInfo": DomainInfo, "isHeadless": true, "series": Series, "seriesList": SeriesConnection, "posts": PublicationPostConnection, "postsViaPage": PublicationPostPageConnection, "pinnedPost": Post, "post": Post, "redirectedPost": Post, "ogMetaData": OpenGraphMetaData, "features": PublicationFeatures, "drafts": DraftConnection, "allDrafts": DraftConnection, "scheduledDrafts": DraftConnection, "allScheduledDrafts": DraftConnection, "staticPage": StaticPage, "staticPages": StaticPageConnection, "submittedDrafts": DraftConnection, "isGitHubBackupEnabled": false, "isGithubAsSourceConnected": true, "urlPattern": "DEFAULT", "emailImport": EmailImport, "redirectionRules": [RedirectionRule], "hasBadges": true, "sponsorship": PublicationSponsorship, "recommendedPublications": [ UserRecommendedPublicationEdge ], "totalRecommendedPublications": 987, "recommendingPublications": PublicationUserRecommendingPublicationConnection, "allowContributorEdits": true, "members": PublicationMemberConnection, "publicMembers": PublicationMemberConnection }
PublicationDraftConnectionFilter
Description
Connection to get list of drafts in publications. Returns a list of edges which contains the drafts in publication and cursor to the last item of the previous page.
Fields
Input Field | Description |
---|---|
search - String | Search filter will be applied to the title of a draft |
Example
{"search": "xyz789"}
PublicationFeatures
Description
Contains the publication's beta features.
Fields
Field Name | Description |
---|---|
newsletter - NewsletterFeature! | Newsletter feature for the publication which adds a /newsletter route for collecting subscribers and allows sending out newsletters. |
viewCount - ViewCountFeature! | Show the view count for blog posts. |
readTime - ReadTimeFeature! | Show the read time for blog posts. |
audioBlog - AudioBlogFeature! | Audio player for blog posts. Audio Blogs are not supported anymore. This field will be removed 18/04/23 |
textSelectionSharer - TextSelectionSharerFeature! | Widget that shows up if a text on a blog post is selected. Allows for easy sharing or copying of the selected text. |
customCSS - CustomCSSFeature! | Individual styling for the publication. |
headlessCMS - HeadlessCMSFeature! | Headless CMS for the publication. |
proTeam - ProTeamFeature! | Flag to denote if publication is a pro team's publication. |
gptBotCrawling - GPTBotCrawlingFeature! | GPT Bot crawler to index the publication. |
Example
{ "newsletter": NewsletterFeature, "viewCount": ViewCountFeature, "readTime": ReadTimeFeature, "audioBlog": AudioBlogFeature, "textSelectionSharer": TextSelectionSharerFeature, "customCSS": CustomCSSFeature, "headlessCMS": HeadlessCMSFeature, "proTeam": ProTeamFeature, "gptBotCrawling": GPTBotCrawlingFeature }
PublicationIntegrations
Description
Contains the publication's integrations. Used to connect the publication with third party services like Google Analytics, Facebook Pixel, etc.
Fields
Field Name | Description |
---|---|
fbPixelID - String | FB Pixel ID for integration with Facebook Pixel. |
fathomSiteID - String | Fathom Analytics Site ID for integration with Fathom Analytics. |
fathomCustomDomainEnabled - Boolean | A flag indicating if the custom domain is enabled for integration with Fathom Analytics. |
fathomCustomDomain - String | Custom domain for integration with Fathom Analytics. |
hotjarSiteID - String | Hotjar Site ID for integration with Hotjar. |
matomoSiteID - String | Matomo Site ID for integration with Matomo Analytics. |
matomoURL - String | Matomo URL for integration with Matomo Analytics. |
gaTrackingID - String | Google Analytics Tracking ID for integration with Google Analytics. |
plausibleAnalyticsEnabled - Boolean | A flag indicating if the custom domain is enabled for integration with Plausible Analytics. |
wmPaymentPointer - String | Web Monetization Payment Pointer for integration with Web Monetization. |
umamiWebsiteUUID - String | The ID for the Hashnode-provided Umami analytics instance. |
umamiShareId - String | The share ID for the Hashnode-provided Umami analytics instance. |
gTagManagerID - String | Google Tag Manager ID for integration with Google Tag Manager. |
koalaPublicKey - String | Koala Public Key for integration with Koala. |
msClarityID - String | MS Clarity ID for integration with Microsoft Clarity. |
Example
{ "fbPixelID": "abc123", "fathomSiteID": "abc123", "fathomCustomDomainEnabled": false, "fathomCustomDomain": "abc123", "hotjarSiteID": "xyz789", "matomoSiteID": "abc123", "matomoURL": "abc123", "gaTrackingID": "abc123", "plausibleAnalyticsEnabled": true, "wmPaymentPointer": "abc123", "umamiWebsiteUUID": "xyz789", "umamiShareId": "abc123", "gTagManagerID": "abc123", "koalaPublicKey": "abc123", "msClarityID": "abc123" }
PublicationInvite
Description
Contains the publication invite information.
Fields
Field Name | Description |
---|---|
pendingInvites - PendingInviteConnection! | |
roleBasedInvites - RoleBasedInviteConnection! | The paginated list of role based invites. |
areRoleBasedInviteLinksActive - Boolean! | Signifies if invite links in role-based invites are active. Users trying to join by role-based invite can only join if this is enabled. |
Example
{ "pendingInvites": PendingInviteConnection, "roleBasedInvites": RoleBasedInviteConnection, "areRoleBasedInviteLinksActive": false }
PublicationLayout
Description
Contains publication's layout choices.
Values
Enum Value | Description |
---|---|
| Changes the layout of blog into stacked list of posts. |
| Changes the layout of blog into grid 3 post cards per row. |
| Changes the layout of blog into magazine style. This is the newest layout. |
Example
"stacked"
PublicationLinks
Description
Contains the publication's social media links.
Fields
Field Name | Description |
---|---|
twitter - String | Twitter URL of the publication. |
instagram - String | Instagram URL of the publication. |
github - String | GitHub URL of the publication. |
website - String | Website URL of the publication. |
hashnode - String | Hashnode profile of author of the publication. |
youtube - String | YouTube URL of the publication. |
dailydev - String | Daily.dev URL of the publication. |
linkedin - String | LinkedIn URL of the publication. |
mastodon - String | Mastodon URL of the publication. |
facebook - String | Facebook URL of the publication. |
bluesky - String | Bluesky URL of the publication. |
Example
{ "twitter": "xyz789", "instagram": "abc123", "github": "abc123", "website": "xyz789", "hashnode": "xyz789", "youtube": "xyz789", "dailydev": "abc123", "linkedin": "abc123", "mastodon": "xyz789", "facebook": "abc123", "bluesky": "abc123" }
PublicationMember
Description
Contains the publication member information.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the publication member. |
user - User | The user who is a member of the publication. |
role - UserPublicationRole! | The role of the user in the publication. |
privacyState - PublicationMemberPrivacyState | Denotes if the member is public or private A private member is not visible on members page |
Example
{ "id": 4, "user": User, "role": "OWNER", "privacyState": "PRIVATE" }
PublicationMemberConnection
Fields
Field Name | Description |
---|---|
nodes - [PublicationMember!]! | A list of members |
pageInfo - OffsetPageInfo! | Information for page based pagination in Member connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "nodes": [PublicationMember], "pageInfo": OffsetPageInfo, "totalDocuments": 987 }
PublicationMemberConnectionFilter
Description
The filter for the publication member connection.
Fields
Input Field | Description |
---|---|
search - String | Search filter can be used to filter members by their username or email. |
Example
{"search": "abc123"}
PublicationMemberPrivacyState
Description
Publication member privacy state on members page
Values
Enum Value | Description |
---|---|
| The member is private and not visible on the members page. |
| The member is public and visible on the members page. |
Example
"PRIVATE"
PublicationPostConnection
Description
Connection for posts within a publication. Contains a list of edges containing nodes. Each node is a post. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [PostEdge!]! | A list of edges containing Post information |
pageInfo - PageInfo! | Information for pagination in Post connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [PostEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
PublicationPostConnectionFilter
Description
Connection to get list of posts in publications. Returns a list of edges which contains the posts in publication and cursor to the last item of the previous page.
Fields
Input Field | Description |
---|---|
tags - [ObjectId!] | Filtering by tag slugs and tag IDs will return posts that match either of the filters. It is an "OR" filter and not an "AND" filter. |
tagSlugs - [String!] | Filtering by tag slugs and tag IDs will return posts that match either of the filters. It is an "OR" filter and not an "AND" filter. |
excludePinnedPost - Boolean | Remove pinned post from the result set. |
deletedOnly - Boolean | Only return posts that are deleted. Query returns active posts by default, set this to true to return deleted posts. |
requiredTags - [ID!] | Tags AND filter. All tags must be present in the post. |
requiredTagSlugs - [String!] | Tags AND filter. All tags must be present in the post. |
Example
{ "tags": [ObjectId], "tagSlugs": ["xyz789"], "excludePinnedPost": true, "deletedOnly": false, "requiredTags": ["4"], "requiredTagSlugs": ["xyz789"] }
PublicationPostPageConnection
Fields
Field Name | Description |
---|---|
nodes - [Post!]! | The posts belonging to the publication. |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of posts. |
Example
{ "nodes": [Post], "pageInfo": OffsetPageInfo, "totalDocuments": 987 }
PublicationPostsViaPageFilter
Fields
Input Field | Description |
---|---|
tags - [ID!] | Filtering by tag slugs and tag IDs will return posts that match either of the filters. It is an "OR" filter and not an "AND" filter. |
tagSlugs - [String!] | Filtering by tag slugs and tag IDs will return posts that match either of the filters. It is an "OR" filter and not an "AND" filter. |
excludePinnedPosts - Boolean | Remove pinned post from the result set. |
Example
{ "tags": ["4"], "tagSlugs": ["abc123"], "excludePinnedPosts": true }
PublicationSearchableDraftConnectionFilter
Description
ConnectionFilter to get list of drafts in publications. The filters are combined with an "AND" operation.
Fields
Input Field | Description |
---|---|
search - String | Search filter will be applied to the title of a draft |
authorIds - [ID!] | An array of author Ids to filter the drafts. |
tagIds - [ID!] | An array of tag Ids to filter the drafts. |
time - TimeFilter | Filter based on time range. |
Example
{ "search": "abc123", "authorIds": ["4"], "tagIds": ["4"], "time": TimeFilter }
PublicationSponsorship
Description
Contains the publication's Sponsorship information. User can sponsor their favorite publications and pay them directly using Stripe.
Fields
Field Name | Description |
---|---|
content - Content | The content shared by author of the publication to their sponsors. This is used as note to inform that author is open for sponsorship. |
stripe - StripeConfiguration | The Stripe configuration of the publication's Sponsorship. |
Example
{ "content": Content, "stripe": StripeConfiguration }
PublicationUserRecommendingPublicationConnection
Fields
Field Name | Description |
---|---|
edges - [UserRecommendingPublicationEdge!]! | A list of edges containing Post information |
nodes - [Publication!]! | Publications recommending this publication. |
pageInfo - OffsetPageInfo! | Information for page based pagination in Post connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [UserRecommendingPublicationEdge], "nodes": [Publication], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
PublicationViewEdge
PublicationVisitorsEdge
PublishDocumentationApiReferenceInput
PublishDocumentationApiReferencePayload
Fields
Field Name | Description |
---|---|
guide - DocumentationApiReference |
Example
{"guide": DocumentationApiReference}
PublishDocumentationGuideInput
PublishDocumentationGuidePayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide |
Example
{"guide": DocumentationGuide}
PublishDocumentationPageDraftInput
PublishDocumentationPageDraftPayload
Fields
Field Name | Description |
---|---|
page - DocumentationPage | |
guide - DocumentationGuide |
Example
{ "page": DocumentationPage, "guide": DocumentationGuide }
PublishDraftInput
Fields
Input Field | Description |
---|---|
draftId - ObjectId! | The id of the draft that should be published |
Example
{"draftId": ObjectId}
PublishDraftPayload
Fields
Field Name | Description |
---|---|
post - Post | The newly created post based on the draft |
Example
{"post": Post}
PublishPostInput
Description
Contains information about the post to be published.
Fields
Input Field | Description |
---|---|
title - String! | The title of the post. |
subtitle - String | The subtitle of the post. |
publicationId - ObjectId! | The ID of publication the post belongs to. |
contentMarkdown - String! | Content of the post in markdown format. |
publishedAt - DateTime | Date when the post is published. |
coverImageOptions - CoverImageOptionsInput | Options for the cover image of the post. |
bannerImageOptions - BannerImageOptionsInput | Options for the banner image of the post. It is similar to cover image but users can decide to render banner image of single post view. |
slug - String | Slug of the post. |
originalArticleURL - String | The URL of the original article if the post is imported from an external source. |
tags - [PublishPostTagInput!] | A list of tags to add to the post. You can get a list of popular tags available on Hashnode here. https://github.com/Hashnode/support/blob/main/misc/tags.json |
disableComments - Boolean | A flag to indicate if the comments are disabled for the post. |
metaTags - MetaTagsInput | Information about the meta tags added to the post, used for SEO purpose. |
publishAs - ObjectId | Publish the post on behalf of another user who is a member of the publication. Only applicable for team publications. |
seriesId - ObjectId | Providing a seriesId will add the post to that series. |
settings - PublishPostSettingsInput | Settings for the post like table of contents and newsletter activation. |
coAuthors - [ObjectId!] | Ids of the co-authors of the post. |
Example
{ "title": "xyz789", "subtitle": "xyz789", "publicationId": ObjectId, "contentMarkdown": "abc123", "publishedAt": "2007-12-03T10:15:30Z", "coverImageOptions": CoverImageOptionsInput, "bannerImageOptions": BannerImageOptionsInput, "slug": "xyz789", "originalArticleURL": "abc123", "tags": [PublishPostTagInput], "disableComments": false, "metaTags": MetaTagsInput, "publishAs": ObjectId, "seriesId": ObjectId, "settings": PublishPostSettingsInput, "coAuthors": [ObjectId] }
PublishPostPayload
Fields
Field Name | Description |
---|---|
post - Post |
Example
{"post": Post}
PublishPostSettingsInput
Fields
Input Field | Description |
---|---|
scheduled - Boolean | A flag to indicate if the post is scheduled. |
enableTableOfContent - Boolean | A flag to indicate if the post contains table of content |
slugOverridden - Boolean | Flag to indicate if the slug is overridden by the user. |
isNewsletterActivated - Boolean | Whether to send a newsletter for this post. |
delisted - Boolean | A flag to indicate if the post is delisted, used to hide the post from public feed. |
Example
{ "scheduled": true, "enableTableOfContent": false, "slugOverridden": true, "isNewsletterActivated": false, "delisted": false }
PublishPostTagInput
Fields
Input Field | Description |
---|---|
id - ObjectId | A tag id that is referencing an existing tag. Either this or name and slug should be provided. If both are provided, the id will be used. |
slug - String | A slug of a new tag to create. Either this and name or id should be provided. If both are provided, the id will be used. |
name - String | A name of a new tag to create. Either this and slug or id should be provided. If both are provided, the id will be used. |
Example
{ "id": ObjectId, "slug": "abc123", "name": "xyz789" }
RSSImport
Fields
Field Name | Description |
---|---|
id - ID! | |
rssURL - String! | The URL pointing to the RSS feed. |
scrapePosts - Boolean! | Indicates whether the posts should be scraped or not |
importAsDrafts - Boolean! | Indicates whether posts should be imported as drafts or not |
rssTagName - String | RSS Tag name to be considered as the post content for automatic import. |
Example
{ "id": "4", "rssURL": "xyz789", "scrapePosts": true, "importAsDrafts": false, "rssTagName": "abc123" }
ReadTimeFeature
Description
Contains the flag indicating if the read time feature is enabled or not. User can enable or disable the read time feature from the publication settings. Shows read time on blogs if enabled.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the read time feature is enabled or not. |
Example
{"isEnabled": false}
RecommendPublicationsInput
RecommendPublicationsPayload
Fields
Field Name | Description |
---|---|
recommendedPublications - [UserRecommendedPublicationEdge!] |
Example
{ "recommendedPublications": [ UserRecommendedPublicationEdge ] }
RecommendedPublicationEdge
Description
Contains a publication and a cursor for pagination.
Fields
Field Name | Description |
---|---|
node - Publication! | The node holding the Publication information |
cursor - String! | A cursor for use in pagination. |
Example
{ "node": Publication, "cursor": "abc123" }
RedirectionRule
Fields
Field Name | Description |
---|---|
id - ID! | |
type - HttpRedirectionType! | The type of the redirection rule. |
source - String! | The source URL of the redirection rule. |
destination - URL! | The destination URL of the redirection rule. |
Example
{ "id": "4", "type": "TEMPORARY", "source": "abc123", "destination": "http://www.test.com/" }
ReinviteUserToPublicationInput
ReinviteUserToPublicationPayload
Description
Response to reinviting a user to a publication.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies if the mutation was successful. |
Example
{"success": true}
RelativeTimeRange
Fields
Input Field | Description |
---|---|
relative - TimePeriod! | The type of time range to be used. |
n - Int! | The number of time periods to go back in time. |
Example
{"relative": "LAST_N_HOURS", "n": 987}
RemoveCommentInput
Fields
Input Field | Description |
---|---|
id - ID! |
Example
{"id": "4"}
RemoveCommentPayload
Fields
Field Name | Description |
---|---|
comment - Comment |
Example
{"comment": Comment}
RemoveDocumentationGuideInput
RemoveDocumentationGuidePayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuideItem |
Example
{"guide": DocumentationGuide}
RemoveDocumentationProjectAIPromptInput
RemoveDocumentationProjectAIPromptPayload
Description
Response to removing a prompt from the AI search
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
RemoveDocumentationProjectCustomDomainInput
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": "4"}
RemoveDocumentationProjectCustomDomainPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
RemoveDocumentationProjectInput
Description
The input for removing a documentation project.
Fields
Input Field | Description |
---|---|
projectId - ID! | The ID of the documentation project that should be removed. |
Example
{"projectId": "4"}
RemoveDocumentationProjectMemberInput
RemoveDocumentationProjectMemberPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject | |
removedMember - DocumentationProjectMember |
Example
{ "project": DocumentationProject, "removedMember": DocumentationProjectMember }
RemoveDocumentationProjectPayload
Description
The payload for removing a documentation project.
Fields
Field Name | Description |
---|---|
project - DocumentationProject | The documentation project that was removed. |
Example
{"project": DocumentationProject}
RemoveDocumentationSidebarItemInput
RemoveDocumentationSidebarItemPayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide |
Example
{"guide": DocumentationGuide}
RemovePostInput
Fields
Input Field | Description |
---|---|
id - ID! | The ID of the post to remove. |
Example
{"id": 4}
RemovePostPayload
Fields
Field Name | Description |
---|---|
post - Post | The deleted post. |
Example
{"post": Post}
RemovePublicationMemberInput
RemovePublicationMemberPayload
Description
Response to removing a user from a publication.
Fields
Field Name | Description |
---|---|
member - PublicationMember! | Returns the removed publication member. |
Example
{"member": PublicationMember}
RemoveRecommendationInput
RemoveRecommendationPayload
Fields
Field Name | Description |
---|---|
recommendedPublication - Publication! |
Example
{"recommendedPublication": Publication}
RemoveRedirectionRuleInput
RemoveRedirectionRulePayload
Fields
Field Name | Description |
---|---|
redirectionRule - RedirectionRule! |
Example
{"redirectionRule": RedirectionRule}
RemoveReplyInput
RemoveReplyPayload
Fields
Field Name | Description |
---|---|
reply - Reply |
Example
{"reply": Reply}
RemoveSeriesInput
Fields
Input Field | Description |
---|---|
id - ID! | The id of the series to remove. |
Example
{"id": 4}
RemoveSeriesPayload
Fields
Field Name | Description |
---|---|
series - Series! | Returns the updated series. |
Example
{"series": Series}
RenameDocumentationGuideItemInput
RenameDocumentationGuideItemPayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuideItem |
Example
{"guide": DocumentationGuide}
RenameDocumentationSidebarItemInput
RenameDocumentationSidebarItemPayload
Fields
Field Name | Description |
---|---|
item - DocumentationSidebarItem | |
guide - DocumentationGuide |
Example
{ "item": DocumentationSection, "guide": DocumentationGuide }
Reply
Description
Contains basic information about the reply. A reply is a response to a comment.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the reply. |
content - Content! | The content of the reply in markdown and html format. |
author - User! | The author of the reply. |
dateAdded - DateTime! | The date the reply was created. |
stamp - String | A unique string identifying the reply. Used as element id in the DOM on hashnode blogs. It can be used to scroll to the reply in browser. |
totalReactions - Int! | Total number of reactions on the reply. Reactions are hearts added to any reply. |
myTotalReactions - Int! | Total number of reactions on the reply by the authenticated user. User must be authenticated to use this field. |
Example
{ "id": 4, "content": Content, "author": User, "dateAdded": "2007-12-03T10:15:30Z", "stamp": "xyz789", "totalReactions": 987, "myTotalReactions": 987 }
RescheduleDraftInput
RescheduleDraftPayload
Fields
Field Name | Description |
---|---|
scheduledPost - ScheduledPost! | Payload returned in response of reschedulePost mutation. |
Example
{"scheduledPost": ScheduledPost}
ResendWebhookRequestInput
ResendWebhookRequestPayload
Fields
Field Name | Description |
---|---|
webhookMessage - WebhookMessage |
Example
{"webhookMessage": WebhookMessage}
RestorePostInput
Fields
Input Field | Description |
---|---|
id - ID! |
Example
{"id": 4}
RestorePostPayload
Fields
Field Name | Description |
---|---|
post - Post |
Example
{"post": Post}
RetryDocumentationProjectCustomDomainVerificationInput
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": "4"}
RetryDocumentationProjectCustomDomainVerificationPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
RevokeInviteToDocumentationProjectInput
RevokeInviteToDocumentationProjectPayload
Description
Response to revoking an invitation to join a documentation project.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies the success of the mutation. |
project - DocumentationProject | The documentation project that was associated with the invite. |
Example
{"success": false, "project": DocumentationProject}
RevokeUserInviteToPublicationInput
RevokeUserInviteToPublicationPayload
Description
Response to revoking a user invitation to a publication.
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies if the mutation was successful. |
Example
{"success": true}
RoleBasedInvite
Description
Contains the role based invite information.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the role based invite. |
role - UserPublicationRole! | The role assigned to the user in the publication. |
isUnlimitedCapacity - Boolean | Boolean that signifies if the invite has unlimited capacity. |
usedCapacity - Int | The number of members that have already used the link to join the team. |
capacity - Int | The capacity of how many members to be invited by the link. |
inviteLink - String | Invite link of the role based invite. |
createdAt - DateTime | The date the invite was created. |
expiryDate - DateTime | The expiry date of the invite. |
Example
{ "id": "4", "role": "OWNER", "isUnlimitedCapacity": false, "usedCapacity": 987, "capacity": 987, "inviteLink": "abc123", "createdAt": "2007-12-03T10:15:30Z", "expiryDate": "2007-12-03T10:15:30Z" }
RoleBasedInviteConnection
Fields
Field Name | Description |
---|---|
nodes - [RoleBasedInvite!]! | A list of invites |
pageInfo - OffsetPageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of invites. |
Example
{ "nodes": [RoleBasedInvite], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
SEO
SaveDocumentationPageDraftContentInput
SaveDocumentationPageDraftContentPayload
Fields
Field Name | Description |
---|---|
page - DocumentationPage |
Example
{"page": DocumentationPage}
ScheduleDraftInput
ScheduleDraftPayload
Fields
Field Name | Description |
---|---|
scheduledPost - ScheduledPost! | Payload returned in response of reschedulePost mutation. |
Example
{"scheduledPost": ScheduledPost}
ScheduledPost
Description
Contains basic information about the scheduled post. A scheduled post is a post that is scheduled to be published in the future.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the scheduled post. |
author - User! | The date the scheduled post was created. |
draft - Draft | Returns the draft associated with the scheduled post. |
scheduledDate - DateTime! | The scheduled date for the post to be published. This is the date the post will be published. |
scheduledBy - User | Returns user who scheduled the post. This is usually the author of the post. |
publication - Publication! | Returns the publication the post is scheduled for. |
Example
{ "id": "4", "author": User, "draft": Draft, "scheduledDate": "2007-12-03T10:15:30Z", "scheduledBy": User, "publication": Publication }
Scope
Description
Enum of all the scopes that can be used with the @requireAuth directive.
Values
Enum Value | Description |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
Example
"write_post"
SearchPostConnection
Description
Connection for posts within a publication search. Contains a list of edges containing nodes. Each node is a post. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [PostEdge!]! | A list of edges containing Post information |
pageInfo - PageInfo! | Information for pagination in Post connection. |
Example
{ "edges": [PostEdge], "pageInfo": PageInfo }
SearchPostsOfPublicationFilter
Fields
Input Field | Description |
---|---|
query - String | The query to be searched in post. |
publicationId - ObjectId! | The ID of publications to search from. |
deletedOnly - Boolean | Only return posts that are deleted. Query returns active posts by default, set this to true to return deleted posts. |
authorIds - [ID!] | An array of author Ids to filter the posts. |
tagIds - [ID!] | An array of tag Ids to filter the posts. |
time - TimeFilter | Filter based on time range. |
requiredTagsIds - [ID!] | Tags AND filter. All tags must be present in the post. |
Example
{ "query": "abc123", "publicationId": ObjectId, "deletedOnly": true, "authorIds": [4], "tagIds": ["4"], "time": TimeFilter, "requiredTagsIds": ["4"] }
SearchUser
Example
{"id": 4, "user": User, "pendingInviteStatus": false}
Series
Description
Contains basic information about the series. A series is a collection of posts that are related to each other.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the series. |
name - String! | The name of the series. Shown in series page. |
createdAt - DateTime! | The date and time the series was created. |
description - Content | The description of the series. Contains markdown and html version of the series's description. |
coverImage - String | The cover image of the series. |
author - User! | Returns the user who is author of the series. |
cuid - ID | Unique identifier for the series. |
slug - String! | The slug of the series. Used to access series page. Example https://johndoe.com/series/series-slug |
sortOrder - SortOrder! | The sort order of the series, determines if the latest posts should appear first or last in series. |
posts - SeriesPostConnection! | Returns a list of posts in the series. |
Example
{ "id": 4, "name": "xyz789", "createdAt": "2007-12-03T10:15:30Z", "description": Content, "coverImage": "abc123", "author": User, "cuid": "4", "slug": "abc123", "sortOrder": "asc", "posts": SeriesPostConnection }
SeriesConnection
Description
Connection for Series. Contains a list of edges containing nodes. Each node is a Series. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [SeriesEdge!]! | A list of edges containing Series information |
pageInfo - PageInfo! | Information for pagination in SeriesList connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [SeriesEdge], "pageInfo": PageInfo, "totalDocuments": 123 }
SeriesEdge
SeriesPostConnection
Description
Connection for posts within a series. Contains a list of edges containing nodes. Each node is a post. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [PostEdge!]! | A list of edges containing Post information |
pageInfo - PageInfo! | Information for pagination in Post connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [PostEdge], "pageInfo": PageInfo, "totalDocuments": 123 }
SetDocumentationSidebarItemVisibilityInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
guideSlug - String! | |
itemId - ID! | |
visibility - DocumentationSidebarItemVisibility! |
Example
{ "projectId": "4", "guideSlug": "abc123", "itemId": "4", "visibility": "PUBLIC" }
SetDocumentationSidebarItemVisibilityPayload
Fields
Field Name | Description |
---|---|
item - DocumentationSidebarItem | |
guide - DocumentationGuide |
Example
{ "item": DocumentationSection, "guide": DocumentationGuide }
SocialMediaLinks
Description
Available social media links.
Fields
Field Name | Description |
---|---|
website - String | The user's website. |
github - String | The user's GitHub profile. |
twitter - String | The user's Twitter profile. |
instagram - String | The user's Instagram profile. |
facebook - String | The user's Facebook profile. |
stackoverflow - String | The user's StackOverflow profile. |
linkedin - String | The user's LinkedIn profile. |
youtube - String | The user's YouTube profile. |
bluesky - String | The user's Bluesky profile. |
Example
{ "website": "xyz789", "github": "abc123", "twitter": "xyz789", "instagram": "xyz789", "facebook": "xyz789", "stackoverflow": "xyz789", "linkedin": "abc123", "youtube": "abc123", "bluesky": "abc123" }
SortOrder
Description
SortOrder is a common enum for all types that can be sorted.
Values
Enum Value | Description |
---|---|
| |
|
Example
"asc"
StaticPage
Description
Contains basic information about the static page. Static pages are pages that are written in markdown and can be added to blog.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the static page. |
title - String! | The title of the static page. Shown in nav bar. |
slug - String! | The slug of the static page. Used to access static page. Example https://johndoe.com/my-page . |
content - Content! | Content of the static page. Contains markdown and html version of the static page's content. |
hidden - Boolean! | A flag to determine if the static page is hidden from public or not, this is used to hide the page instead of deleting it. |
ogMetaData - OpenGraphMetaData | Information about the static page's Open Graph metadata i.e. image. |
seo - SEO | Information about the static page's SEO metadata i.e. title and description. |
Example
{ "id": 4, "title": "abc123", "slug": "xyz789", "content": Content, "hidden": false, "ogMetaData": OpenGraphMetaData, "seo": SEO }
StaticPageConnection
Description
Connection to get list of static pages. Returns a list of edges which contains the static page and cursor to the last item of the previous page.
Fields
Field Name | Description |
---|---|
edges - [StaticPageEdge!]! | A list of edges containing nodes in the connection. |
pageInfo - PageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [StaticPageEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
StaticPageEdge
Description
An edge that contains a node of type static page and cursor to the node.
Fields
Field Name | Description |
---|---|
node - StaticPage! | The node containing a static page. |
cursor - String! | A cursor to the last item of the previous page. |
Example
{ "node": StaticPage, "cursor": "xyz789" }
String
Description
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
StripeConfiguration
Description
Contains the publication's Stripe configuration.
Example
{ "connected": false, "accountId": "abc123", "country": "abc123" }
SubscribeToNewsletterInput
SubscribeToNewsletterPayload
Fields
Field Name | Description |
---|---|
status - NewsletterSubscribeStatus |
Example
{"status": "PENDING"}
SyncDocumentationProjectApiDefinitionInput
Description
The input for syncing API reference definitions
Example
{ "projectId": 4, "apiReferenceId": "4", "versionId": "4" }
SyncDocumentationProjectApiDefinitionPayload
Description
The response to syncing documentation project API Reference definition
Fields
Field Name | Description |
---|---|
success - Boolean! | Signifies if the mutation was successful. |
Example
{"success": true}
TableOfContentsFeature
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | Whether or not the user has chosen to show a table of contents on the post. |
items - [TableOfContentsItem!]! | The content of the table of contents. |
Example
{"isEnabled": false, "items": [TableOfContentsItem]}
TableOfContentsItem
Fields
Field Name | Description |
---|---|
id - ID! | Unique identifier. |
level - Int! | The level of nesting. Refers to the heading level in the post. |
slug - String! | The slug of the referenced headline. |
title - String! | The title of the referenced headline. |
parentId - ID | ID of the TableOfContentsItem that is one level higher in the hierarchy. null if this is a top level item. |
Example
{ "id": 4, "level": 123, "slug": "xyz789", "title": "abc123", "parentId": 4 }
Tag
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the tag. |
name - String! | The name of the tag. Shown in tag page. |
slug - String! | The slug of the tag. Used to access tags feed. Example https://hashnode.com/n/graphql |
logo - String | The logo of the tag. Shown in tag page. |
tagline - String | The tagline of the tag. |
info - Content | Information about the tag. Contains markdown html and text version of the tag's info. |
followersCount - Int! | Total number of users following this tag. |
postsCount - Int! | Alltime usage count of this tag in posts. |
posts - FeedPostConnection! | Paginated list of posts published under this tag |
Arguments |
Example
{ "id": "4", "name": "xyz789", "slug": "xyz789", "logo": "xyz789", "tagline": "abc123", "info": Content, "followersCount": 123, "postsCount": 987, "posts": FeedPostConnection }
TagEdge
TagPostConnectionFilter
Fields
Input Field | Description |
---|---|
sortBy - TagPostsSort | Sort tag feed by recents, popular, or trending. Defaults to recents. |
Example
{"sortBy": "recent"}
TagPostsSort
Description
The field by which to sort the tag feed.
Values
Enum Value | Description |
---|---|
| Determinate how to sort the results. Defaults to recents, used in New tag feed. |
| Sorts by popularity, used in Hot tag feed. |
| Trending is particular used to fetch top posts trending within a week time under a tag |
Example
"recent"
TimeFilter
Fields
Input Field | Description |
---|---|
absolute - AbsoluteTimeRange | Narrow the time range to a specific period. Can't be used with |
relative - RelativeTimeRange | Narrow the time range to a specific period. Can't be used with |
Example
{ "absolute": AbsoluteTimeRange, "relative": RelativeTimeRange }
TimeGranularity
Values
Enum Value | Description |
---|---|
| |
| |
| |
| |
|
Example
"HOURLY"
TimePeriod
Values
Enum Value | Description |
---|---|
| |
| |
| |
| |
|
Example
"LAST_N_HOURS"
TimeZone
Description
A field whose value exists in the standard IANA Time Zone Database: https://www.iana.org/time-zones
Example
"Etc/UTC"
ToggleAllowContributorEditsInput
Fields
Input Field | Description |
---|---|
publicationId - ID! |
Example
{"publicationId": "4"}
ToggleAllowContributorEditsPayload
Fields
Field Name | Description |
---|---|
publication - Publication |
Example
{"publication": Publication}
ToggleFollowUserPayload
Description
Payload for the toggleFollowingUser mutation.
Fields
Field Name | Description |
---|---|
user - User | The user that was followed/unfollowed. |
Example
{"user": User}
ToggleGPTBotCrawlingInput
Fields
Input Field | Description |
---|---|
publicationId - ID! |
Example
{"publicationId": 4}
ToggleGPTBotCrawlingPayload
Fields
Field Name | Description |
---|---|
publication - Publication |
Example
{"publication": Publication}
ToggleRoleBasedInviteLinksPayload
Description
Response to toggling role based invite links.
Fields
Field Name | Description |
---|---|
areRoleBasedInviteLinksActive - Boolean! | Signifies the status of invite links after toggling. |
Example
{"areRoleBasedInviteLinksActive": true}
TriggerWebhookTestInput
Fields
Input Field | Description |
---|---|
webhookId - ID! |
Example
{"webhookId": 4}
TriggerWebhookTestPayload
Fields
Field Name | Description |
---|---|
webhook - Webhook |
Example
{"webhook": Webhook}
URL
Example
"http://www.test.com/"
UnfollowTagsInput
Fields
Input Field | Description |
---|---|
ids - [ID!]! | List of tag ids to unfollow. |
Example
{"ids": ["4"]}
UnfollowTagsPayload
Fields
Field Name | Description |
---|---|
tags - [Tag!] | List of tags unfollowed by the user. |
Example
{"tags": [Tag]}
UngroupedDocsViews
UngroupedDocsVisitors
UngroupedViews
UngroupedVisitors
UnsubscribeFromNewsletterInput
UnsubscribeFromNewsletterPayload
Fields
Field Name | Description |
---|---|
status - NewsletterUnsubscribeStatus |
Example
{"status": "UNSUBSCRIBED"}
UpdateCommentInput
UpdateCommentPayload
Fields
Field Name | Description |
---|---|
comment - Comment |
Example
{"comment": Comment}
UpdateContentBlockInput
UpdateContentBlockPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
UpdateCustomMdxComponentInput
UpdateCustomMdxComponentPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject! |
Example
{"project": DocumentationProject}
UpdateDocumentationAppearanceInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
appearance - DocumentationProjectAppearanceInput! |
Example
{ "projectId": 4, "appearance": DocumentationProjectAppearanceInput }
UpdateDocumentationAppearancePayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
UpdateDocumentationGeneralSettingsInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
settings - DocumentationProjectSettingsInput | |
links - DocumentationProjectLinksInput | |
name - String | |
description - String |
Example
{ "projectId": "4", "settings": DocumentationProjectSettingsInput, "links": DocumentationProjectLinksInput, "name": "abc123", "description": "xyz789" }
UpdateDocumentationGeneralSettingsPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
UpdateDocumentationGuideInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
guideId - ID! | |
slug - String | |
name - String | |
metaTags - MetaTagsInput |
Example
{ "projectId": "4", "guideId": "4", "slug": "abc123", "name": "xyz789", "metaTags": MetaTagsInput }
UpdateDocumentationGuidePayload
Fields
Field Name | Description |
---|---|
guide - DocumentationGuide |
Example
{"guide": DocumentationGuide}
UpdateDocumentationIntegrationsInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
integrations - DocumentationProjectIntegrationsInput! |
Example
{ "projectId": "4", "integrations": DocumentationProjectIntegrationsInput }
UpdateDocumentationIntegrationsPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
UpdateDocumentationLinkInput
UpdateDocumentationLinkPayload
Fields
Field Name | Description |
---|---|
link - DocumentationLink | |
guide - DocumentationGuide |
Example
{ "link": DocumentationLink, "guide": DocumentationGuide }
UpdateDocumentationPageSettingsInput
Fields
Input Field | Description |
---|---|
projectId - ID! | |
guideSlug - String! | |
pageId - ID! | |
metaTags - MetaTagsInput | |
slug - String | |
label - String | |
visibility - DocumentationSidebarItemVisibility |
Example
{ "projectId": "4", "guideSlug": "xyz789", "pageId": "4", "metaTags": MetaTagsInput, "slug": "xyz789", "label": "xyz789", "visibility": "PUBLIC" }
UpdateDocumentationPageSettingsPayload
Fields
Field Name | Description |
---|---|
page - DocumentationPage | |
sidebarItem - DocumentationSidebarItemPage | |
guide - DocumentationGuide |
Example
{ "page": DocumentationPage, "sidebarItem": DocumentationSidebarItemPage, "guide": DocumentationGuide }
UpdateDocumentationProjectAIPromptInput
UpdateDocumentationProjectAIPromptPayload
Description
Response to updating the AI search prompts
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
UpdateDocumentationProjectSubdomainInput
UpdateDocumentationProjectSubdomainPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject |
Example
{"project": DocumentationProject}
UpdateDocumentationSectionInput
UpdateDocumentationSectionPayload
Fields
Field Name | Description |
---|---|
section - DocumentationSection | |
guide - DocumentationGuide |
Example
{ "section": DocumentationSection, "guide": DocumentationGuide }
UpdatePostInput
Fields
Input Field | Description |
---|---|
id - ID! | The id of the post to update. |
title - String | The new title of the post |
subtitle - String | The subtitle of the post |
contentMarkdown - String | The publication the post is published to. |
publishedAt - DateTime | Backdated publish date. |
coverImageOptions - CoverImageOptionsInput | Options for the cover image of the post. |
bannerImageOptions - BannerImageOptionsInput | Options for the banner image of the post. |
slug - String | Slug of the post. Only if you want to override the slug that will be generated based on the title. |
originalArticleURL - String | Canonical URL of the original article. |
tags - [PublishPostTagInput!] | Tags to add to the post. New tags will be created if they don't exist. It overrides the existing tags. |
metaTags - MetaTagsInput | Information about the meta tags added to the post, used for SEO purpose. |
publishAs - ObjectId | Set a different author for the post than the requesting user. Must be a member of the publication. |
coAuthors - [ObjectId!] | Update co-authors of the post. Must be a member of the publication. |
seriesId - ObjectId | Providing a seriesId will add the post to that series. Must be a series of the publication. |
settings - UpdatePostSettingsInput | Whether or not to enable the table of content. |
publicationId - ObjectId | If the publication should be changed this is the new Publication ID |
Example
{ "id": "4", "title": "abc123", "subtitle": "xyz789", "contentMarkdown": "abc123", "publishedAt": "2007-12-03T10:15:30Z", "coverImageOptions": CoverImageOptionsInput, "bannerImageOptions": BannerImageOptionsInput, "slug": "xyz789", "originalArticleURL": "abc123", "tags": [PublishPostTagInput], "metaTags": MetaTagsInput, "publishAs": ObjectId, "coAuthors": [ObjectId], "seriesId": ObjectId, "settings": UpdatePostSettingsInput, "publicationId": ObjectId }
UpdatePostPayload
Fields
Field Name | Description |
---|---|
post - Post |
Example
{"post": Post}
UpdatePostSettingsInput
Fields
Input Field | Description |
---|---|
isTableOfContentEnabled - Boolean | A flag to indicate if the post contains table of content |
delisted - Boolean | A flag to indicate if the post is delisted, used to hide the post from public feed. |
disableComments - Boolean | Whether or not comments should be disabled. |
pinToBlog - Boolean | Pin the post to the blog homepage. |
Example
{ "isTableOfContentEnabled": false, "delisted": true, "disableComments": true, "pinToBlog": true }
UpdateRedirectionRuleInput
Fields
Input Field | Description |
---|---|
id - ID! | |
publicationId - ID! | |
source - String | |
destination - URL | |
type - HttpRedirectionType |
Example
{ "id": "4", "publicationId": 4, "source": "abc123", "destination": "http://www.test.com/", "type": "TEMPORARY" }
UpdateRedirectionRulePayload
Fields
Field Name | Description |
---|---|
redirectionRule - RedirectionRule! |
Example
{"redirectionRule": RedirectionRule}
UpdateReplyInput
UpdateReplyPayload
Fields
Field Name | Description |
---|---|
reply - Reply |
Example
{"reply": Reply}
UpdateRoleBasedInviteInput
Description
Input to update a role based invite.
Fields
Input Field | Description |
---|---|
inviteId - ID! | The ID of the role based invite. |
publicationId - ID! | |
role - UserPublicationInviteRole | The role to assign to the user in the publication. |
enableUnlimitedCapacity - Boolean | Boolean to enable unlimited capacity. |
capacity - Int | The capacity of how many members to be invited by the link. |
expiryDate - DateTime | The expiry date of the invite. |
Example
{ "inviteId": "4", "publicationId": 4, "role": "EDITOR", "enableUnlimitedCapacity": true, "capacity": 123, "expiryDate": "2007-12-03T10:15:30Z" }
UpdateRoleBasedInvitePayload
Description
Response to updating a role based invite for a publication.
Fields
Field Name | Description |
---|---|
invite - RoleBasedInvite! | The updated role based invite. |
Example
{"invite": RoleBasedInvite}
UpdateSeriesInput
Fields
Input Field | Description |
---|---|
id - ID! | The id of the series to update. |
name - String | The name of the series. |
slug - String | The slug of the series. Used to access series page. Example https://johndoe.com/series/series-slug |
descriptionMarkdown - String | The description of the series. Accepts markdown. |
coverImage - String | The cover image of the series. |
sortOrder - SortOrder | The sort order of the series, determines if the latest posts should appear first or last in series. |
Example
{ "id": "4", "name": "xyz789", "slug": "xyz789", "descriptionMarkdown": "abc123", "coverImage": "abc123", "sortOrder": "asc" }
UpdateSeriesPayload
Fields
Field Name | Description |
---|---|
series - Series! | Returns the updated series. |
Example
{"series": Series}
UpdateWebhookInput
Fields
Input Field | Description |
---|---|
id - ID! | |
url - String | |
events - [WebhookEvent!] | |
secret - String |
Example
{ "id": "4", "url": "xyz789", "events": ["POST_PUBLISHED"], "secret": "abc123" }
UpdateWebhookPayload
Fields
Field Name | Description |
---|---|
webhook - Webhook |
Example
{"webhook": Webhook}
UrlPattern
Values
Enum Value | Description |
---|---|
| Post URLs contain the slug (for example my slug ) and a random id (like 1234 ) , e.g. "/my-slug-1234". |
| Post URLs only contain the slug, e.g. "/my-slug". |
Example
"DEFAULT"
User
Description
Basic information about a user on Hashnode.
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the user. It can be used to identify the user. |
username - String! | The username of the user. It is unique and tied with user's profile URL. Example - https://hashnode.com/@username |
name - String! | The name of the user. |
bio - Content | The bio of the user. Visible in about me section of the user's profile. |
bioV2 - Content | The bio of the user. Visible in about me section of the user's profile. Will be removed on 26/10/2023. Use bio instead of bioV2 |
profilePicture - String | The URL to the profile picture of the user. |
socialMediaLinks - SocialMediaLinks | The social media links of the user. Shown on the user's profile. |
badges - [Badge!]! | Returns a list of badges that the user has earned. Shown on blogs /badges page. Example - https://iamshadmirza.com/badges |
publications - UserPublicationsConnection! | Publications associated with the user. Includes personal and team publications. |
Arguments | |
posts - UserPostConnection! | Returns the list of posts the user has published. |
Arguments | |
followersCount - Int! | The number of users that follow the requested user. Visible in the user's profile. |
followingsCount - Int! | The number of users that this user is following. Visible in the user's profile. |
tagline - String | The tagline of the user. Shown on the user's profile below the name. |
dateJoined - DateTime | The date the user joined Hashnode. |
location - String | The location of the user. |
availableFor - String | The availability of the user based on tech stack and interests. Shown on the "I am available for" section in user's profile. |
tagsFollowing - [Tag!]! | Returns a list of tags that the user follows. |
ambassador - Boolean! | Whether or not the user is an ambassador. Ambassadors program no longer active. Will be removed after 02/01/2024 |
deactivated - Boolean! | Whether or not the user is deactivated. |
following - Boolean! | Whether or not the authenticated user follows this user. Returns false if the authenticated user this user. |
followsBack - Boolean! | Whether or not this user follows the authenticated user. Returns false if the authenticated user this user. |
followers - UserConnection! | The users who are following this user |
follows - UserConnection! | The users which this user is following |
techStack - UserTagsConnection! | Returns list of tags from user's expertise. Shown on the user's profile. |
Example
{ "id": 4, "username": "xyz789", "name": "xyz789", "bio": Content, "bioV2": Content, "profilePicture": "abc123", "socialMediaLinks": SocialMediaLinks, "badges": [Badge], "publications": UserPublicationsConnection, "posts": UserPostConnection, "followersCount": 987, "followingsCount": 987, "tagline": "abc123", "dateJoined": "2007-12-03T10:15:30Z", "location": "abc123", "availableFor": "xyz789", "tagsFollowing": [Tag], "ambassador": false, "deactivated": true, "following": true, "followsBack": false, "followers": UserConnection, "follows": UserConnection, "techStack": UserTagsConnection }
UserConnection
Description
Connection for users to another user. Contains a list of nodes. Each node is a user. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
nodes - [User!]! | A list of users |
pageInfo - OffsetPageInfo! | Information for page based pagination in users connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "nodes": [User], "pageInfo": OffsetPageInfo, "totalDocuments": 987 }
UserDraftConnection
Description
Drafts that belong to a user.
Fields
Field Name | Description |
---|---|
edges - [UserDraftEdge!]! | A list of edges. |
pageInfo - PageInfo! | Generic information to aid in pagination. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [UserDraftEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
UserDraftEdge
UserEdge
UserInviteInput
Fields
Input Field | Description |
---|---|
username - String | Username of the user to invite to the publication. |
email - String | The email of the user to invite to the publication. |
role - UserPublicationInviteRole! | The role to assign to the user in the publication. |
Example
{ "username": "abc123", "email": "xyz789", "role": "EDITOR" }
UserInviteStatus
Values
Enum Value | Description |
---|---|
| |
|
Example
"INVITED"
UserPostConnection
Description
Connection for posts written by a single user. Contains a list of edges containing nodes. Each node is a post. Page info contains information about pagination like hasNextPage and endCursor.
Fields
Field Name | Description |
---|---|
edges - [UserPostEdge!]! | A list of edges containing Post information |
nodes - [Post!]! | A list of posts |
pageInfo - OffsetPageInfo! | Information for page based pagination in Post connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "edges": [UserPostEdge], "nodes": [Post], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
UserPostConnectionFilter
Description
Filter for the posts of a user.
Fields
Input Field | Description |
---|---|
tags - [ID!] | Only include posts that reference the provided tag IDs. Filtering by |
tagSlugs - [String!] | Only include posts that reference the provided tag slugs. Filtering by |
publications - [ID!] | Filtering by publication IDs will return posts from the author within the publication. |
authorType - UserPostsAuthorTypeFilter | Filtering by author status. Either all posts the user has authored or co-authored are returned or the authored posts only. |
Example
{ "tags": [4], "tagSlugs": ["abc123"], "publications": [4], "authorType": "AUTHOR_ONLY" }
UserPostEdge
Description
Contains a post and the author status.
Fields
Field Name | Description |
---|---|
node - Post! | The node holding the Post information. |
authorType - PostAuthorType! | Indicates weather the user is the author or co-author of the post. |
Example
{"node": Post, "authorType": "AUTHOR"}
UserPostsAuthorTypeFilter
Description
Filter for the posts of a user.
Values
Enum Value | Description |
---|---|
| Only posts that are authored by the user. |
| Only posts that are co-authored by the user. |
Example
"AUTHOR_ONLY"
UserPostsSort
Description
Sorting for the posts of a user.
Values
Enum Value | Description |
---|---|
| Newest posts first. |
| Oldest posts first. |
Example
"DATE_PUBLISHED_DESC"
UserPublicationInviteRole
Description
The invited role of the user in the publication.
Values
Enum Value | Description |
---|---|
| The editor has access to the publication dashboard to customize the blog and approve/reject posts. They also have access to the member panel to add/modify/remove members. Editors cannot remove other editors or update their roles. |
| Contributors can join the publication and contribute an article. They cannot directly publish a new article. |
Example
"EDITOR"
UserPublicationRole
Description
The role of the user in the publication.
Values
Enum Value | Description |
---|---|
| The owner is the creator of the publication and can do all things, including delete publication. |
| The editor has access to the publication dashboard to customize the blog and approve/reject posts. They also have access to the member panel to add/modify/remove members. Editors cannot remove other editors or update their roles. |
| Contributors can join the publication and contribute an article. They cannot directly publish a new article. |
Example
"OWNER"
UserPublicationsConnection
Description
Connection to get list of publications. Returns a list of edges which contains the publications and cursor to the last item of the previous page.
Fields
Field Name | Description |
---|---|
edges - [UserPublicationsEdge!]! | A list of edges of publications connection. |
pageInfo - PageInfo! | Information to aid in pagination. |
totalDocuments - Int! | The total amount of publications taking into account the filter. |
Example
{ "edges": [UserPublicationsEdge], "pageInfo": PageInfo, "totalDocuments": 987 }
UserPublicationsConnectionFilter
Description
Filter to apply to the publications.
Fields
Input Field | Description |
---|---|
roles - [UserPublicationRole!] | Only include publication in which the user has one of the provided roles. |
Example
{"roles": ["OWNER"]}
UserPublicationsEdge
Description
An edge that contains a node of type publication and cursor to the node.
Fields
Field Name | Description |
---|---|
node - Publication! | Node containing the publication. |
cursor - String! | The cursor to the node. |
role - UserPublicationRole! | The role of the user in the publication. |
Example
{ "node": Publication, "cursor": "xyz789", "role": "OWNER" }
UserPublicationsSort
Description
Sorting for the publications of a user.
Values
Enum Value | Description |
---|---|
| Newest publication first. |
| Oldest publication first. |
| Recently updated publication first. |
| Recently updated publication last. |
Example
"DATE_CREATED_DESC"
UserRecommendedPublicationEdge
Fields
Field Name | Description |
---|---|
node - Publication! | The publication that is recommended by the publication this connection originates from. |
totalFollowersGained - Int! | The amount of followers the publication referenced in node has gained by recommendations from the publication. |
Example
{"node": Publication, "totalFollowersGained": 987}
UserRecommendingPublicationEdge
Fields
Field Name | Description |
---|---|
node - Publication! | The publication that is recommending the publication this connection originates from. |
totalFollowersGained - Int! | The amount of followers the publication has gained by recommendations from the publication referenced in node . |
Example
{"node": Publication, "totalFollowersGained": 987}
UserRole
Description
Role of the user within Hashnode
Values
Enum Value | Description |
---|---|
| |
| |
|
Example
"SUPERUSER"
UserTagsConnection
Fields
Field Name | Description |
---|---|
nodes - [Tag!]! | A list of tags |
pageInfo - OffsetPageInfo! | Information for page based pagination in users connection. |
totalDocuments - Int! | The total number of documents in the connection. |
Example
{ "nodes": [Tag], "pageInfo": OffsetPageInfo, "totalDocuments": 123 }
ValidationMethod
Values
Enum Value | Description |
---|---|
|
Example
"ID"
VerifyDocumentationProjectCustomDomainInput
Fields
Input Field | Description |
---|---|
projectId - ID! |
Example
{"projectId": "4"}
VerifyDocumentationProjectCustomDomainPayload
Fields
Field Name | Description |
---|---|
project - DocumentationProject | The documentation project where the custom domain should be verified. Note, that the verification can also fail. |
dnsVerificationEntries - [DnsVerificationEntry!]! | Additional DNS entries required to verify the domain. There are cases where additional records in the DNS config are required to successfully verify the domain. |
Example
{ "project": DocumentationProject, "dnsVerificationEntries": [DnsVerificationEntry] }
VersioningFeature
Description
Contains the flag indicating if the Versioning feature is enabled or not.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the Versioning feature is enabled or not. |
Example
{"isEnabled": true}
ViewCountFeature
Description
Contains the flag indicating if the view count feature is enabled or not. User can enable or disable the view count feature from the publication settings. Shows total views on blogs if enabled.
Fields
Field Name | Description |
---|---|
isEnabled - Boolean! | A flag indicating if the view count feature is enabled or not. |
Example
{"isEnabled": false}
Views
Example
{"id": "4", "total": 987}
Visitors
Example
{"id": 4, "total": 987}
Webhook
Fields
Field Name | Description |
---|---|
id - ID! | The ID of the post. Used to uniquely identify the post. |
publication - Publication! | |
url - String! | |
events - [WebhookEvent!]! | |
secret - String! | |
createdAt - DateTime! | |
updatedAt - DateTime | |
messages - WebhookMessageConnection! | Messages that has been sent via this webhook. Messages include the request and eventual response. |
Example
{ "id": "4", "publication": Publication, "url": "abc123", "events": ["POST_PUBLISHED"], "secret": "abc123", "createdAt": "2007-12-03T10:15:30Z", "updatedAt": "2007-12-03T10:15:30Z", "messages": WebhookMessageConnection }
WebhookEvent
Values
Enum Value | Description |
---|---|
| |
| |
| |
| |
| |
|
Example
"POST_PUBLISHED"
WebhookMessage
Fields
Field Name | Description |
---|---|
id - ID! | |
url - String! | |
event - WebhookEvent! | |
isError - Boolean! | True if either the request failed or the response status code was not 2xx. |
isTest - Boolean! | True if the message was sent as a test. |
isResent - Boolean! | True if the message was resent. |
request - WebhookMessageRequest! | |
response - WebhookMessageResponse | |
createdAt - DateTime! |
Example
{ "id": "4", "url": "abc123", "event": "POST_PUBLISHED", "isError": false, "isTest": true, "isResent": false, "request": WebhookMessageRequest, "response": WebhookMessageResponse, "createdAt": "2007-12-03T10:15:30Z" }
WebhookMessageConnection
Fields
Field Name | Description |
---|---|
edges - [WebhookMessageEdge!]! | |
pageInfo - PageInfo! |
Example
{ "edges": [WebhookMessageEdge], "pageInfo": PageInfo }
WebhookMessageEdge
Fields
Field Name | Description |
---|---|
node - WebhookMessage! | |
cursor - String! |
Example
{ "node": WebhookMessage, "cursor": "abc123" }
WebhookMessageRequest
Fields
Field Name | Description |
---|---|
uuid - String! | Unique identifier of the request. Can be used to deduplicate requests. |
headers - String! | |
body - String! | |
error - WebhookMessageRequestError |
Example
{ "uuid": "abc123", "headers": "xyz789", "body": "abc123", "error": WebhookMessageRequestError }
WebhookMessageRequestError
WebhookMessageResponse
Example
{ "httpStatus": 123, "headers": "xyz789", "body": "xyz789", "timeToFirstByteMilliseconds": 123 }
Widget
Fields
Field Name | Description |
---|---|
id - ID! | The unique identifier of the widget |
widgetId - String! | WidgetId, can be embedded as %%[widgetId] in the article |
createdAt - DateTime! | The date and time the widget was created. |
content - String! | Content of the widget, can be a simple string or HTML |
pinSettings - WidgetPinSettings |
Example
{ "id": 4, "widgetId": "abc123", "createdAt": "2007-12-03T10:15:30Z", "content": "xyz789", "pinSettings": WidgetPinSettings }
WidgetPinLocation
Values
Enum Value | Description |
---|---|
| |
|
Example
"TOP"
WidgetPinSettings
Fields
Field Name | Description |
---|---|
isPinned - Boolean! | Signifies if pinning of widget on all the articles of publication is enabled or not |
location - WidgetPinLocation! | Describes the location of the widget on the article, can be TOP or BOTTOM |
Example
{"isPinned": false, "location": "TOP"}