curl --request POST \
--url https://api.superx.so/v1/context/style-guide/regenerate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>"
}
'import requests
url = "https://api.superx.so/v1/context/style-guide/regenerate"
payload = { "account_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({account_id: '<string>'})
};
fetch('https://api.superx.so/v1/context/style-guide/regenerate', 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.superx.so/v1/context/style-guide/regenerate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.superx.so/v1/context/style-guide/regenerate"
payload := strings.NewReader("{\n \"account_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.superx.so/v1/context/style-guide/regenerate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superx.so/v1/context/style-guide/regenerate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"generated": {
"audience": "Indie founders and solo builders shipping in public.",
"vocabulary": "Lowercase starts on ~70% of posts. Emojis on ~10%.",
"generated_at": "2026-09-10T12:00:00.000Z"
}
},
"meta": {
"account_id": "1178367350552305665"
}
}Rebuild the generated style guide
Rewrites the account’s GENERATED style guide from its recent posts,
the same way the Style Guide button on the SuperX app’s Context page
does. The result is exactly the style_guide.generated block
GET /v1/context returns.
Your manual overrides (style_guide.audience_override and
vocabulary_override) are untouched and keep outranking the
generated guide everywhere.
Free: no AI credits are charged, so no X-Credits-Charged header is
sent. X-Credits-Remaining and X-Credits-Reset still are.
Three ceilings apply, all reported as 429 ai_action_limited.
Regeneration is limited to once an hour per account
(scope: "account"; the hour runs from the last SUCCESSFUL run). An
account with fewer than 5 recent posts stored in SuperX has them read
live instead: that live read is limited to 3 attempts per account per
day (scope: "account", resets at midnight UTC) and also draws on the
platform-wide fair-use ceiling shared by every account
(scope: "platform"). An account with enough stored posts meets
neither of the last two. Takes up to a minute.
curl --request POST \
--url https://api.superx.so/v1/context/style-guide/regenerate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>"
}
'import requests
url = "https://api.superx.so/v1/context/style-guide/regenerate"
payload = { "account_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({account_id: '<string>'})
};
fetch('https://api.superx.so/v1/context/style-guide/regenerate', 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.superx.so/v1/context/style-guide/regenerate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.superx.so/v1/context/style-guide/regenerate"
payload := strings.NewReader("{\n \"account_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.superx.so/v1/context/style-guide/regenerate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superx.so/v1/context/style-guide/regenerate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"generated": {
"audience": "Indie founders and solo builders shipping in public.",
"vocabulary": "Lowercase starts on ~70% of posts. Emojis on ~10%.",
"generated_at": "2026-09-10T12:00:00.000Z"
}
},
"meta": {
"account_id": "1178367350552305665"
}
}Authorizations
A SuperX API key ("sxk_..."), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.
Query Parameters
Account to act on, from GET /v1/accounts. Defaults to your main account. An id outside your accounts returns 404 account_not_found.