> ## Documentation Index
> Fetch the complete documentation index at: https://agenticadvertisingorg-feature-feedback.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# get_brand_identity

> get_brand_identity is the AdCP task for retrieving brand data from a brand agent. Returns logos, colors, fonts, visual guidelines, tone, and voice synthesis config with public and authorized access tiers.

Retrieve brand identity data from a brand agent. Core identity (house, names, description, logos) is always public — any agent can discover who a brand is without authentication. Linked accounts get deeper data: high-res assets, voice synthesis configs, tone guidelines, and rights availability.

## Schema

* **Request**: [`get-brand-identity-request.json`](https://adcontextprotocol.org/schemas/v3/brand/get-brand-identity-request.json)
* **Response**: [`get-brand-identity-response.json`](https://adcontextprotocol.org/schemas/v3/brand/get-brand-identity-response.json)

## Response time

Typically under 2 seconds for identity data. Authorized responses with large asset collections may take longer.

## Public by default

Brand identity is public data. Any agent can call `get_brand_identity` without a linked account and receive the brand's core identity: house, names, description, industries, and basic logos. This is the same data available in `brand.json` — `get_brand_identity` provides it via MCP for agents that prefer a structured call over fetching and parsing the file.

The registry enforces this: every brand indexed from `brand.json` is publicly discoverable. You can always find out what house a brand belongs to, what it's called, and what it does.

Authorized callers (linked via [`sync_accounts`](/docs/accounts/overview)) get deeper data on top of the public baseline.

Account linking is a one-time setup: a buyer agent calls [`sync_accounts`](/docs/accounts/tasks/sync_accounts) on the brand agent, providing its brand reference. After that, the buyer's `get_brand_identity` requests are recognized as authorized.

| Level                                       | What you get                                                                                                         |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Public** (no linked account)              | House, names, description, industries, keller\_type, basic logos, tagline                                            |
| **Authorized** (linked via `sync_accounts`) | Everything above, plus: high-res assets, voice synthesis, tone guidelines, content restrictions, rights availability |

If a request includes `fields` that require authorization the caller does not have, those fields are silently omitted. The response includes `available_fields` listing what sections exist but were not returned, so the caller knows what they would gain by linking their account.

## Quick start

<CodeGroup>
  ```json Request (public) theme={null}
  {
    "brand_id": "daan_janssen"
  }
  ```

  ```json Response (public) theme={null}
  {
    "brand_id": "daan_janssen",
    "house": { "domain": "lotientertainment.com", "name": "Loti Entertainment" },
    "names": [{"en": "Daan Janssen"}],
    "description": "Dutch Olympic speed skater, 2x gold medalist",
    "industries": ["sports_fitness"],
    "keller_type": "independent",
    "logos": [
      { "url": "https://cdn.lotientertainment.com/janssen/headshot.jpg", "variant": "primary" }
    ],
    "tagline": [{"en-US": "Speed is a choice"}, {"nl-NL": "Snelheid is een keuze"}],
    "available_fields": ["tone", "voice_synthesis", "assets", "rights"]
  }
  ```
</CodeGroup>

<CodeGroup>
  ```json Request (authorized, specific fields) theme={null}
  {
    "brand_id": "daan_janssen",
    "fields": ["logos", "tone", "voice_synthesis"],
    "use_case": "endorsement"
  }
  ```

  ```json Response (authorized) theme={null}
  {
    "brand_id": "daan_janssen",
    "house": { "domain": "lotientertainment.com", "name": "Loti Entertainment" },
    "names": [{"en": "Daan Janssen"}],
    "logos": [
      { "url": "https://cdn.lotientertainment.com/janssen/headshot.jpg", "variant": "primary" },
      { "url": "https://assets.lotientertainment.com/janssen/hero_01_highres.jpg", "variant": "full-lockup", "width": 3000, "height": 2000 }
    ],
    "voice_synthesis": {
      "provider": "elevenlabs",
      "voice_id": "janssen_v2",
      "settings": { "stability": 0.7 }
    },
    "tone": {
      "voice": "enthusiastic, warm, competitive",
      "attributes": ["athletic", "Dutch pride", "approachable"],
      "dos": ["Reference athletic achievements", "Use Dutch cultural touchpoints"],
      "donts": ["No injury references", "No competitor comparisons"]
    }
  }
  ```
</CodeGroup>

<CodeGroup>
  ```json Request (creative production) theme={null}
  {
    "brand_id": "daan_janssen",
    "fields": ["colors", "fonts", "visual_guidelines"],
    "use_case": "creative_production"
  }
  ```

  ```json Response (authorized) theme={null}
  {
    "brand_id": "daan_janssen",
    "house": { "domain": "lotientertainment.com", "name": "Loti Entertainment" },
    "names": [{"en": "Daan Janssen"}],
    "colors": {
      "primary": "#FF6600",
      "secondary": "#1A1A2E",
      "accent": "#FBA007"
    },
    "fonts": {
      "primary": {
        "family": "Montserrat",
        "files": [
          { "url": "https://cdn.example.com/fonts/montserrat-vf.woff2", "weight_range": [100, 900], "style": "normal" }
        ],
        "opentype_features": ["tnum"],
        "fallbacks": ["Helvetica Neue", "Arial", "sans-serif"]
      },
      "secondary": "Open Sans"
    },
    "visual_guidelines": {
      "photography": {
        "realism": "photorealistic",
        "lighting": "bright, natural",
        "framing": ["medium shot", "action shot"]
      },
      "restrictions": [
        "Never place text over the athlete",
        "No competitor brand logos in frame"
      ]
    }
  }
  ```
</CodeGroup>

<CodeGroup>
  ```json Response (error) theme={null}
  {
    "errors": [
      { "code": "brand_not_found", "message": "No brand with id 'unknown_brand' in this agent's roster" }
    ]
  }
  ```
</CodeGroup>

## Parameters

### Request

| Field      | Type      | Required | Description                                                                                                                                                                                                                                                 |
| ---------- | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `brand_id` | string    | Yes      | Brand identifier from the agent's brand.json brands array                                                                                                                                                                                                   |
| `fields`   | string\[] | No       | Optional sections to include (e.g., `logos`, `colors`, `fonts`, `visual_guidelines`, `tone`). Omit for all authorized sections. Core fields (`brand_id`, `house`, `names`) are always returned and do not need to be requested.                             |
| `use_case` | string    | No       | Intended use case (e.g., "endorsement", "voice\_synthesis", "likeness"). Agent tailors content within the returned sections — a "likeness" use case returns action photos, a "voice\_synthesis" use case returns voice configs. Does not override `fields`. |

Valid `fields` values: `description`, `industries`, `keller_type`, `logos`, `colors`, `fonts`, `visual_guidelines`, `tone`, `tagline`, `voice_synthesis`, `assets`, `rights`

Recommended `use_case` values:

| Value                 | Agent behavior                                                 |
| --------------------- | -------------------------------------------------------------- |
| `endorsement`         | Prioritize action photos, endorsement tone, brand story        |
| `voice_synthesis`     | Return voice synthesis config, pronunciation guides            |
| `likeness`            | High-res photos, appearance guidelines                         |
| `creative_production` | Full visual identity: colors, fonts, visual\_guidelines, logos |
| `media_planning`      | Basic identity and rights availability summary                 |

`use_case` is advisory — it tailors content within returned sections but does not override `fields`.

### Response

The response mirrors the brand.json brand definition, extended with dynamic data the agent controls:

| Field               | Type      | Required | Description                                                                                                                                                                                                                   |
| ------------------- | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `brand_id`          | string    | Yes      | Brand identifier                                                                                                                                                                                                              |
| `house`             | object    | Yes      | House (corporate entity): `domain` and `name`                                                                                                                                                                                 |
| `names`             | object\[] | Yes      | Localized names                                                                                                                                                                                                               |
| `description`       | string    | No       | Brand description                                                                                                                                                                                                             |
| `industries`        | string\[] | No       | Industries or categories                                                                                                                                                                                                      |
| `keller_type`       | string    | No       | Brand architecture type: `master`, `sub_brand`, `endorsed`, `independent`                                                                                                                                                     |
| `logos`             | object\[] | No       | Brand logos (matches brand.json logo shape: `url`, `variant`, `orientation`, `background`, `tags`)                                                                                                                            |
| `colors`            | object    | No       | Brand color palette with structured roles (`primary`, `secondary`, `accent`, `background`, `text`)                                                                                                                            |
| `fonts`             | object    | No       | Brand typography. Keys are role names (`primary`, `secondary`). Values are a CSS font-family string or an object with `family`, `files` (array of `{url, weight, weight_range, style}`), `opentype_features`, and `fallbacks` |
| `visual_guidelines` | object    | No       | Photography, graphic style, colorways, type scale, motion rules, restrictions                                                                                                                                                 |
| `tone`              | object    | No       | Brand voice and messaging guidelines. Sub-fields: `voice` (personality adjectives), `attributes` (prompt guidance traits), `dos` (approved approaches), `donts` (prohibited topics)                                           |
| `tagline`           | string    | No       | Brand tagline or slogan                                                                                                                                                                                                       |
| `voice_synthesis`   | object    | No       | TTS voice synthesis configuration (`provider`, `voice_id`, `settings`)                                                                                                                                                        |
| `assets`            | object\[] | No       | Available brand assets — matches brand.json asset shape (`asset_id`, `asset_type`, `url`, `tags`)                                                                                                                             |
| `rights`            | object    | No       | Rights availability summary (for pricing, use `get_rights`)                                                                                                                                                                   |
| `available_fields`  | string\[] | No       | Sections available but not returned due to authorization level. Tells the caller what linking their account would unlock.                                                                                                     |

## Use cases

* **DAM**: Returns high-res assets, current campaign guidelines, seasonal creative toolkits
* **Enterprise brand agent**: Returns approved copy, brand voice guidelines, current taglines
* **Rights management agent**: Returns talent identity — tone, voice synthesis, photos, rights availability

## Next steps

<CardGroup cols={2}>
  <Card title="get_rights" icon="scale-balanced" href="/docs/brand-protocol/tasks/get_rights">
    Search for licensable rights with pricing.
  </Card>

  <Card title="acquire_rights" icon="handshake" href="/docs/brand-protocol/tasks/acquire_rights">
    Acquire rights with contractual clearance.
  </Card>
</CardGroup>
