PostEverywhere Brand Kit API
Read your workspace's Brand Kit from the API or MCP: what the business does, audience, voice, language, rules, words to avoid, hashtags, colours and fonts, so agents write on brand.
GET /v1/brand returns the workspace's Brand Kit: what the business does, its products, audience, voice, language, rules, words to avoid, hashtags to add, colours and fonts. Agents that write captions themselves should read it first, so posts sound like the brand and follow its rules.
You build the Brand Kit in the dashboard (Brand Kit in the sidebar). The API and MCP tool only read it: they cannot create or edit a kit.
Read the Brand Kit: GET /v1/brand
curl https://app.posteverywhere.ai/api/v1/brand \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY"
Requires read scope. Counts against the API rate limit. Scoped to the key's workspace. Full schema: Get brand.
What the response contains
{
"data": {
"brand": {
"id": "7c1e2f4a-...",
"name": "Cafe Luna",
"about": "Neighbourhood coffee shop and bakery in Leeds.",
"industry": "Food and drink",
"website": "https://cafeluna.example",
"products": ["Speciality coffee", "Sourdough", "Weekend brunch"],
"audience": "Local professionals and families",
"voice": "Warm, friendly and a little playful",
"voice_traits": ["warm", "playful"],
"voice_example": "Fresh loaves are out of the oven. Come and grab one while they're warm.",
"language": "en-GB",
"language_name": "British English",
"facts": ["Open 7am to 4pm"],
"post_ideas": ["Behind the scenes at the bakery"],
"rules": [
{ "id": "no_emojis", "rule": "Do not use any emojis.", "always_applied": true },
{ "id": "custom:family-run", "rule": "Always mention we're family run.", "always_applied": false }
],
"banned_words": ["cheap"],
"required_hashtags": ["#cafeluna"],
"colors": ["#2F4F4F", "#F5E6CC"],
"fonts": { "heading": "Playfair Display", "body": "Inter" },
"has_logo": true
},
"brands": [{ "id": "7c1e2f4a-...", "name": "Cafe Luna", "is_default": true }],
"message": "generate_caption writes in this brand automatically. When you write captions yourself, follow its voice, language and rules."
},
"error": null
}
brandis the workspace's default Brand Kit.brandslists every kit in the workspace, with the default first.ruleslists only the rules that are switched on.always_applied: truemeans PostEverywhere enforces the rule on generated posts;falsemeans it is guidance for the writer to follow.has_logosays whether a logo is saved. The logo image itself is not returned.- With no Brand Kit yet,
brandisnull,brandsis empty andmessagesays where to set one up.
Using the Brand Kit from an agent
- MCP: the
get_brandtool returns the same data. It takes no parameters. It is on the full hosted server and the Claude connector, but not on the ChatGPT app. - Captions:
generate_caption(POST /v1/ai/generate-caption) already writes in the default brand, so you only needget_brandwhen your agent writes captions itself. - Images:
generate_imagetakesadd_logo: trueto stamp the Brand Kit logo onto a generated image. The response'slogo_addedsays whether it was added.
Related: best times to post · the MCP guide · token introspection (GET /v1/me) · building AI agents