---
title: "The model ids, the three prompts, the judgment's tunables and the published code vocabularies"
method: GET
path: "/v1/config/bundle"
tags: ["config"]
---

# The model ids, the three prompts, the judgment's tunables and the published code vocabularies

`GET /v1/config/bundle`

## 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/config/bundle`
- Auth: HTTP bearer

One document for every device of every firm, named by a 12-character fingerprint over its own contents. The daemon fetches it at start and hourly and caches it beside its data; an unchanged `version` means an unchanged configuration, all four parts of it. Nothing here is tenant-specific: which code sets a firm uses, and any code it added, are the firm's lists and arrive on `/v1/code-sets`. COMPAT(#180): a call whose `X-Six-Minute-Version` is below the first stream-only release is served the narrative prompt that version shipped with, under that document's own `version`.

## Response `200`

The bundle. `version` changes exactly when the configuration does.

- object
  - `version` string, required
  - `generated_at` string, date-time, required
  - `models` object, required
    - `label` string, required
    - `write` string, required
    - `decisions` string
    - `reask` string
  - `judge` object, required
    - `shortlistSize` number, required
    - `cardOpeningChars` number, required
    - `cardChangedChars` number, required
    - `chromeMinSnapshots` number, required
    - `cardMaxAnchors` number, required
    - `cardTypedChars` number, required
    - `cardClickedChars` number, required
    - `glanceSeconds` number, required
    - `sampleIntervalSeconds` number, required
    - `absentAfterMinutes` number, required
    - `maxNarrativeChars` number, required
    - `judgeSamples` number, required
    - `matterReaskBelow` number
    - `joinMore` number
    - `joinBalanced` number
    - `joinFewer` number
    - `joinDefault` 'more' | 'balanced' | 'fewer'
    - `summaryMaxChars` integer
    - `summaryStatedChars` integer
    - `shortlistDepth` integer
    - `windowMinutes` number, required
    - `edgeSearchMinutes` number, required
    - `renderBudgetChars` number, required
    - `activitySamples` number, required
  - `prompts` object, required
    - `label` string, required
    - `activity` string, required
    - `narrative` string, required
    - `summary` object
      - `guide` string, required
      - `work` string, required
      - `verb_work` string, required
      - `thing_free` string, required
      - `tool_object` string, required
      - `speech` string, required
      - `work_read` string, required
      - `work_plan` string, required
    - `matter` string
    - `matter_prior` string
    - `matter_own` string
    - `shortlist_judge` string
    - `block_boundary` string
    - `block_label` string
    - `join` string
    - `narrative_blocks` string
  - `vocabularies` object, required
    - `activity_types` object[], required
      - `key` string, required
      - `title` string, required
      - `description` string, required
      - `active` boolean
      - `position` integer
      - `source` 'published' | 'firm'

## Other responses

- `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.

---

[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)
