| icon | No | An emoji that stands for the page, e.g. ๐. The tab and Home Screen show icon_image, not this. | |
| type | No | Default html. | |
| state | No | Who may read and write which paths of the page's data, by the minimum role: viewer (can open), contributor (a data grant, separate from editing the page), owner. Absent means: everyone who can open reads, contributors and the owner write. Example poll: [{path:'votes',read:'viewer',write:'owner'},{path:'votes/{self}',write:'viewer'}]. | |
| title | Yes | A short name, the way a document or app is named. | |
| listed | No | Show it in listings (the company library, public discovery) rather than link-only. Default true for a company audience (audience org with organization_id), false otherwise. | |
| content | Yes | The full document. For html: a complete page in a sandboxed frame. Styles, scripts and images are inline, except libraries from cdnjs.cloudflare.com, cdn.jsdelivr.net/npm/, cdn.tailwindcss.com, code.jquery.com or unpkg.com and typefaces from Google Fonts; pin each library to an exact version in its URL (chart.js@4.4.1, never @latest), so the page renders the same for as long as it is published. Nothing else loads, and fetch reaches nowhere. For markdown: the Markdown source. | |
| audience | No | Who can open the link. owner: only you. users: the people in share_with. public: anyone with the link. | |
| icon_image | No | The page's own icon: the favicon in the browser tab and the icon a phone puts on its Home Screen. A data URL: an SVG (data:image/svg+xml,<svg โฆ>) or a base64 PNG, JPEG, WebP, or GIF, at most 512 KB, cropped to a square. An SVG must be self-contained (no links to other files, fonts, or stylesheets); draw shapes rather than text. Without one the page shows the Bisque icon. | |
| share_with | No | People to grant access by email (or uid), with a role. [{ "email": "ana@acme.com", "role": "viewer" }]. viewer opens it; editor can also publish new content. Implies audience "users" when audience is omitted. | |
| description | No | One sentence saying what the page is; shown in listings. | |
| capabilities | No | What the page may do at run time. state.read and state.write give it JSON documents at window.bisque.state (get, patch, list, subscribe); viewer.identity tells it who is viewing (window.bisque.viewer); events.emit lets it record typed Events. Omit for a page that only shows things. | |