Skip to main content
Every field theStacc sends in a blog.published / blog.updated event:
The hero image is stripped from content. Every generated blog carries its hero image both as featured_image_url and (originally) inlined as the first <img> in the body. theStacc removes that inline duplicate before sending, so content won’t render the hero twice and images[] won’t list the hero URL. Render the hero from featured_image_url and the body images from inside content (or mirror them via images[]).
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:
The example shows only the author-related fields. The normal blog payload also includes the article fields documented above. For a personal byline, send {"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

  1. Allow the optional field in your payload validator. Continue accepting older payloads without it and test.ping without article fields.
  2. 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.
  3. Handle both blog.published and blog.updated through the same article upsert by blog_id.
  4. 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.
  5. Set BlogPosting.author to {"@type": "Person", "name": "Aditi Rao"} or the corresponding Organization. The visible byline and structured data must agree. Escape < when embedding serialized JSON into an HTML script element.
  6. Refresh page/build caches after updates so author changes appear on the live page.
  7. Acknowledge only after the write succeeds, returning the existing CMS id and public URL. Never acknowledge an unsupported update as success.
  8. 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.
The scheduled publishing payload includes generated 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 stable author.id alongside the existing name and type; manual names keep the previous shape. See Existing website authors for setup, response limits, and receiver handling.