# Models: H

> API models starting with H.

## `HealthResult`

- `ok: Literal[True]`

## `HoldOut`

- `baseline: float | None`
- `candidate: float | None`
- `delta: float | None`
- `spread: float | None` (optional)

## `Host`

- `root: str`

## `HttpAuthSpecBearer`

- `kind: Literal['bearer']`
- `secret_ref: kindgi.client.ToolSecretRef` (`secretRef` on the wire)

## `HttpAuthSpecHeader`

- `kind: Literal['header']`
- `header_name: str` (`headerName` on the wire)
- `secret_ref: kindgi.client.ToolSecretRef` (`secretRef` on the wire)

## `HttpAuthSpecUnrecognized`

A `kind` this client doesn't know yet, from a newer runtime: the object as it came, every field kept.

- `kind: str`

## `HttpHeaderSpec`

- `name: str`
- `value: str`

## `HttpRequestBodySpecInputPassthrough`

- `kind: Literal['input-passthrough']`

## `HttpRequestBodySpecJsonInput`

- `kind: Literal['json-input']`

## `HttpRequestBodySpecText`

- `kind: Literal['text']`
- `template: str`

## `HttpRequestBodySpecUnrecognized`

A `kind` this client doesn't know yet, from a newer runtime: the object as it came, every field kept.

- `kind: str`

## `HttpToolSpec`

Declarative HTTP-invocation spec. Attached to `ToolManifest.spec` under the discriminant `kind: 'http'`. The runtime `Tool.handler` is synthesized by the 'http' spec synthesizer to perform URL-template substitution, secret-ref resolution via `ToolContext.resolveSecret`, and the outbound fetch. All fields serialize cleanly to JSON.

- `kind: Literal['http']`
- `method: Union[Literal['GET', 'POST', 'PUT', 'PATCH', 'DELETE'], str]`
- `url_template: str` (`urlTemplate` on the wire)
- `headers: list[kindgi.client.HttpHeaderSpec] | None` (optional)
- `authorization: Optional[Annotated[kindgi.client.HttpAuthSpecBearer | kindgi.client.HttpAuthSpecHeader | kindgi.client.HttpAuthSpecUnrecognized, <kindgi.client._open.OpenUnion object at 0x108639d10>]]` (optional)
- `request_body: Optional[Annotated[kindgi.client.HttpRequestBodySpecJsonInput | kindgi.client.HttpRequestBodySpecInputPassthrough | kindgi.client.HttpRequestBodySpecText | kindgi.client.HttpRequestBodySpecUnrecognized, <kindgi.client._open.OpenUnion object at 0x108639fd0>]]` (`requestBody` on the wire) (optional)
- `timeout_ms: int | None` (`timeoutMs` on the wire) (optional)
- `parse_json: bool | None` (`parseJson` on the wire) (optional)
- `success_status: kindgi.client.SuccessStatus | None` (`successStatus` on the wire) (optional)
