Skip to main content
Pass ?format=portable-text (or Accept: application/portable-text+json) to Get page content or Get theme settings to receive the content as a Portable Text array. When both are present, the query parameter wins. This format is designed for multi-channel rendering (web, native, email, PDF) and AI consumption — rich-text fields are converted from opaque HTML strings into structured blocks that any official PT renderer can render.

Envelope difference

The items field becomes content, and the response carries Content-Type: application/portable-text+json. All other envelope fields are unchanged.

Mapping rules

Each Weaverse item becomes a custom Portable Text block: Field types other than richtext (text, image URL, color, range, switch, product/collection refs, etc.) pass through unchanged.

Example

Note how the text-section’s content field — originally an HTML string — is now a queryable array of PT blocks with explicit marks and link annotations.

Rendering with @portabletext/react

Official renderers exist for React, Vue, Svelte, Astro, React Native and more.
Last modified on October 20, 2026