---
title: brand_resolve
description: Given an ad account, find which brands' context applies to it.
---

Given an **ad account**, returns the brands whose context applies to it.

This is the tool that closes the loop. You already know which account you're working on; this tells you _who you're working for_ — so the copy you write and the judgements you make belong to that brand rather than to nobody in particular.

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `advertiser_id` | `string` | yes | The ad account id (`acc_…`), from `list_advertisers`. |

## Output

An array of `{ brandSlug, brandName, via }`. Load the context itself with [`brand_get`](/mcp/tools/brand-get).

## Why it returns a list

An ad account can be attached to more than one brand — an agency running two lines through one account, say. Rather than guess which one you meant, this returns all of them, and `via` says how each applies. An account with no brand attached returns an empty list, which is a normal answer rather than an error.

## Example

```ts
brand_resolve({ advertiser_id: 'acc_123' });
// → [{ brandSlug: 'acme-running', brandName: 'Acme Running', via: 'direct' }]
brand_get({ brand_name: 'acme-running' });
```

:::tip[Do this before writing anything]

Resolving first is what stops an assistant producing generic copy for an account whose brand has a documented voice and a list of claims it must avoid.

:::

Requires the `brand:read` scope.
