---
title: "SNB balance sheet"
method: GET
path: "/api/v1/snb/balance-sheet"
tags: ["Central Banks & Monetary"]
---

# SNB balance sheet

`GET /api/v1/snb/balance-sheet`

SNB monthly balance sheet - assets (gold, foreign currency investments, reserve position, repo claims, domestic money market, etc.) and liabilities (banknotes in circulation, sight deposits, SNB debt certificates, foreign currency liabilities, provisions and equity) from cube `snbbipo`.

## Response `200`

Cube snbbipo: full SNB balance sheet.

- EnvelopeSnbBalanceSheetResult
  - `data` SnbBalanceSheetResult, required — SNB balance sheet - assets and liabilities (cube snbbipo).
    - `cube_id` string, required — SNB cube identifier.
    - `latest_date` string, required — Newest observation date across all series in the cube.
    - `timeseries` SnbTimeseries[], required — Array of cube slices, one per dimension combination.
      - `header` SnbHeaderItem[], required — List of dimension-item pairs identifying this slice.
        - `dim` string, required — Dimension name (e.g. 'Currency', 'Overview').
        - `dimItem` string, required — Dimension item label identifying this slice of the cube.
      - `metadata` SnbMetadata, required
        - `key` string, required — SNB internal series key (e.g. 'EPB@SNB.devkum{M0,EUR1}').
        - `frequency` string, required — ISO 8601 duration code: P1D_L daily, P1M monthly, P1Q quarterly, P1Y annual.
        - `scale` string — Scale factor exponent (empty string means unscaled).
        - `unit` string — Unit of measure when supplied by the source (e.g. 'CHF').
      - `values` SnbObservation[], required — Chronological observations, oldest first.
        - `date` string, required — Observation date - 'YYYY-MM-DD' for daily cubes, 'YYYY-MM' for monthly cubes, 'YYYY' for annual cubes.
        - `value` number, nullable — Numeric observation value, or null when suppressed.
  - `meta` SugraMeta, required — Metadata attached to every /api/v1/* response envelope.
    - `endpoint` string, required — Requested endpoint path.
    - `data_time` string, required — ISO 8601 UTC timestamp of the source data, not of the request.
    - `response_time` string, required — ISO 8601 UTC timestamp when this response was produced.
    - `provider` string, required — API name and version.
    - `source` string, nullable — Identifier of the primary upstream source used for this response.
    - `attribution` string, nullable — Human-readable attribution mandated by an upstream source (e.g. a securities regulator or self-regulatory organization). Present only on responses whose source requires the owner and source to be clearly identified. Do not remove or alter it when using the response.
    - `fallback_used` boolean, nullable — True when the primary source failed and a fallback produced the data.
    - `fallback_chain` string[], nullable — Ordered list of sources attempted, in the order they were tried.
    - `cached` boolean, nullable — True when this response was served from the internal cache.
    - `stale` boolean, nullable — True when the cached response was returned after the upstream rate-limited or errored. Clients can use this to detect degraded data.

## Other responses

- `401` — Missing or invalid `x-api-key` header. JSON body with a stable `code` distinguishing `missing_api_key` (no header sent) from `invalid_api_key` (header sent, key not accepted); any other 401 source carries the generic `unauthorized` with its detail as `reason`. Plus `hint`. `plan` is always null on 401 - an unauthenticated request has no plan; quota exhaustion is 429, not 401.
- `429` — Daily rate limit exceeded. Check `X-RateLimit-Reset` for the next window.
- `503` — Upstream source is temporarily unavailable. Retry after a short delay.

---

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