# August 2026


## 2026-08-27

- **One-click OAuth is documented as the primary way to connect an MCP client** {{< products "MCP" >}}

  This includes command-line clients such as Claude Code, which need only the
  server URL and a browser approval. The server behavior is unchanged - the
  OAuth 2.1 surface (discovery, dynamic registration, PKCE) has been live
  since July 2026. The previous instructions told command-line clients to
  configure a static `Authorization` header, which suppresses the `401`
  challenge the handshake starts from, so those clients minted an MCP token
  they did not need. Tokens remain the documented choice for unattended,
  headless, and CI clients. See [MCP > Getting started](/mcp/getting-started)
  and
  [OAuth one-click connect](/api/v2/authentication#oauth-one-click-connect).

## 2026-08-25

- **New read-only activation preview** {{< products "API" "MCP" >}}

  [`GET /api/v2/analyses/activations/preview`](/api/v2/activations#get-apiv2analysesactivationspreview)
  returns the exact device count the Audience Manager shows as Limit Audience
  for a frequency range on a Completed audience, plus the histogram, bounds,
  read-only recency, eligibility and a canonical `filter_hash`. Nothing is
  created or billed. MCP gains the matching `preview_activation` tool.

- **Create Activation accepts `filter_hash`, and frequency bounds need `freq_limit`** {{< products "API" >}}

  The server recomputes the preview hash for the requested `freq_min` /
  `freq_max` and rejects any mismatch, so an activation applies exactly what
  was previewed. `freq_min` / `freq_max` now require an explicit `freq_limit`
  (previously bounds sent without the flag were silently ignored by the
  export). Activation reads echo `filters` and `filter_hash`. See
  [Create Activation](/api/v2/activations#post-apiv2analysesactivationscreate).

## 2026-08-24

- **New read-only audience size estimation** {{< products "API" "MCP" >}}

  `POST /api/v2/analyses/audiences/estimate` takes the exact Create Audience
  body, runs the same build pipeline, and returns the numbers without creating
  an audience; poll `GET /api/v2/analyses/audiences/estimate/{id}`. MCP gains
  the matching `estimate_audience_size` and `get_audience_estimate` tools.

- **Audiences created via the API carry `recipe_hash` and `normalized_payload`** {{< products "API" >}}

  Both are on the `/analyses/audiences/{id}` read - the canonical recipe stamp
  that ties a create back to a prior estimate of the identical payload.

## 2026-08-23

- **Audience reads return `eligibility`** {{< products "API" "MCP" >}}

  The v2 reads, MCP `get_audience`, webhooks, and the v1 public reads now
  return `eligibility`; `totals` is included on the `/analyses/audiences` v2 reads
  (index and show), MCP `get_audience` and webhook payloads - not on the
  `/my-data/audiences/{id}` v1/v2 compatibility reads.
  `is_activation_allowed` reflects every activation gate (device floor,
  Affinity device coverage EIDs > 2x SCIDs, 90-day retention) and activation
  endpoints enforce the same gates (422 with the reason).

## 2026-08-07

- **List Activations no longer fails on `search`** {{< products "API" >}}

  [List Activations](/api/v2/activations#get-apiv2analysesactivationsindex)
  no longer returns an internal error when the `search` parameter is present.
  The filter now matches the activation `description` - the label field the
  activation payload carries; previously any non-empty `search` failed the
  request.

## 2026-08-03

- **`WebDomain` audience windows are limited to the last 45 days of available data** {{< products "API" "MCP" "Console" >}}

  Older web visitation data is archived and unreadable, so a `start_date`
  outside the 45-day window ending at the newest available day is rejected
  with `422` naming the exact `datasets.{i}.start_date` field. The
  limit applies per dataset block, so a `WebDomain` block combined with
  another dataset type is constrained while the other block is not. The
  console's Audience Architect picker blocks the same dates, and the MCP
  `create_audience` tool description names the limit. See
  [Audiences](/api/v2/audiences) and [Limits](/concepts/limits).
