---
title: "S08 bindings"
description: "Data-binding map of Diagnostic · Diagnostic · intro: every field to its source, and what each required state shows."
source: "design/hifi/S08/bindings.md"
---

> Part of [Brand and design](/design/llms.txt). Every page: [llms.txt](/llms.txt).

# Data-binding map: S08 Diagnostic · Diagnostic · intro

> Generated by `botgumi-design index` from `../../screens.json`. Edit that file, not this page.

Every field [S08](/design/hifi/s08/index.md) shows and where it comes from.

| Field | Source (endpoint or local state) | Format | Fallback |
|---|---|---|---|
| intro · language tag | `local onboarding.practice_language` · `onboarding.practice_language` → `session.language` | `diag.intro.lang` with endonym | — |
| intro · language tag | `api GET /sessions/{session_id} language` |  |  |
| `POST /v1/onboarding → diagnostic_session` | `call POST /onboarding` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `onboarding.practice_language → session.language` | `local onboarding.practice_language` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `onboarding.practice_language → session.language` | `api GET /sessions/{session_id} language` |  |  |

## Binds on the boards

The `data-bind` values across every state.

- `POST /v1/onboarding → diagnostic_session`
- `onboarding.practice_language → session.language`

## States

- Loading: From [states.md](/design/states/index.md) (Diagnostic intro): skeleton until `/onboarding` returns
- Empty: From [states.md](/design/states/index.md) (Diagnostic intro): n/a
- Error (retryable / not): From [states.md](/design/states/index.md) (Diagnostic intro): Retry · fatal: generic error
- Offline: From [states.md](/design/states/index.md) (Diagnostic intro): "Connect to start" (the diagnostic is server-assessed)
