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

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

# Data-binding map: S33 Global · Generic error

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

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

| Field | Source (endpoint or local state) | Format | Fallback |
|---|---|---|---|
| generic error | `status GET /home 5XX internal` · **pending CCR-14** · `error.code`, `error.message` (Accept-Language), **CCR-6** `request_id` | — | — |
| `error.message (Accept-Language)` | `status GET /home 5XX internal` · **pending CCR-14** · From the board's `data-bind`; no row in data-binding.md yet. |  |  |

## Contract change requests

Fields above that no endpoint sends yet. Until each lands, the screen falls back as noted.

| Change | Request | Fallback until it lands |
|---|---|---|
| CCR-14 | Document the error responses on every operation the screens read: `4XX` and `5XX` → `#/components/responses/Error` (`ErrorEnvelope`), and `402` `entitlement_required` on the hard-paywalled reads the API description lists (`/home`, `/articles*`, `/topics`, `/sessions`, `/growth`, `/achievements`, `/weekly-quests`, `/plan`). Today only a few operations list any error, `GET /home` none. | The client decodes any non-2xx body as `ErrorEnvelope`, as the API description says. |

## Binds on the boards

The `data-bind` values across every state.

- `error.code`
- `error.message (Accept-Language)`

## States

- Loading: From [states.md](/design/states/index.md) (Global sheets): —
- Empty: From [states.md](/design/states/index.md) (Global sheets): —
- Error (retryable / not): From [states.md](/design/states/index.md) (Global sheets): — · fatal: [error--generic](/design/gallery/global/error--generic.html), [force-update--default](/design/gallery/global/force-update--default.html)
- Offline: From [states.md](/design/states/index.md) (Global sheets): [offline--toast](/design/gallery/global/offline--toast.html)
