Get a published page by slug
Returns the published surface behind the slug -- its blocks or canvas elements, site theme, and the live data for any embedded databases and views -- for rendering the public page site. No authentication; the slug is the only credential. A slug that does not exist, or one whose page has been unpublished, returns the same opaque not-found.
curl -X GET "https://example.com/v1/public/pages/string"{ "data": { "type": "published_page", "meta": { "title": "string", "icon": "string", "coverImageUrl": "string", "showIcon": true, "workspaceName": "string", "seoIndexed": true }, "workspaceId": "string", "surfaceId": "string", "surfaceKind": "string", "manifest": {}, "theme": { "background": { "type": "none", "color": "string", "gradient": "string", "gradientFrom": "string", "gradientTo": "string", "gradientAngle": 0, "imageUrl": "string", "blur": 0 }, "accent": "string", "radius": 0, "pageWidth": "default", "colorScheme": "auto" }, "blocks": [ { "id": "string", "workspaceId": "string", "surfaceId": "string", "parentBlockId": "string", "kind": "paragraph", "orderKey": "string", "manifest": {}, "layout": { "x": 0, "y": 0, "w": 0, "h": 0, "tab": "string" }, "plainText": "string", "createdAt": "string", "updatedAt": "string" } ], "hasMore": true, "canvasElements": [ {} ], "databaseData": [ { "databaseId": "string", "detail": { "id": "string", "workspaceId": "string", "itemId": "string", "parentItemId": "string", "key": "string", "label": "string", "description": "string", "icon": "string", "order": 0, "settings": {}, "recordLayout": { "version": 2, "pageWidth": "default", "propertyColumns": 1, "propertyDensity": "comfortable", "propertyOrder": [ "string" ], "hiddenFieldKeys": [ "string" ], "sections": [ { "id": "string", "label": "string", "fieldKeys": [ "string" ] } ], "contentPosition": "before_properties", "showComments": true, "showActivity": true, "pinnedFieldKeys": [ "string" ], "autoAddNewFields": true, "collapsedSectionIds": [ "string" ], "relationViews": { "property1": { "defaultViewId": "string", "position": "properties", "collapsed": true }, "property2": { "defaultViewId": "string", "position": "properties", "collapsed": true } }, "showReferences": true }, "archived": true, "fields": [ { "id": "string", "workspaceId": "string", "databaseId": "string", "key": "string", "label": "string", "kind": "text", "required": true, "defaultValue": "string", "options": [ { "id": "string", "key": "string", "name": "string", "color": "string", "order": 0 } ], "settings": {}, "order": 0, "createdAt": "string", "updatedAt": "string" } ], "views": [ { "id": "string", "workspaceId": "string", "databaseId": "string", "key": "string", "label": "string", "kind": "table", "placement": "database", "manifest": {}, "relationFieldId": "string", "ownerUserId": "string", "scope": "shared", "locked": true, "definitionVersion": 0, "createdAt": "string", "updatedAt": "string" } ], "createdAt": "string", "updatedAt": "string" }, "records": [ { "id": "1d8a44e0-7c93-4f21-b60a-3e8d2f5a9c14", "workspaceId": "4b81aa0c-6d2f-4b19-9f0e-1a7c3d5e8b02", "databaseId": "9f2c1e7a-3b58-4d0c-8e27-6a1f9d4b3c85", "contentSurfaceId": "string", "title": "Ship the desktop app", "data": { "status": "in_progress", "due": "2026-08-01" }, "relations": {}, "computed": {}, "system": {}, "related": {}, "archived": false, "externalId": "string", "createdByUserId": "string", "updatedByUserId": "string", "createdAt": "2026-07-10T08:00:00.000Z", "updatedAt": "2026-07-14T11:26:02.000Z" } ] } ], "events": {}, "linkedItems": [ { "id": "0b6f2e6a-9f2c-4e7a-8d31-2c1e7a9f2c4e", "workspaceId": "4b81aa0c-6d2f-4b19-9f0e-1a7c3d5e8b02", "parentItemId": "d3a7f1b8-5c04-4e62-9a11-7b2e6c0d4f39", "kind": "database", "targetId": "9f2c1e7a-3b58-4d0c-8e27-6a1f9d4b3c85", "title": "Launch tasks", "icon": "rocket", "color": "#2f6f4f", "order": 0, "archived": false, "accessMode": "open", "metadata": {}, "createdAt": "2026-07-01T09:12:44.000Z", "updatedAt": "2026-07-14T16:03:10.000Z" } ], "linkedSurfaceBlocks": [ { "surfaceId": "string", "state": {} } ], "surfaceDetails": [ { "surfaceId": "string", "detail": {} } ], "aggregates": [ { "databaseId": "string", "fn": "string", "fieldKey": "string", "viewId": "string", "value": 0, "count": 0 } ], "members": [ { "id": "string", "workspaceId": "string", "userId": "string", "effectiveRoleId": "string", "clerkUserId": "string", "role": "owner", "primaryEmail": "string", "displayName": "string", "avatarUrl": "string", "createdAt": "string", "updatedAt": "string" } ] }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Get the resolved embed data for a surface
Resolves the databases, views, and pages embedded in the surface's blocks and canvas elements and returns their live data, so a guest who can read the surface sees its cards without needing direct access to the embedded content. Requires `surfaces:read` on the surface and a signed-in session.
List the data sources in a workspace
Returns the workspace's data sources, newest first, filtered to the ones the caller can see through their workspace item. Requires the `data_sources:read` permission. Each entry carries the sync status, refresh interval, and target database.