Get article automation settings
curl --request GET \
--url https://api.snowseo.com/v3/settings/article-automation \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.snowseo.com/v3/settings/article-automation"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.snowseo.com/v3/settings/article-automation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.snowseo.com/v3/settings/article-automation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/settings/article-automation"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.snowseo.com/v3/settings/article-automation")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/settings/article-automation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"automation": true,
"lastAutomationAt": "2023-11-07T05:31:56Z",
"postingFrequency": "<string>",
"preferredPostingTime": "<string>",
"timeZone": "<string>",
"preferredTopicIds": [
"<string>"
],
"preferredArticleTypes": [
"<string>"
],
"preferredContentLength": "<string>",
"preferredCMSProvider": "<string>",
"connectedCmsProviders": [
"<string>"
],
"writingLanguage": "<string>",
"autoUpdateExistingArticles": true,
"authors": [
{
"name": "<string>",
"avatar": "<string>",
"url": "<string>",
"isDefault": true,
"cmsUsers": {
"wordpress": {
"id": "<string>",
"name": "<string>"
},
"ghost": {
"id": "<string>",
"name": "<string>"
}
}
}
]
}Settings
Article Automation
Read and configure a brand’s automated article generation and publishing settings.
GET
/
v3
/
settings
/
article-automation
Get article automation settings
curl --request GET \
--url https://api.snowseo.com/v3/settings/article-automation \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.snowseo.com/v3/settings/article-automation"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.snowseo.com/v3/settings/article-automation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.snowseo.com/v3/settings/article-automation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/settings/article-automation"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.snowseo.com/v3/settings/article-automation")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/settings/article-automation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"automation": true,
"lastAutomationAt": "2023-11-07T05:31:56Z",
"postingFrequency": "<string>",
"preferredPostingTime": "<string>",
"timeZone": "<string>",
"preferredTopicIds": [
"<string>"
],
"preferredArticleTypes": [
"<string>"
],
"preferredContentLength": "<string>",
"preferredCMSProvider": "<string>",
"connectedCmsProviders": [
"<string>"
],
"writingLanguage": "<string>",
"autoUpdateExistingArticles": true,
"authors": [
{
"name": "<string>",
"avatar": "<string>",
"url": "<string>",
"isDefault": true,
"cmsUsers": {
"wordpress": {
"id": "<string>",
"name": "<string>"
},
"ghost": {
"id": "<string>",
"name": "<string>"
}
}
}
]
}Read a brand’s article-automation configuration - posting cadence, preferred topics and article types, content length, image settings, CMS target, and auto-update rules.
Reading requires any team member. The
GET route auto-creates default settings on first read and prunes any stored image styles or article types that are no longer part of the supported set.Key fields
| Field | Description |
|---|---|
automation | Master on/off switch for automated generation. |
lastAutomationAt | When automation last generated an article, or null. Read-only. |
postingFrequency | Cadence for publishing new articles: everyday, twice-everyday, every-other-day, every-3-days, every-7-days (default), every-14-days, monthly, or a custom custom:<count>:per_<period> value. |
preferredPostingTime | Posting window (past-midnight, morning, afternoon, evening, night) or an exact 24-hour HH:MM. |
timeZone | IANA timezone the posting times resolve against (e.g. Asia/Kolkata). This is the brand’s timezone. null if none is set, in which case schedules use UTC. |
targetPostStatus | draft or published - status articles are created with. |
preferredTopicIds | Topic-cluster ids the planner may use. Empty = “Any”. |
preferredArticleTypes | Article-type ids the planner may use. Empty = “Any”. |
useHumanizer | Run generated text through the humanizer. |
optionalSections | Toggle faq, conclusion, cta, tldr, videos sections. |
preferredContentLength | short, medium, or long. |
preferredCMSProvider | Default CMS to publish to, or null. |
connectedCmsProviders | Read-only: the brand’s connected CMS providers. The embed provider needs no credentials, so it is always listed. |
keepTableOfContents | Keep the generated table of contents when publishing. Defaults to false. |
authors | The brand’s reusable authors: { name, avatar?, url?, isDefault }. Every new article starts with the ones marked isDefault, in list order (the first is the primary byline). url is the author’s profile page and becomes the JSON-LD author.url. cmsUsers links the author to a user on a connected site, { wordpress?: { id, name }, ghost?: { id, name } }: WordPress and Ghost only credit existing site users, so publishing there credits the linked users (WordPress takes the first linked author) and falls back to the site’s default author when none are linked. |
contentTone | Tones the model may pick from per article. Empty = “Any”. |
writingLanguage | Language code articles are written in (e.g. es), or null to inherit the brand’s default language. Usually two letters; Chinese is zh_CN/zh_TW and Hebrew is iw. Articles only - keyword research, SERP data, and AI-visibility tracking stay on the brand language. |
internalLinkVolume | Internal links per 1k words: 3, 6, or 9. |
defaultImageProvider | ai, stock, or null (no images). |
featuredImageStyles | Pool of AI featured-image styles to draw from. |
customFeaturedImageReferenceUrl | Reference image URL when using the custom style. |
featuredImageText | Allow text in AI featured images. |
featuredImageIncludeBrandColors | Use brand colors in AI featured images. |
featuredImageIncludeBrandLogo | Include the brand logo in AI featured images. |
inArticleImageStyles | Styles for AI in-article images. |
autoUpdateExistingArticles | Periodically refresh stale published articles. |
articleUpdateFrequency | Cadence for auto-updates (e.g. every-14-days). |
articleUpdateMinAgeDays | Min article age before eligible: 7, 14, 30 (default), 60, or 90. |
lastArticleUpdateAt | When the last auto-update ran, or null. Read-only. |
Authorizations
bearerAuthapiKey
Your SnowSEO API key (sk_...).
Query Parameters
Team ID
Response
200 - application/json
Default Response
The brand's reusable authors. Those with isDefault go on every new article; the first is the primary byline.
Show child attributes
Show child attributes
Was this page helpful?

