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
idof 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"}