---
title: "Inspect a channel's rollout state (operator)"
method: GET
path: "/link/mablnet/releases/{version}/rollout"
tags: ["LinkMablnet"]
---

# Inspect a channel's rollout state (operator)

`GET /link/mablnet/releases/{version}/rollout`

Returns the current rollout state for the channel the given `version` belongs to. Rollout state is keyed by channel, so `channel` is a required query parameter that disambiguates which channel's state to read. Operator-only.

## Path parameters

- `version` string, required

## Query parameters

- `channel` string, required

## Response `200`

Current rollout state for the channel.

- MablnetRolloutState — Per-channel staged-rollout state owned by the api (one entity per channel). Unlike the manifest/keystore this is api-owned data, not a signed document, so normal date-time handling applies. The manifest endpoint reads this to decide which version a given Host receives — see design doc § Manifest resolution.
  - `id` string — Datastore key for this entity — equals `channel` (one entity per channel). Server-set.
  - `channel` string, required — Release channel this state governs.
  - `current_version` string, required — The version being rolled out to (Hosts inside the rolled-out percentage receive this).
  - `fallback_version` string — What Hosts not yet inside the rollout receive. Unset once a rollout reaches 100% and the current version is fully rolled out.
  - `rollout_schedule` MablnetRolloutStage[], required — Time-based stages; the rolled-out percentage is the max stage whose `since_ms` has elapsed since `published_at`.
    - `percent` integer, required — Target rolled-out percentage at this stage (0–100).
    - `since_ms` integer, required — Milliseconds after `published_at` at which this stage becomes active.
  - `force_percent` integer — When set, overrides the time-based schedule with an explicit rolled-out percentage (operator force-advance). Cleared by resuming the schedule.
  - `published_at` string, date-time — When the current rollout started; the schedule's `since_ms` offsets are relative to this.
  - `paused` boolean, required — When true, the manifest endpoint stops advancing the rollout — Hosts stay on whichever version they have.

## Other responses

- `401` — User not authenticated
- `403` — User not authorized
- `404` — No rollout state exists for the requested channel.
- `default` — Unknown error

---

[API](https://skmtc.net/mabl/apis/mabl-api.md) · [All operations](https://skmtc.net/mabl/apis/mabl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mabl/mabl-api/revisions/d0fc0114da66/schema)
