---
title: "Tunnel Diagnostics"
method: GET
path: "/tunnel/diagnostics/{tenant_id}"
---

# Tunnel Diagnostics

`GET /tunnel/diagnostics/{tenant_id}`

## Request

- Base URL: `https://usemeridian.us` (the document declares no server; this is the origin it was published from)
- URL: `https://usemeridian.us/tunnel/diagnostics/{tenant_id}`
- Auth: none declared

Layered, read-only tunnel/connector diagnostics for one tenant (f1e0df55).

Aggregates dashboard-persisted config, live per-slot process state,
client-reported per-slot health, the server routing cache, and the
tools/list discovery-changed marker into ONE snapshot — see
:func:`build_tunnel_diagnostics` for the full field-by-field contract.
``tenant_id`` in the path is documentary only (matches the sibling
``/tunnel/status/{tenant_id}`` route's shape); the actual tenant is
resolved from the request's own auth, same as ``/tunnel/plugins``.

ece2ac0a — hosted callers must be authenticated: with no tenant this used
to return the process-wide (untenanted) diagnostics snapshot to anyone.

## Path parameters

- `tenant_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usemeridian/apis/meridian.md) · [All operations](https://skmtc.dev/usemeridian/apis/meridian/llms.txt) · [OpenAPI document](https://skmtc.dev/usemeridian/apis/meridian/revisions/f37a894bd374?raw)
