> ## 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.

# Update Article Automation

> Update a brand's article automation settings.

Update any subset of the fields listed on [Article Automation](https://snowseo.com/docs/api-reference/endpoints/article-automation.md). Only the keys you send are changed.

> [!NOTE]
>
> Writing requires **managed** (admin/owner) access to the brand.

> [!WARNING]
>
> `preferredCMSProvider` must be one of the brand's **connected** integrations (or `embed`, which is always available), or the request returns `400`. `preferredPostingTime` must be a valid window name or `HH:MM`, otherwise `400`. `timeZone` is written to the brand's timezone, not just to the automation settings. `preferredTopicIds`, `preferredArticleTypes`, and the image-style arrays are filtered to known/owned values, so unsupported entries are silently dropped. An unrecognized `postingFrequency` is silently coerced to `every-7-days` rather than rejected; changing the cadence re-spaces pending content-planner rows. An unrecognized `writingLanguage` code is ignored; send an explicit `null` to clear it back to the brand's default language. `authors` replaces the whole list: names are trimmed and de-duplicated, at most 20 are kept, and an `avatar` or `url` that is not an `http(s)` link is dropped.

> [!NOTE]
>
> Changing `writingLanguage` only affects articles created **after** the change. Each article records the language it was written in, so existing articles keep theirs when they are refreshed, audited, or edited.


## OpenAPI

````yaml PATCH /v3/settings/article-automation
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:
  - bearerAuth: []
  - apiKey: []
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/settings/article-automation:
    patch:
      tags:
        - Settings
      summary: Update article automation settings
      description: >-
        Update the team's article automation settings. All fields optional; only
        provided fields change. Toggle automation on/off, set postingFrequency
        (e.g. daily/weekly), preferredPostingTime (a named window -
        past-midnight/morning/afternoon/evening/night - or an exact 24h
        "HH:MM"), timeZone (IANA zone, e.g. "Asia/Kolkata", that posting times
        resolve against), preferredTopicIds, preferredArticleTypes, content
        length (short/medium/long), CMS target, image styles, and auto-update
        rules.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                teamId:
                  type: string
                automation:
                  type: boolean
                postingFrequency:
                  type: string
                preferredPostingTime:
                  type: string
                timeZone:
                  type: string
                targetPostStatus:
                  type: string
                  enum:
                    - draft
                    - published
                preferredTopicIds:
                  type: array
                  items:
                    type: string
                preferredArticleTypes:
                  type: array
                  items:
                    type: string
                preferredContentLength:
                  type: string
                  enum:
                    - short
                    - medium
                    - long
                preferredCMSProvider:
                  type: string
                  nullable: true
                writingLanguage:
                  type: string
                  nullable: true
                  description: >-
                    Language code articles are written in (e.g. 'es'). Usually
                    two letters; Chinese is 'zh_CN'/'zh_TW' and Hebrew is 'iw'.
                    Null clears it back to inheriting the brand language.
                    Applies to articles only - keyword research, SERP data and
                    AI-visibility tracking stay on the brand language.
                useHumanizer:
                  type: boolean
                optionalSections:
                  type: object
                  description: Optional sections generated into each article.
                  properties:
                    faq:
                      type: boolean
                    conclusion:
                      type: boolean
                    cta:
                      type: boolean
                    tldr:
                      type: boolean
                    videos:
                      type: boolean
                contentTone:
                  type: array
                  description: >-
                    Writing-tone pool; one tone is picked per article. Empty
                    means any tone. Values: Professional (Formal,
                    business-focused), Conversational (Friendly, approachable),
                    Expert (Authoritative, technical), Casual (Friendly,
                    conversational), Academic (Research-based, scholarly),
                    Creative (Storytelling, engaging).
                  items:
                    type: string
                defaultImageProvider:
                  type: string
                  nullable: true
                  description: >-
                    Where article images come from: 'ai' (generated), 'stock'
                    (stock photos), or null for no images.
                featuredImageStyles:
                  type: array
                  description: >-
                    Style pool for AI featured images; one is picked per
                    article. Used when defaultImageProvider is 'ai'. Values:
                    airy, photographic, cartoonish, pencil-sketch, 3d-clay,
                    custom.
                  items:
                    type: string
                inArticleImageStyles:
                  type: array
                  description: >-
                    Style pool for AI images inside the article body. Used when
                    defaultImageProvider is 'ai'. Values: photographic,
                    cartoonish, pencil-sketch, infographic.
                  items:
                    type: string
                customFeaturedImageReferenceUrl:
                  type: string
                  nullable: true
                  description: >-
                    Reference image for the 'custom' featured image style. Null
                    clears it.
                featuredImageText:
                  type: boolean
                  description: Include text in AI featured images.
                featuredImageIncludeBrandColors:
                  type: boolean
                  description: Use the brand colours in AI featured images.
                featuredImageIncludeBrandLogo:
                  type: boolean
                  description: Put the brand logo into AI featured images.
                internalLinkVolume:
                  type: number
                keepTableOfContents:
                  type: boolean
                  description: >-
                    Keep the generated table of contents when publishing.
                    Default false - most CMS themes render their own, so ours
                    goes out as a duplicate.
                autoUpdateExistingArticles:
                  type: boolean
                articleUpdateFrequency:
                  type: string
                articleUpdateMinAgeDays:
                  type: number
                authors:
                  type: array
                  description: >-
                    The brand's reusable authors. Those with isDefault go on
                    every new article; the first is the primary byline.
                  items:
                    type: object
                    required:
                      - name
                    properties:
                      name:
                        type: string
                      avatar:
                        type: string
                        nullable: true
                      url:
                        type: string
                        nullable: true
                        description: Author profile page, used as JSON-LD author.url
                      isDefault:
                        type: boolean
                      cmsUsers:
                        type: object
                        properties:
                          wordpress:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                          ghost:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your SnowSEO API key (sk_...).
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.