---
title: "Openai Tunnel Diagnostics"
method: POST
path: "/tunnel/openai/diagnostics/{tenant_id}"
---

# Openai Tunnel Diagnostics

`POST /tunnel/openai/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/openai/diagnostics/{tenant_id}`
- Auth: none declared

Compose OpenAI Secure MCP Tunnel adapter diagnostics for *tenant_id*,
alongside Meridian's own tunnel socket state (see :func:`tunnel_status`).

Body (all optional): ``{"openai_tunnel_config": {...}, "reported_status":
{...}}``. ``openai_tunnel_config`` is validated via
``openai_tunnel_adapter.normalize_config`` — a malformed config yields a
400 with the validation error, never a partial/best-guess diagnostics
response. ``reported_status`` optionally carries a live ``{"state": ...,
"detail": ...}`` health report from wherever actually probes the OpenAI
tunnel (out of scope for this item; see the adapter module's docstring).
Omitting both reports ``not_configured`` — no auth required, mirroring
:func:`tunnel_status`'s own lightweight, read-only status check.

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