---
title: "Get Summary Endpoint"
method: GET
path: "/api/v2/summaries/{name}"
tags: ["APPS_V2"]
---

# Get Summary Endpoint

`GET /api/v2/summaries/{name}`

## Request

- Base URL: `https://api.myaltimate.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.myaltimate.com/api/v2/summaries/{name}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Return a single summary's descriptor.

Resolved via `visible_summary` — the SAME platform-visibility (and
feature-flag) gate `POST /summaries/{name}/query` uses — so a summary
registered for another platform 404s (`SUMMARY_NOT_FOUND`), and a
flag-gated summary with its flag off 404s (`FEATURE_NOT_ENABLED`),
rather than either confirming its existence to a caller who should not
see it.

## Path parameters

- `name` string, required

## Headers

- `x-tenant` string, required
- `x-user-group-id` string, nullable
- `x-timezone` string, nullable

## Response `200`

Successful Response

- SummaryDescriptor: Public projection of a `SummarySpec`. `parts` lists the underlying dataset NAMES (never the full `DatasetDescriptor`s) — a summary's public contract is its metrics, not its parts' own columns; a client that wants a part's full shape can still call `GET /datasets/{name}` with one of these names.
  - `name` string, required
  - `label` string, required
  - `platform` string, required
  - `dataset` string, required
  - `parts` string[], required
  - `filters` FilterDescriptor[], required
    - `key` string, required
    - `label` string, required
    - `listable` boolean, required
    - `options` OptionDescriptor[], nullable
      - `value` string, required
      - `label` string, nullable
    - `required` boolean
    - `comparison` boolean
    - `comparison_default` string
  - `metrics` MetricDescriptor[], required
    - `key` string, required
    - `label` string, required
    - `unit` string, nullable
    - `info` string, nullable
    - `order` integer, required
    - `tone` string, nullable
    - `compact` boolean
    - `precision` integer, nullable
  - `related` RelatedDescriptor, required: Wire form of `apps.catalog.relations.RelatedNames` — the symmetrised page-affinity edges of one dataset/chart/summary, split by kind. This module owns no catalog lookups (see the module docstring's import rules), so nothing here builds a `RelatedDescriptor` from a `RelatedNames` — that projection lives in `apps.api.serializers`, the layer that already resolves `apps.catalog.RELATIONS`.
    - `datasets` string[], required
    - `charts` string[], required
    - `summaries` string[], required

## Other responses

- `403`: Not supported for public user
- `422`: Validation Error

## Changes

- **2026-09-30** `a1870d258a3a`: 1 info
  - added the optional property `metrics/items/precision` to the response with the `200` status
- **2026-09-24** `eb8306fa77dd`: 2 info
  - added the optional property `filters/items/comparison` to the response with the `200` status
  - added the optional property `filters/items/comparison_default` to the response with the `200` status
- **2026-09-02** `fcb62c79da95`: 1 info
  - added the optional property `filters/items/required` to the response with the `200` status
- **2026-08-12** `a71fce1f5c26`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myaltimate/apis/myaltimate-api/changes/api/v2/summaries/:name/get.md)

---

[API](https://skmtc.dev/myaltimate/apis/myaltimate-api.md) - [All operations](https://skmtc.dev/myaltimate/apis/myaltimate-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myaltimate/apis/myaltimate-api/revisions/727657ce54e9?raw)
