---
title: "Get dashboard views"
method: GET
path: "/api/v1/discovery/dashboard-views/{id}"
tags: ["discovery"]
---

# Get dashboard views

`GET /api/v1/discovery/dashboard-views/{id}`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/discovery/dashboard-views/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

Show one Discovery dashboard view (Brand share, Brand win rate, Competitors, Brands map, Locations) exactly as the Point11 dashboard draws its card: its values as of the campaign's results window, each with its change against 30 days before, its trend and its precision. `id` is the campaign; `view`, date_range, brand_perspective and Locations' geography and geography_view are as discovery_dashboard_views_list lists them. Answers the view's title, applied filters and their labels, the results window, the card's display model (`snapshot`, which Point11's view renders) and the dashboard page that shows it (`canonicalHref`). A campaign with no results in the range is refused (PRECONDITION_FAILED).

## Path parameters

- `id` string, uuid, required: Discovery campaign id.

## Query parameters

- `view` 'discovery_brand_share_trend' | 'discovery_brand_win_rate_trend' | 'discovery_competitor_leaderboard' | 'discovery_brand_map' | 'discovery_win_rate_by_location', required: The dashboard view, as discovery_dashboard_views_list lists it.
- `date_range` string, required: Required. Use "all" or one absolute UTC-day range in yyyy-MM-dd..yyyy-MM-dd form. Preset names are not accepted because a saved answer must not move over time.
- `brand_perspective` string: Optional exact brand name for the dashboard's read-only perspective. Omit for the campaign's target brand.
- `geography` string: Optional exact navigable dashboard-scope id or unambiguous visible label of a place with places under it, for example "Texas". Omit for World, the dashboard default scope.
- `geography_view` 'map' | 'list': Optional. "list" for the ranked table, or "map" for the countries filled on a world map, which is drawn only at World (no geography). Omit for the map where it can be drawn, else the list.

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- DiscoveryDashboardViewsGetResponse
  - `view` 'discovery_brand_share_trend' | 'discovery_brand_win_rate_trend' | 'discovery_competitor_leaderboard' | 'discovery_brand_map' | 'discovery_win_rate_by_location', required: The view's id.
  - `version` integer, required: The version of the view's snapshot; its card draws only its own.
  - `title` string, required: The view's title, as its card's host shows it.
  - `campaign` object, required: The campaign the view reads.
    - `id` string, uuid, required
    - `name` string, required
  - `filters` DiscoveryFilters, required: The filters the view was read with: brand_perspective only when the lens is not the campaign's own brand; for Locations, geography (the id of the scope it shows, absent at World) and geography_view (the form it draws).
    - `date_range` string, required: Required. Use "all" or one absolute UTC-day range in yyyy-MM-dd..yyyy-MM-dd form. Preset names are not accepted because a saved answer must not move over time.
    - `brand_perspective` string: Optional exact brand name for the dashboard's read-only perspective. Omit for the campaign's target brand.
    - `geography` string: Optional exact navigable dashboard-scope id or unambiguous visible label of a place with places under it, for example "Texas". Omit for World, the dashboard default scope.
    - `geography_view` 'map' | 'list': Optional. "list" for the ranked table, or "map" for the countries filled on a world map, which is drawn only at World (no geography). Omit for the map where it can be drawn, else the list.
  - `filterLabels` object[], required: The filters as a host labels them, in the view's declared order.
    - `key` string, required: The filter's name, as its view declares it.
    - `label` string, required: The filter's short label, as every host shows it.
    - `value` string, required: The value it was read with, as the dashboard shows it.
  - `window` object, required: The results window the view's values read: every value is as of asOf, over the conversations dated in the 30 days ending it.
    - `from` string, date, required: The first UTC day a trend plots: the range's, never before the first interaction.
    - `to` string, date, required: The last UTC day a trend plots: the range's end, never past today.
    - `asOf` string, date, required: The UTC day every single value is as of: its value is the average over the campaign's interactions dated in the 30 days ending with it. The range's end, or, when those 30 days hold none, the last day with an interaction.
    - `comparedTo` string, date, required: The day a change compares with: 30 days before asOf.
    - `interactionCount` integer, required: The interactions dated in the 30 days ending asOf, under the scope.
    - `customerCount` integer, required: The distinct customers of those interactions.
  - `snapshot` object, required: The view's card's display model, which only Point11's view renders. Non-finite numbers are tagged objects; its shape is versioned by `version`.
  - `snapshotDigest` string, required: SHA-256 of the view's id, version and snapshot: two answers with the same digest draw the same card.
  - `canonicalHref` string, required: The dashboard page that shows the view, under the same filters.

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `403`: The credential lacks the operation's scope or role, or the operation needs a different door.
- `404`: The resource or organization does not exist for this caller.
- `405`: This path takes another HTTP method, named in `Allow`.
- `409`: The request conflicts with current state or with prior use of its Idempotency-Key.
- `413`: The request, or the answer it asks for, is too large; narrow it.
- `429`: The credential's rate budget is spent; retry after `Retry-After` seconds.
- `500`: An unexpected server failure; retry later. Only `request_id` identifies it.
- `503`: A dependency is temporarily unavailable; retry after `Retry-After` seconds.
- `default`: Another status a product answers for its own refusal (for example `415` for an unsupported attachment); branch on `code`.

---

[API](https://skmtc.dev/point11/apis/point11-api.md) · [All operations](https://skmtc.dev/point11/apis/point11-api/llms.txt) · [OpenAPI document](https://skmtc.dev/point11/apis/point11-api/revisions/36a84c7aca11?raw)
