blog.published / blog.updated event:
The hero image is stripped fromcontent. Every generated blog carries its hero image both asfeatured_image_urland (originally) inlined as the first<img>in the body. theStacc removes that inline duplicate before sending, socontentwon’t render the hero twice andimages[]won’t list the hero URL. Render the hero fromfeatured_image_urland the body images from insidecontent(or mirror them viaimages[]).
Field length is not enforced at the API level. Postgres TEXT columns are unbounded, and theStacc-generated content stays well within the practical limits above. If you want hard caps in your database schema, the limits in the table are safe defaults.
Blog author
An explicitly configured byline is sent on first publication, republication, and Sync, including scheduled publishing:{"name": "Aditi Rao", "type": "Person"}. This identifies the author; it does not change the article’s blog format/category.
Do not use a truthiness check such as
if (body.author) to decide whether to update: that would ignore an explicit reset. Check property presence:
Website receiver checklist
- Allow the optional field in your payload validator. Continue accepting older payloads without it and
test.pingwithout article fields. - Store nullable author name and type alongside the article, or map them to an existing CMS byline field. No separate author-account creation is required for a text byline.
- Handle both
blog.publishedandblog.updatedthrough the same article upsert byblog_id. - Render the effective author name on article pages as escaped text. Use your configured default when no explicit author exists. Update listing cards too if they display authors.
- Set
BlogPosting.authorto{"@type": "Person", "name": "Aditi Rao"}or the correspondingOrganization. The visible byline and structured data must agree. Escape<when embedding serialized JSON into an HTML script element. - Refresh page/build caches after updates so author changes appear on the live page.
- Acknowledge only after the write succeeds, returning the existing CMS id and public URL. Never acknowledge an unsupported update as success.
- Verify first publish, an author-only update, clearing the author, an old payload without the field, and a repeated delivery. Preserve the existing raw-body signature verification and deduplication behavior.
jsonld; its BlogPosting author follows this selection. Do not require jsonld on every delivery: manual and Sync payloads may omit it. Your site should maintain structured data from the stored author fields on every update.
Select existing site authors
Provide an optional public HTTPS author-list endpoint to show your site’s authors in a dropdown. Selected authors include an optional stableauthor.id alongside the existing name and type; manual names keep the previous shape. See Existing website authors for setup, response limits, and receiver handling.