---
title: "Get Internal Freshness Detail"
method: GET
path: "/api/v2/freshness/internal/detail"
tags: ["APPS_V2"]
---

# Get Internal Freshness Detail

`GET /api/v2/freshness/internal/detail`

## 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/freshness/internal/detail`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Both freshness grains for one tenant, in a single call.

`groups` is the FULL rollup, including the groups in
`apps.freshness.grouping.HIDDEN_FROM_TENANT_GROUPS`; the tenant-facing
feed filters those out at the endpoint, so this response is a superset of
what the tenant panel renders. `datasets` is every `dataset_type` behind
it, including the ones the taxonomy excludes (flagged `excluded`, with a
null `group_key`).

## Query parameters

- `tenant_name` string, required: Tenant to inspect. NOT named `tenant` — see module docstring.

## Headers

- `x-tenant` string, nullable

## Response `200`

Successful Response

- InternalFreshnessDetailResponse: Everything the internal dashboard shows for ONE tenant, in one call. Carries both grains so the page never has to fan out: `groups` is the FULL rollup, including the groups in `apps.freshness.grouping.HIDDEN_FROM_TENANT_GROUPS`; the tenant-facing feed filters those out at the endpoint, so this view is a superset of what the tenant panel renders. `datasets` is every underlying `dataset_type` including the excluded ones.
  - `generated_at` integer, required
  - `tenant_name` string, required
  - `platform` string, required
  - `groups` GroupFreshness[]
    - `key` string, required
    - `label` string, required
    - `dataset_count` integer, required
    - `retired_count` integer
    - `last_refreshed_at` integer, nullable
    - `watermark_at` integer, nullable
    - `oldest_watermark_at` integer, nullable
    - `stalest_dataset_type` string, nullable
    - `has_failures` boolean
    - `datasets` DatasetFreshnessItem[]
      - `dataset_type` string, required
      - `last_refreshed_at` integer, nullable
      - `watermark_at` integer, nullable
      - `last_status` string, nullable
      - `source` string
  - `datasets` InternalDatasetFreshness[]
    - `dataset_type` string, required
    - `group_key` string, nullable
    - `group_label` string, nullable
    - `excluded` boolean
    - `retired` boolean
    - `last_refreshed_at` integer, nullable
    - `last_attempt_at` integer, nullable
    - `watermark_at` integer, nullable
    - `last_status` string, nullable
    - `failed` boolean

## Other responses

- `403`: Internal dashboard — Altimate staff only
- `404`: Unknown tenant
- `422`: Validation Error

## Changes

- **2026-08-19** `6aa0788aa5dc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myaltimate/apis/myaltimate-api/changes/api/v2/freshness/internal/detail/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)
