> ## Documentation Index
> Fetch the complete documentation index at: https://snowseo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish & Schedule

> Publish, unpublish, and schedule existing articles to your connected CMS.

Push existing SnowSEO articles to your connected CMS providers (WordPress, Webflow, Ghost, Shopify, Framer), or schedule them to go out later.

<Note>
  You need a CMS connected for the target brand. Connect one from **Settings → Integrations → CMS & Publishing**.
</Note>

***

## Unpublish

`POST /cms/unpublish`

Remove published articles from their connected CMS providers.

***

## Schedule

`POST /cms/schedule`

Schedule an existing article to publish to a connected CMS at a future time.

***

## Unschedule

`DELETE /cms/schedule/unschedule`

Cancel pending scheduled publishing for one or more articles.


## OpenAPI

````yaml POST /v3/cms/publish
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security: []
tags:
  - name: Keywords
    description: Keyword research and suggestion end-points
  - name: Onboarding
    description: Brand onboarding and strategy end-points
  - name: Brands
    description: Brand management end-points
  - name: Organizations
    description: Organization and member end-points
  - name: Integrations
    description: Google Search Console and other integrations
  - name: Utilities
    description: Common utility end-points like screenshots and uploads
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/cms/publish:
    post:
      tags:
        - CMS
      summary: Publish one or many articles to a CMS provider
      description: >-
        Publish existing SnowSEO articles to connected CMS providers. This does
        not create or generate new article content.
      operationId: publishArticles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              oneOf:
                - required:
                    - articleSlug
                    - provider
                - required:
                    - items
              properties:
                teamId:
                  type: string
                articleSlug:
                  type: string
                provider:
                  type: string
                  enum:
                    - wordpress
                    - shopify
                    - webflow
                    - ghost
                    - webhook
                    - framer
                    - grigora
                status:
                  type: string
                  enum:
                    - draft
                    - publish
                items:
                  type: array
                  minItems: 1
                  items:
                    type: object
                    required:
                      - articleSlug
                      - provider
                    properties:
                      articleSlug:
                        type: string
                      provider:
                        type: string
                        enum:
                          - wordpress
                          - shopify
                          - webflow
                          - ghost
                          - webhook
                          - framer
                          - grigora
                      status:
                        type: string
                        enum:
                          - draft
                          - publish
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  succeeded:
                    type: number
                  failed:
                    type: number
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        articleSlug:
                          type: string
                        provider:
                          type: string
                        success:
                          type: boolean
                        status:
                          type: string
                        postId:
                          type: string
                        postUrl:
                          type: string
                        error:
                          type: string
                      additionalProperties: true
                  articleSlug:
                    type: string
                    description: Article slug, echoed from the request.
                  postId:
                    type: string
                    description: CMS item ID (all providers)
                  postUrl:
                    type: string
                    description: Published or draft URL (all providers)
                  status:
                    type: string
                    description: draft | publish or CMS status
                additionalProperties: true
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  error:
                    type: string
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string

````