Works with all AI agents

Connect your AI agent

Choose your assistant and connect in seconds.

Add to Claude

Works on every Claude plan, including free. Full Claude guide

  1. 1

    Add to Claude

    One click from Claude’s connector directory.

  2. 2

    Sign up or sign in

    Takes seconds, then you’re sent straight back.

  3. 3

    Ask Claude

    “Plan and schedule my posts for next week.”

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
}
  • brand is the workspace's default Brand Kit. brands lists every kit in the workspace, with the default first.
  • rules lists only the rules that are switched on. always_applied: true means PostEverywhere enforces the rule on generated posts; false means it is guidance for the writer to follow.
  • has_logo says whether a logo is saved. The logo image itself is not returned.
  • With no Brand Kit yet, brand is null, brands is empty and message says where to set one up.

Using the Brand Kit from an agent

  • MCP: the get_brand tool 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 need get_brand when your agent writes captions itself.
  • Images: generate_image takes add_logo: true to stamp the Brand Kit logo onto a generated image. The response's logo_added says whether it was added.

Related: best times to post · the MCP guide · token introspection (GET /v1/me) · building AI agents