---
title: "Compute all widgets over one snapshot (scope: dashboards:read)"
method: POST
path: "/dashboards/{id}/render"
---

# Compute all widgets over one snapshot (scope: dashboards:read)

`POST /dashboards/{id}/render`

## Request

- Base URL: `https://api.lochless.io/api/v1`
- URL: `https://api.lochless.io/api/v1/dashboards/{id}/render`
- Auth: HTTP bearer

Long renders keep the connection warm: the 200 body may begin with whitespace keepalives (newlines, one every ~20s) before the single JSON document — insignificant leading whitespace per RFC 8259, skipped by every standard JSON parser, so res.json()/jq work unchanged. A failure after the response has started arrives as the standard error envelope ({ error: { code, message, request_id } }) in that body; check for an `error` key, not only the HTTP status.

## Request body

- object
  - `asOf` string, date

## Response `200`

{ widgetResults, layouts, status, ... }

## Other responses

- `404`

---

[API](https://skmtc.dev/lochless/apis/synoptic-customer-api.md) · [All operations](https://skmtc.dev/lochless/apis/synoptic-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lochless/apis/synoptic-customer-api/revisions/e6dee3956611?raw)
