Technical section

Docs

The publishing service still exists underneath the editorial site. This section keeps API and deployment details away from the reader-facing homepage.

What it is

PageDrop-compatible publishing, now used for content

create.brillyance began as a private HTML page publisher. The same mechanism now powers discoverable editorial pieces: a generated HTML article is stored privately, then served through a stable /s/:idOrSlug route with metadata, analytics, and optional indexability.

The homepage is intentionally separate. It curates published work and links to live pages, while this docs route explains how the publishing engine works.

API

Endpoints

Base path: /api/v1/sites. All write operations require Authorization: Bearer PUBLISH_TOKEN.

VerbPathInputResult
POST/api/v1/sites{ html, slug?, password?, ttl?, discoverable?, title?, description? }Creates a page and returns the public URL plus delete token.
PUT/api/v1/sites/:siteIdX-Delete-Token plus replacement HTML and optional password.Updates the existing page without changing its public URL.
POST/api/v1/sites/:siteId/assetsX-Delete-Token plus { assets: [{ path, contentType, base64 }] }.Uploads page-owned assets and returns public app-served URLs.
DELETE/api/v1/sites/:siteIdX-Delete-TokenDeletes the stored HTML and metadata.
GET/api/v1/sites/:siteIdNo body.Returns public metadata, never the raw HTML or secrets.
GET/s/:idOrSlugPublic article/page route.Renders the HTML, with password gate when configured.

Discovery

SEO controls

Published pages default to private sharing behavior. Setdiscoverable when a page should receiveindex, follow, canonical tags, Open Graph tags, and a sitemap entry.

  • Use title and description for article previews and snippets.
  • Keep /embed/:id out of the index; canonical URLs point back to /s/:id.
  • The public homepage and /docs are crawlable static pages.

Access

TTL and passwords

Omit ttl for permanent pages, use1h through 365d for expiry, or useonce for a one-time view. Password-protected pages are served only after the visitor unlocks the route with the configured password.

HTML is stored in private Vercel Blob storage and served through the Next.js route handler, so the raw blob URL is not exposed to visitors. Page-owned assets are stored privately under the site ID and served publicly through/assets/:siteId/....

Deploy

Environment and production setup

vercel link
vercel env add PUBLISH_TOKEN
vercel env add SITE_SECRET
vercel env add CRON_SECRET
# Add Vercel Blob and Upstash Redis integrations.
vercel --prod

Required services are Vercel Blob for HTML and page-owned assets, plus Upstash Redis for metadata, slugs, TTL, and discoverable sitemap IDs.