Skip to main content
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

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.jsonget_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) get deeper data on top of the public baseline. Account linking is a one-time setup: a buyer agent calls sync_accounts on the brand agent, providing its brand reference. After that, the buyer’s get_brand_identity requests are recognized as authorized.
LevelWhat 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

{
  "brand_id": "daan_janssen"
}
{
  "brand_id": "daan_janssen",
  "fields": ["logos", "tone", "voice_synthesis"],
  "use_case": "endorsement"
}
{
  "brand_id": "daan_janssen",
  "fields": ["colors", "fonts", "visual_guidelines"],
  "use_case": "creative_production"
}
{
  "errors": [
    { "code": "brand_not_found", "message": "No brand with id 'unknown_brand' in this agent's roster" }
  ]
}

Parameters

Request

FieldTypeRequiredDescription
brand_idstringYesBrand identifier from the agent’s brand.json brands array
fieldsstring[]NoOptional 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_casestringNoIntended 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:
ValueAgent behavior
endorsementPrioritize action photos, endorsement tone, brand story
voice_synthesisReturn voice synthesis config, pronunciation guides
likenessHigh-res photos, appearance guidelines
creative_productionFull visual identity: colors, fonts, visual_guidelines, logos
media_planningBasic 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:
FieldTypeRequiredDescription
brand_idstringYesBrand identifier
houseobjectYesHouse (corporate entity): domain and name
namesobject[]YesLocalized names
descriptionstringNoBrand description
industriesstring[]NoIndustries or categories
keller_typestringNoBrand architecture type: master, sub_brand, endorsed, independent
logosobject[]NoBrand logos (matches brand.json logo shape: url, variant, orientation, background, tags)
colorsobjectNoBrand color palette with structured roles (primary, secondary, accent, background, text)
fontsobjectNoBrand 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_guidelinesobjectNoPhotography, graphic style, colorways, type scale, motion rules, restrictions
toneobjectNoBrand voice and messaging guidelines. Sub-fields: voice (personality adjectives), attributes (prompt guidance traits), dos (approved approaches), donts (prohibited topics)
taglinestringNoBrand tagline or slogan
voice_synthesisobjectNoTTS voice synthesis configuration (provider, voice_id, settings)
assetsobject[]NoAvailable brand assets — matches brand.json asset shape (asset_id, asset_type, url, tags)
rightsobjectNoRights availability summary (for pricing, use get_rights)
available_fieldsstring[]NoSections 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

get_rights

Search for licensable rights with pricing.

acquire_rights

Acquire rights with contractual clearance.