---
title: "Where the cloud pipeline stands for the caller on the asking device; 304 while `since` is still the version"
method: GET
path: "/v1/pipeline/status"
tags: ["pipeline"]
---

# Where the cloud pipeline stands for the caller on the asking device; 304 while \`since\` is still the version

`GET /v1/pipeline/status`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/pipeline/status`
- Auth: HTTP bearer

The caller's own, on the device the device header names (without it, until the page floor moves, the caller's most recently active device, and no device's time with none; 403 for a device not theirs). `version` moves at every decision and every Generate commit; with `since` equal to it the answer is 304 and no body. `recordings` and `deciding` describe the asking device's capture: how far it is decided and what is being decided, to the clock while the device captures (the version then moves at every cell, and when it stops). `generate.pending` is what the asking device's press would generate, with the day's meetings waiting, which belong to no device. `generate.running` is the person's running Generate on any device, with its `device` and `through` (the end of the last entry it wrote); `step` and `entries` are kept with a neutral value. Never text. `mode=shadow` answers 410: the shadow is deleted.

## Query parameters

- `since` string
- `mode` 'live' | 'shadow'

## Response `200`

The status.

- object
  - `version` integer, required
  - `recordings` object[], required
    - `recording_id` string, required
    - `device_id` string, required
    - `decided_through` string, date-time, nullable, required
    - `behind_seconds` integer, required
    - `stopped_at` string, date-time, nullable, required
  - `deciding` object, nullable, required
    - `recording_id` string, required
    - `from` string, date-time, required
    - `to` string, date-time, required
  - `generate` object, required
    - `running` object, nullable, required
      - `run_id` string, required
      - `kind` 'generate' | 'regenerate' | 'propose', required
      - `day` string, required
      - `device` string, nullable, required
      - `through` string, date-time, nullable, required
      - `step` object, required
        - `name` string, required
        - `at` string, date-time, required
        - `entry_from` string, date-time
      - `entries` object[]
        - `from` string, date-time, required
        - `to` string, date-time, required
        - `cut` boolean, required
        - `written` boolean, required
    - `pending` object[], required
      - `day` string, required
      - `from` string, date-time, required
      - `to` string, date-time, required
    - `failed` object, nullable, required
      - `run_id` string, required
      - `day` string, required
      - `error_class` string, required
    - `last` object
      - `run_id` string, required
      - `entries` object[], required
        - `from` string, date-time, required
        - `to` string, date-time, required
        - `cut` boolean, required
        - `written` boolean, required

## Other responses

- `304`: Unchanged since `since`.
- `400`: The body, query or path did not validate; `errors` lists the fields.
- `401`: No bearer token, or one that does not verify or has expired.
- `403`: The token verified but may not do this: no organisation, not provisioned, wrong role, or a device problem.
- `410`: The route is gone and changes nothing; the `type` says which.

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
