Content
Help articles, News posts and their taxonomy
See Content. These page with limit/offset, unlike the rest of the API.
archiveNewsPost
ScopeCONTENT_MANAGE
Flip to ARCHIVED - hides from the visitor feed but preserves the row. Distinct from delete (hard-delete) and unpublish (back to drafts). Re-publish to undo.
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
archiveNewsPost(id: "…") { _id organisationId integrationIds title slug }
}createHelpArticle
ScopeCONTENT_MANAGE
Create a draft help article. Articles always land as DRAFT - use publishHelpArticle to make them visible to visitors.
Arguments
CreateHelpArticleInput
integrationIds[ID!]folderIdIDtitleString!RequiredslugString!RequiredexcerptStringcontentString!RequiredcontentFormatHelpArticleContentFormatlocaleString!RequiredauthorIds[ID!]tagIds[ID!]canonicalUrlStringcoverImageUrlIDorderIntknowledgeAudienceKnowledgeAudienceInputReturns
_idID!organisationIdID!integrationIds[ID!]!folderHelpFolderancestors[ID!]!titleString!slugString!excerptStringcontentString!contentFormatHelpArticleContentFormat!localeString!translationGroupIdIDauthors[User!]!tags[HelpTag!]!statusHelpArticleStatus!knowledgeAudienceKnowledgeAudiencepublishedAtDateTimepublishedByIDcoverImageUrlMediaorderInt!viewCountInt!reactionCountsJSON!reactionSet(HELP) for emoji + sentiment.viewerReactionIntcanonicalUrlStringmutation {
createHelpArticle(input: { … }) { _id organisationId integrationIds folder ancestors }
}createHelpArticleTranslation
ScopeCONTENT_MANAGE
Create a locale variant linked to an existing article (one logical article, grouped by translationGroupId). Mints the group on the source the first time; rejects a duplicate locale. Lands as DRAFT.
Arguments
sourceArticleIdID!RequiredCreateHelpArticleInput
integrationIds[ID!]folderIdIDtitleString!RequiredslugString!RequiredexcerptStringcontentString!RequiredcontentFormatHelpArticleContentFormatlocaleString!RequiredauthorIds[ID!]tagIds[ID!]canonicalUrlStringcoverImageUrlIDorderIntknowledgeAudienceKnowledgeAudienceInputReturns
_idID!organisationIdID!integrationIds[ID!]!folderHelpFolderancestors[ID!]!titleString!slugString!excerptStringcontentString!contentFormatHelpArticleContentFormat!localeString!translationGroupIdIDauthors[User!]!tags[HelpTag!]!statusHelpArticleStatus!knowledgeAudienceKnowledgeAudiencepublishedAtDateTimepublishedByIDcoverImageUrlMediaorderInt!viewCountInt!reactionCountsJSON!reactionSet(HELP) for emoji + sentiment.viewerReactionIntcanonicalUrlStringmutation {
createHelpArticleTranslation(sourceArticleId: "…", input: { … }) { _id organisationId integrationIds folder ancestors }
}createHelpFolder
ScopeCONTENT_MANAGE
Create a help folder. Pass `parentId` to nest it under another folder, or omit / send null for a root-level folder. Slug must be unique per parent.
Arguments
CreateHelpFolderInput
integrationIds[ID!]nameString!RequiredslugString!RequireddescriptionStringparentIdIDorderIntReturns
_idID!organisationIdID!integrationIds[ID!]!nameString!slugString!descriptionStringnameI18nJSONdescriptionI18nJSONparentIdIDancestors[ID!]!orderInt!createdAtDateTime!updatedAtDateTime!articleCountInt!countDocuments against the ancestors index.mutation {
createHelpFolder(input: { … }) { _id organisationId integrationIds name slug }
}createHelpTag
ScopeCONTENT_MANAGE
Create a help tag.
Arguments
CreateHelpTagInput
slugString!RequiredlabelString!RequireddescriptionStringReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!mutation {
createHelpTag(input: { … }) { _id organisationId slug label labelI18n }
}createNewsCategory
ScopeCONTENT_MANAGE
Create a news category. Slug must be unique per integration; auto-derive from label on the FE then operator can edit.
Arguments
CreateNewsCategoryInput
slugString!RequiredlabelString!RequireddescriptionStringReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!mutation {
createNewsCategory(input: { … }) { _id organisationId slug label labelI18n }
}createNewsPost
ScopeCONTENT_MANAGE
Create a draft news post. Always lands as DRAFT - use publishNewsPost to make it visitor-visible.
Arguments
CreateNewsPostInput
integrationIds[ID!]titleString!RequiredslugString!RequiredexcerptStringcontentMarkdownString!RequiredlocaleString!RequiredcoverImageUrlIDaudienceModeNewsAudienceModeauthorIds[ID!]categoryIds[ID!]tagIds[ID!]knowledgeAudienceKnowledgeAudienceInputReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
createNewsPost(input: { … }) { _id organisationId integrationIds title slug }
}createNewsPostTranslation
ScopeCONTENT_MANAGE
Create a locale variant linked to an existing post (one logical article, grouped by translationGroupId). Mints the group on the source the first time; rejects a duplicate locale in the group. Lands as DRAFT.
Arguments
sourcePostIdID!RequiredCreateNewsPostInput
integrationIds[ID!]titleString!RequiredslugString!RequiredexcerptStringcontentMarkdownString!RequiredlocaleString!RequiredcoverImageUrlIDaudienceModeNewsAudienceModeauthorIds[ID!]categoryIds[ID!]tagIds[ID!]knowledgeAudienceKnowledgeAudienceInputReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
createNewsPostTranslation(sourcePostId: "…", input: { … }) { _id organisationId integrationIds title slug }
}createNewsTag
ScopeCONTENT_MANAGE
Create a news tag.
Arguments
CreateNewsTagInput
slugString!RequiredlabelString!RequireddescriptionStringReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!mutation {
createNewsTag(input: { … }) { _id organisationId slug label labelI18n }
}deleteHelpArticle
ScopeCONTENT_MANAGE
Hard-delete an article. No soft-delete in v1.
Arguments
idID!RequiredReturns
Boolean!mutation {
deleteHelpArticle(id: "…")
}deleteHelpFolder
ScopeCONTENT_MANAGE
Delete a folder. Refuses when the folder has any direct child (folder OR article) - operator re-parents / deletes the children first. No cascade.
Arguments
idID!RequiredReturns
Boolean!mutation {
deleteHelpFolder(id: "…")
}deleteHelpTag
ScopeCONTENT_MANAGE
Delete a help tag. Linked articles survive - the tag ref is detached via $pull, no cascade-delete of articles.
Arguments
idID!RequiredReturns
Boolean!mutation {
deleteHelpTag(id: "…")
}deleteNewsCategory
ScopeCONTENT_MANAGE
Delete a news category. Posts referencing it survive - the ref is detached via $pull, no cascade-delete of posts.
Arguments
idID!RequiredReturns
Boolean!mutation {
deleteNewsCategory(id: "…")
}deleteNewsPost
ScopeCONTENT_MANAGE
Hard-delete a news post.
Arguments
idID!RequiredReturns
Boolean!mutation {
deleteNewsPost(id: "…")
}deleteNewsTag
ScopeCONTENT_MANAGE
Delete a news tag. Posts referencing it survive (refs detached).
Arguments
idID!RequiredReturns
Boolean!mutation {
deleteNewsTag(id: "…")
}helpArticle
ScopeCONTENT_READ
Fetch a single article by id (operator view).
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!folderHelpFolderancestors[ID!]!titleString!slugString!excerptStringcontentString!contentFormatHelpArticleContentFormat!localeString!translationGroupIdIDauthors[User!]!tags[HelpTag!]!statusHelpArticleStatus!knowledgeAudienceKnowledgeAudiencepublishedAtDateTimepublishedByIDcoverImageUrlMediaorderInt!viewCountInt!reactionCountsJSON!reactionSet(HELP) for emoji + sentiment.viewerReactionIntcanonicalUrlStringquery {
helpArticle(id: "…") { _id organisationId integrationIds folder ancestors }
}helpArticles
ScopeCONTENT_READ
List articles for an integration (operator view). Returns `\{ items, meta \}`. Defaults to all statuses + folders, newest-created first, unbounded. Pass search / status / folderId / recursive / tagIds / sort / limit / offset to scope. `folderId: null` = root-level articles; `folderId` + `recursive: true` walks the entire subtree.
Arguments
integrationIdIDstatusHelpArticleStatuslocaleStringsearchStringfolderIdIDrecursiveBooleantagIds[ID!]sortHelpArticleSortCREATED_DESC.limitIntoffsetIntReturns
items[HelpArticle!]!metaPaginationMeta!query {
helpArticles(integrationId: "…", status: DRAFT, locale: "…", search: "…", folderId: "…", recursive: false, tagIds: "…", sort: CREATED_DESC, limit: 0, offset: 0) { items meta }
}helpFolder
ScopeCONTENT_READ
Fetch a folder by id.
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!nameString!slugString!descriptionStringnameI18nJSONdescriptionI18nJSONparentIdIDancestors[ID!]!orderInt!createdAtDateTime!updatedAtDateTime!articleCountInt!countDocuments against the ancestors index.query {
helpFolder(id: "…") { _id organisationId integrationIds name slug }
}helpFolderCounts
ScopeCONTENT_READ
Recursive subtree counts - `\{ folders, articles \}` below this folder. Powers the badge on each folder card in the operator UI.
Arguments
idID!RequiredReturns
query {
helpFolderCounts(id: "…") { folders articles }
}helpFolderCountsBatch
ScopeCONTENT_READ
Batched subtree counts for many folders in one round-trip. Returns one row per requested id (unknown / cross-org ids return zeros). Use this instead of N×`helpFolderCounts` when rendering a tree.
Arguments
ids[ID!]!RequiredReturns
query {
helpFolderCountsBatch(ids: "…") { folderId folders articles }
}helpFolderTree
ScopeCONTENT_READ
Every folder for an integration in one call. Sorted by ancestors then order - operator dashboard hydrates the whole tree without per-click round-trips.
Arguments
integrationIdID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!nameString!slugString!descriptionStringnameI18nJSONdescriptionI18nJSONparentIdIDancestors[ID!]!orderInt!createdAtDateTime!updatedAtDateTime!articleCountInt!countDocuments against the ancestors index.query {
helpFolderTree(integrationId: "…") { _id organisationId integrationIds name slug }
}helpFolders
ScopeCONTENT_READ
List child folders of `parentId` (or root-level when null/omitted). Use this for the operator dashboard's lazy-load tree view.
Arguments
integrationIdID!RequiredparentIdIDReturns
_idID!organisationIdID!integrationIds[ID!]!nameString!slugString!descriptionStringnameI18nJSONdescriptionI18nJSONparentIdIDancestors[ID!]!orderInt!createdAtDateTime!updatedAtDateTime!articleCountInt!countDocuments against the ancestors index.query {
helpFolders(integrationId: "…", parentId: "…") { _id organisationId integrationIds name slug }
}helpTag
ScopeCONTENT_READ
Fetch a help tag by id.
Arguments
idID!RequiredReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!query {
helpTag(id: "…") { _id organisationId slug label labelI18n }
}helpTags
ScopeCONTENT_READ
List help tags for the organisation.
Returns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!query {
helpTags { _id organisationId slug label labelI18n }
}moveHelpFolder
ScopeCONTENT_MANAGE
Move a folder to a new parent (or to root via `newParentId: null`). Refuses to move a folder into its own subtree (cycle). Recomputes ancestors for the folder + every descendant folder + every article in the moved subtree.
Arguments
idID!RequirednewParentIdIDReturns
_idID!organisationIdID!integrationIds[ID!]!nameString!slugString!descriptionStringnameI18nJSONdescriptionI18nJSONparentIdIDancestors[ID!]!orderInt!createdAtDateTime!updatedAtDateTime!articleCountInt!countDocuments against the ancestors index.mutation {
moveHelpFolder(id: "…", newParentId: "…") { _id organisationId integrationIds name slug }
}newsCategories
ScopeCONTENT_READ
List news categories for the organisation.
Returns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!query {
newsCategories { _id organisationId slug label labelI18n }
}newsCategory
ScopeCONTENT_READ
Fetch a news category by id.
Arguments
idID!RequiredReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!query {
newsCategory(id: "…") { _id organisationId slug label labelI18n }
}newsPost
ScopeCONTENT_READ
Fetch a single news post by id (operator view).
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringquery {
newsPost(id: "…") { _id organisationId integrationIds title slug }
}newsPosts
ScopeCONTENT_READ
List news posts for an integration (operator view). Returns `\{ items, meta \}`. Defaults to all statuses, updatedAt-desc, unbounded. Pass status / search / categoryIds / tagIds / sort / limit / offset to scope.
Arguments
integrationIdIDstatusNewsPostStatuslocaleStringsearchStringcategoryIds[ID!]tagIds[ID!]sortNewsPostSortCREATED_DESC.limitIntoffsetIntReturns
items[NewsPost!]!metaPaginationMeta!query {
newsPosts(integrationId: "…", status: DRAFT, locale: "…", search: "…", categoryIds: "…", tagIds: "…", sort: CREATED_DESC, limit: 0, offset: 0) { items meta }
}newsTag
ScopeCONTENT_READ
Fetch a news tag by id.
Arguments
idID!RequiredReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!query {
newsTag(id: "…") { _id organisationId slug label labelI18n }
}newsTags
ScopeCONTENT_READ
List news tags for the organisation.
Returns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!query {
newsTags { _id organisationId slug label labelI18n }
}publishHelpArticle
ScopeCONTENT_MANAGE
Flip an article to PUBLISHED. Stamps publishedAt (drives visitor sort) + publishedBy. Re-publishing refreshes publishedAt - useful for surfacing tweaks at the top of the list.
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!folderHelpFolderancestors[ID!]!titleString!slugString!excerptStringcontentString!contentFormatHelpArticleContentFormat!localeString!translationGroupIdIDauthors[User!]!tags[HelpTag!]!statusHelpArticleStatus!knowledgeAudienceKnowledgeAudiencepublishedAtDateTimepublishedByIDcoverImageUrlMediaorderInt!viewCountInt!reactionCountsJSON!reactionSet(HELP) for emoji + sentiment.viewerReactionIntcanonicalUrlStringmutation {
publishHelpArticle(id: "…") { _id organisationId integrationIds folder ancestors }
}publishNewsPost
ScopeCONTENT_MANAGE
Flip to PUBLISHED. Stamps publishedAt (drives visitor sort) + publishedBy. Re-publishing refreshes publishedAt - useful for surfacing tweaks at the top of the feed. Re-publishing an archived post clears archivedAt.
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
publishNewsPost(id: "…") { _id organisationId integrationIds title slug }
}scheduleNewsPost
ScopeCONTENT_MANAGE
Stage a post for future publish at `scheduledFor`. Status flips to SCHEDULED; the scheduler tick promotes the row to PUBLISHED when scheduledFor \<= now. Refuses past-dated timestamps - use publishNewsPost for "publish now". Re-scheduling overwrites the timestamp.
Arguments
idID!RequiredscheduledForDateTime!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
scheduleNewsPost(id: "…", scheduledFor: { … }) { _id organisationId integrationIds title slug }
}unpublishHelpArticle
ScopeCONTENT_MANAGE
Flip an article back to DRAFT. Visitors stop seeing it; operator-side "last published" timestamp is preserved.
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!folderHelpFolderancestors[ID!]!titleString!slugString!excerptStringcontentString!contentFormatHelpArticleContentFormat!localeString!translationGroupIdIDauthors[User!]!tags[HelpTag!]!statusHelpArticleStatus!knowledgeAudienceKnowledgeAudiencepublishedAtDateTimepublishedByIDcoverImageUrlMediaorderInt!viewCountInt!reactionCountsJSON!reactionSet(HELP) for emoji + sentiment.viewerReactionIntcanonicalUrlStringmutation {
unpublishHelpArticle(id: "…") { _id organisationId integrationIds folder ancestors }
}unpublishNewsPost
ScopeCONTENT_MANAGE
Flip back to DRAFT (for further edits). Preserves publishedAt so the operator UI can show "last published" history. Distinct from archiveNewsPost (which is a "final, retired" state).
Arguments
idID!RequiredReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
unpublishNewsPost(id: "…") { _id organisationId integrationIds title slug }
}updateHelpArticle
ScopeCONTENT_MANAGE
Patch operator-mutable fields on a draft / published article. Pass `folderId` to move the article between folders; the service recomputes ancestors so descendant queries stay accurate.
Arguments
idID!RequiredUpdateHelpArticleInput
integrationIds[ID!]folderIdIDtitleStringslugStringexcerptStringcontentStringcontentFormatHelpArticleContentFormatlocaleStringauthorIds[ID!]tagIds[ID!]canonicalUrlStringcoverImageUrlIDorderIntknowledgeAudienceKnowledgeAudienceInputReturns
_idID!organisationIdID!integrationIds[ID!]!folderHelpFolderancestors[ID!]!titleString!slugString!excerptStringcontentString!contentFormatHelpArticleContentFormat!localeString!translationGroupIdIDauthors[User!]!tags[HelpTag!]!statusHelpArticleStatus!knowledgeAudienceKnowledgeAudiencepublishedAtDateTimepublishedByIDcoverImageUrlMediaorderInt!viewCountInt!reactionCountsJSON!reactionSet(HELP) for emoji + sentiment.viewerReactionIntcanonicalUrlStringmutation {
updateHelpArticle(id: "…", input: { … }) { _id organisationId integrationIds folder ancestors }
}updateHelpFolder
ScopeCONTENT_MANAGE
Patch operator-mutable fields. `parentId` is NOT here - use moveHelpFolder so the service can recompute ancestors atomically.
Arguments
idID!RequiredUpdateHelpFolderInput
integrationIds[ID!]nameStringslugStringdescriptionStringorderIntnameI18nJSONdescriptionI18nJSONReturns
_idID!organisationIdID!integrationIds[ID!]!nameString!slugString!descriptionStringnameI18nJSONdescriptionI18nJSONparentIdIDancestors[ID!]!orderInt!createdAtDateTime!updatedAtDateTime!articleCountInt!countDocuments against the ancestors index.mutation {
updateHelpFolder(id: "…", input: { … }) { _id organisationId integrationIds name slug }
}updateHelpTag
ScopeCONTENT_MANAGE
Patch a help tag.
Arguments
idID!RequiredUpdateHelpTagInput
slugStringlabelStringlabelI18nJSONdescriptionStringReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!mutation {
updateHelpTag(id: "…", input: { … }) { _id organisationId slug label labelI18n }
}updateNewsCategory
ScopeCONTENT_MANAGE
Patch a news category. Slug-collision returns 400.
Arguments
idID!RequiredUpdateNewsCategoryInput
slugStringlabelStringlabelI18nJSONdescriptionStringReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!mutation {
updateNewsCategory(id: "…", input: { … }) { _id organisationId slug label labelI18n }
}updateNewsPost
ScopeCONTENT_MANAGE
Patch operator-mutable fields on a news post. Status flips go via dedicated mutations.
Arguments
idID!RequiredUpdateNewsPostInput
integrationIds[ID!]titleStringslugStringexcerptStringcontentMarkdownStringbodyFormatStringlocaleStringcoverImageUrlIDaudienceModeNewsAudienceModeauthorIds[ID!]categoryIds[ID!]tagIds[ID!]knowledgeAudienceKnowledgeAudienceInputReturns
_idID!organisationIdID!integrationIds[ID!]!titleString!slugStringexcerptStringcontentMarkdownString!bodyFormatString!localeString!translationGroupIdIDstatusNewsPostStatus!publishedAtDateTimepublishedByIDcoverImageUrlMediaexternalCoverImageUrlStringarchivedAtDateTimescheduledForDateTimeviewCountInt!reactionCountsJSON!reactionSet(NEWS) for emoji + sentiment.viewerReactionIntaudienceModeNewsAudienceMode!knowledgeAudienceKnowledgeAudiencesourceNewsSourceexternalIdStringmutation {
updateNewsPost(id: "…", input: { … }) { _id organisationId integrationIds title slug }
}updateNewsTag
ScopeCONTENT_MANAGE
Patch a news tag.
Arguments
idID!RequiredUpdateNewsTagInput
slugStringlabelStringlabelI18nJSONdescriptionStringReturns
_idID!organisationIdID!slugString!labelString!labelI18nJSONdescriptionStringcreatedAtDateTime!updatedAtDateTime!mutation {
updateNewsTag(id: "…", input: { … }) { _id organisationId slug label labelI18n }
}