SnozeDevelopers
API referenceOs widgets

Read the caller's native widget snapshot

Returns everything the caller's home-screen widgets render in one payload: shortcut counts, the Today digest (Needs approval, Automation failures, Waiting on you, Recent activity — at most five rows each), the newest unread inbox rows, the configured database metric with its chart points, the pinned page, and every configured chart evaluated by the dashboard engine and reduced to render-ready rows. Computed from the caller's stored widget settings, so a widget extension needs no other call. Requires `workspace:read`; sections the caller cannot see (automation failures without `automations:read`) are omitted rather than refused, a metric whose database was deleted degrades to null, and a chart whose dashboard or database is gone or unreadable stays in the list with `empty` set, so the other widgets still refresh.

GET
/v1/workspaces/{workspaceId}/widgets/snapshot

Authorization

apiKey
headerAuthorizationBearer <snoze_sk_…>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

Path Parameters

workspaceId*string

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X GET 'https://api.snoze.dev/v1/workspaces/string/widgets/snapshot'
Example Response
{  "data": {    "updatedAt": "string",    "workspaceId": "string",    "workspaceName": "string",    "shortcuts": [      "home"    ],    "shortcutCounts": {      "property1": 0,      "property2": 0    },    "inboxUnread": 0,    "today": [      {        "id": "assigned",        "label": "string",        "entries": [          {            "id": "string",            "section": "assigned",            "title": "string",            "detail": "string",            "timestamp": 0,            "urgent": true,            "target": {              "kind": "item",              "itemId": "string"            },            "completable": {              "databaseId": "string",              "recordId": "string",              "fieldKey": "string",              "doneValue": "string"            }          }        ]      }    ],    "metric": {      "databaseId": "string",      "databaseLabel": "string",      "label": "string",      "display": "number",      "chartColor": "string",      "value": "string",      "valueCompact": "string",      "points": [        {          "label": "string",          "value": 0        }      ]    },    "page": {      "itemId": "string",      "title": "string",      "kind": "string",      "excerpt": "string",      "updatedAt": "string"    },    "inbox": [      {        "id": "string",        "title": "string",        "detail": "string",        "actor": "string",        "timestamp": 0,        "target": {          "kind": "item",          "itemId": "string"        }      }    ],    "charts": [      {        "id": "string",        "title": "string",        "subtitle": "string",        "visual": "kpi",        "itemId": "string",        "databaseId": "string",        "empty": "string",        "value": "string",        "valueCompact": "string",        "status": "warning",        "delta": {          "text": "string",          "trend": "up",          "tone": "good"        },        "comparison": "string",        "stacked": true,        "series": [          {            "key": "string",            "label": "string",            "color": "chart-1",            "mark": "column"          }        ],        "rows": [          {            "key": "string",            "label": "string",            "color": "chart-1",            "values": [              0            ],            "displays": [              "string"            ],            "note": "string",            "start": 0,            "end": 0,            "step": "total"          }        ],        "scale": {          "min": 0,          "max": 0,          "label": "string"        },        "trend": [          0        ],        "meter": {          "ratio": 0,          "target": "string",          "percent": "string",          "health": "normal",          "label": "string"        },        "grid": {          "columns": 0,          "rows": 0,          "cells": [            {              "column": 0,              "row": 0,              "level": 0            }          ]        }      }    ]  }}