---
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`

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

[Change history](https://skmtc.dev/myaltimate/apis/fastapi/changes/api/v2/freshness/internal/detail/get.md)

---

[API](https://skmtc.dev/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.dev/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/myaltimate/fastapi/revisions/82206441f16e/schema)
