Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.plain.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Using TypeScript? Check out our GraphQL SDK for a fully typed client.
Articles are the individual help pages in a help center. Each article belongs to one help center and optionally to one article group. contentHtml is the article body as HTML — Plain renders this directly in the help center. status is either DRAFT (only visible in the Plain app) or PUBLISHED (visible on the help center).

Create or update an article

upsertHelpCenterArticle creates a new article when no helpCenterArticleId is provided, or updates an existing article in place when one is. slug is normalized to lowercase.
Mutation
mutation upsertHelpCenterArticle($input: UpsertHelpCenterArticleInput!) {
  upsertHelpCenterArticle(input: $input) {
    helpCenterArticle {
      id
      title
      slug
      status
      articleGroup {
        id
        name
      }
    }
    error {
      message
      type
      code
      fields {
        field
        message
        type
      }
    }
  }
}
Variables
{
  "input": {
    "helpCenterId": "hc_01HXXXXXXXXXXXXXXXXXXXXXXX",
    "title": "Getting started with Plain",
    "description": "A short introduction to what Plain is and how to set it up for your team.",
    "icon": "rocket",
    "contentHtml": "<h2>Welcome</h2><p>This article will walk you through the basics.</p>",
    "slug": "getting-started",
    "status": "PUBLISHED"
  }
}

Delete an article

Mutation
mutation deleteHelpCenterArticle($input: DeleteHelpCenterArticleInput!) {
  deleteHelpCenterArticle(input: $input) {
    error {
      message
      type
      code
      fields {
        field
        message
        type
      }
    }
  }
}
Variables
{
  "input": {
    "helpCenterArticleId": "hca_01HXXXXXXXXXXXXXXXXXXXXXXX"
  }
}