---
title: "List Internal Tenants"
method: GET
path: "/api/v2/freshness/internal/tenants"
tags: ["APPS_V2"]
---

# List Internal Tenants

`GET /api/v2/freshness/internal/tenants`

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

Tenants the dashboard can inspect, for the selector.

Reads the company registry, not the freshness view: the registry is a
small table while a fleet-wide `DISTINCT` over the view is a full rollup
(~10s measured on prod).

## Headers

- `x-tenant` string, nullable

## Response `200`

Successful Response

- InternalTenantListResponse: Tenants the internal dashboard can inspect, from the company registry. Sourced from `public_companies` rather than from the freshness view: the registry is a small table, whereas a `DISTINCT tenant_name` over the view is a fleet-wide rollup. Listing a tenant here says it EXISTS, not that it has ingestion runs — a tenant with none is exactly what an operator needs to be able to see.
  - `tenants` AppsFreshnessSchemasInternalTenant[]
    - `name` string, required
    - `platform` string, required
    - `status` string, required

## 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/tenants/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)
