Troubleshooting
The short list of things that actually go wrong, and how to fix them.
The blog doesn't appear on my site
Check the key and path The SDK container needs
data-key="pk_…"(the public key from your site page) and thedata-base-pathmust match the blog's base path —/blogunless you changed it.Check verification Delivery serves verified sites only. An unverified site returns 404 for every delivery URL. See site verification.
Check the browser console A failing SDK fetch logs the HTTP status. 404 means key/path/verification; anything else is worth reporting.
Proxy returns 404 or an error page
- Test the upstream directly:
curl https://api.dailysmith.com/v1/render/pk_YOUR_KEY/blog— if that works, the problem is the rewrite rule; compare it against the templates (the base path must be forwarded as-is). "no blog is mounted at this path"— the path your proxy forwards doesn't start with any blog's base path. Check for a stripped or doubled prefix.- nginx specifically: keep
proxy_set_header Host api.dailysmith.comandproxy_ssl_server_name on, or TLS to the API will fail.
Verification keeps failing
Covered in detail on site verification — it's almost always DNS propagation, a redirecting well-known file, or a token copied with extra characters.
A post looks unstyled on my site
Rich components ship their stylesheet with the content. The SDK loads it
once as a cacheable <link id="baas-md2-css"> (plus a small inline
<style id="baas-theme-css"> for your theme palette, if you have one);
SSR/full pages inline everything instead. If components render as plain
text lists/paragraphs:
- SDK: confirm nothing on your page removes
<link>/<style>elements injected into<head>after load, and that your Content-Security-Policy allows the API origin instyle-src(see the CSP block, plus'unsafe-inline'for the theme) — a blocked stylesheet fails silently in the console, not visibly on the page. - If colors look wrong rather than missing, review your theme — or remove it to fall back to the default palette.
Generation is stuck or failed
- Queued/generating for more than ~10 minutes is not normal — the post page auto-refreshes; if it never resolves, retry the generation.
- Failed posts show the failing step and error in the generation trace. Transient model errors succeed on retry; a quota error means the month's credits are spent (plans & quotas).
My schedule didn't run
- Check it isn't paused — schedules pause themselves when the quota runs out, and stay paused until you resume them.
- The next-run time on the blog page is authoritative; times are computed in the schedule's timezone.