> This page is for NeMo Relay, version Latest (v0.11.1) (default).
> For other versions, use one of these documentation indexes:
> - Latest (v0.11.1) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.1: https://docs.nvidia.com/nemo/relay/v0.11.1/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Enum Diagnostic Http Reason

> Stable reasons for HTTP inspection, including snapshot, access, and lifecycle failures. This is separate from the transport-neutral `DiagnosticReadReason`. Unknown future reasons must not be inferred from HTTP status alone.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

```rust
#[non_exhaustive]pub enum DiagnosticHttpReason {
Show 19 variants    Disabled,
    QueryDisabled,
    UnsupportedSchema,
    InvalidQuery,
    InvalidCursor,
    Busy,
    SnapshotCapacity,
    InvalidLimits,
    AllocationFailed,
    Internal,
    AuthenticatedTransportRequired,
    Unauthorized,
    Forbidden,
    ShuttingDown,
    HttpReadDisabled,
    CollectionDisabled,
    Missing,
    Unsupported,
    ReadAuthorityUnavailable,
}
```

Stable reasons for HTTP inspection, including snapshot, access, and lifecycle failures. This is separate from the transport-neutral [`DiagnosticReadReason`](/nemo/relay/reference/api/rust-library-reference/nemo-relay-types/diagnostics/enum-diagnosticreadreason). Unknown future reasons must not be inferred from HTTP status alone.

## Variants (Non-exhaustive)

### `Disabled`

<pre />

Diagnostic recording was disabled at startup.

### `QueryDisabled`

<pre />

Snapshot query workspaces were disabled at startup.

### `UnsupportedSchema`

<pre />

The requested snapshot schema is unsupported.

### `InvalidQuery`

<pre />

The query is invalid.

### `InvalidCursor`

<pre />

The continuation is invalid or stale.

### `Busy`

<pre />

Read concurrency is temporarily exhausted.

### `SnapshotCapacity`

<pre />

The snapshot cannot fit the admitted envelope.

### `InvalidLimits`

<pre />

The startup capacity profile is invalid.

### `AllocationFailed`

<pre />

A backing allocation failed.

### `Internal`

<pre />

An unexpected internal read failure occurred.

### `AuthenticatedTransportRequired`

<pre />

Inspection requires Relay's authenticated transport.

### `Unauthorized`

<pre />

The read credential is absent.

### `Forbidden`

<pre />

The credential or request origin is not permitted.

### `ShuttingDown`

<pre />

The diagnostic reader is shutting down.

### `HttpReadDisabled`

<pre />

HTTP diagnostic reads are disabled.

### `CollectionDisabled`

<pre />

Managed-worker collection is disabled.

### `Missing`

<pre />

The selected worker assignment does not exist, after authorization. This does not describe a current worker whose cache is empty.

### `Unsupported`

<pre />

The selected peer does not implement diagnostics.

### `ReadAuthorityUnavailable`

<pre />

The current worker session has no usable diagnostic read authority.

## Implementations

### `impl DiagnosticHttpReason`

<pre />

#### `http_status`

<pre />

Canonical HTTP status for this reason. Adapters construct framework responses.

## Trait Implementations

### `impl Clone for DiagnosticHttpReason`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for DiagnosticHttpReason`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for DiagnosticHttpReason`

<pre />

#### `deserialize`

<pre />

### `impl From<DiagnosticReadReason> for DiagnosticHttpReason`

<pre />

#### `from`

<pre />

### `impl PartialEq for DiagnosticHttpReason`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl Serialize for DiagnosticHttpReason`

<pre />

#### `serialize`

<pre />

### `impl Copy for DiagnosticHttpReason`

<pre />

### `impl Eq for DiagnosticHttpReason`

<pre />

### `impl StructuralPartialEq for DiagnosticHttpReason`

<pre />