content.soubiran.dev is a Cloudflare Worker that accepts complete Markdown snapshots and reconciles them with an existing Cloudflare AI Search instance.
Each Markdown file becomes one page item plus one item for every h2 and h3 section. The service owns the target instance’s built-in items and removes items that are no longer present in the submitted snapshot.
Every Markdown file must declare a non-empty string id in its YAML frontmatter:
---
id: getting-started
---
# Getting started
The page item and all section items derived from the file share this ID in their AI Search metadata. Files without a valid ID are rejected during asynchronous validation.
POST /v1/sync.The endpoint returns 202 Accepted once the snapshot is durably staged and queued. This does not mean that validation or AI Search indexing has finished. There is intentionally no job-status endpoint; use structured Worker logs and the Queue dead-letter queue for operations.