> ## Documentation Index
> Fetch the complete documentation index at: https://mifr.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List providers

> Live Macs at the gateway trust floor.

This endpoint lists live Macs at the floor, with `id`, `model_ids`, `trust`, `busy`, `waiting`, and `serial` when the granted rung is `hardware`. Completions and this list send the full Apple-attested serial at `hardware`, so do not enroll a Mac whose serial must stay private.

<ParamField header="Authorization" type="string" required>
  Bearer product key. Format: `Bearer sk-mifr_…`.
</ParamField>

## Response

<ResponseField name="id" type="string">
  Provider key id. Pass this (or a unique prefix of at least 8 characters) as `provider` on a completion to pin that Mac.
</ResponseField>

<ResponseField name="model_ids" type="string[]">
  Catalog aliases this Mac currently advertises.
</ResponseField>

<ResponseField name="trust" type="string">
  Granted rung (`hardware` / `transparent` / `process`). The gateway only lists Macs at or above its floor.
</ResponseField>

<ResponseField name="busy" type="boolean">
  Whether the Mac is in a sealed session. A provider still serves one session at a time.
</ResponseField>

<ResponseField name="waiting" type="number">
  Queue depth in front of this Mac.
</ResponseField>

<ResponseField name="serial" type="string">
  Full Apple-attested serial. Present at `hardware`.
</ResponseField>

If the directory cannot list, the gateway returns 502 `directory_unavailable` with `mifr_action: wait`.

<RequestExample>
  ```bash cURL theme={null}
  curl https://mifr-gateway-production.up.railway.app/v1/providers \
    -H "Authorization: Bearer $MIFR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "id": "prov_…",
      "model_ids": ["qwen3-4b"],
      "trust": "hardware",
      "busy": false,
      "waiting": 0,
      "serial": "C02…"
    }
  ]
  ```
</ResponseExample>
