Dashboard
API keys, templates, billing, and the sandbox — what each tab in the SnapHTML console does.
The dashboard is where you manage keys and templates, watch usage, and try requests before wiring them into your app. Four tabs, no other surface to learn.
API keys
Create the keys your servers authenticate with. Give each one a name that says where it runs — production-worker, staging, invoice-job — so a key you later need to revoke is easy to identify.
- The full key is shown once, right after creation. Copy it into your secret store then; there’s no way to read it back.
- Keys are prefixed
snhtml_, which makes them easy to spot in a secret scanner. - Up to 10 keys per account.
- Deleting a key takes effect immediately: in-flight requests using it start failing with
401.
Every key carries the same permissions and draws on the same monthly quota. Use several so you can rotate or revoke one environment without touching the others.
Templates
Write, edit, preview, and delete saved HTML templates, and copy the template ID your API calls need.
Preview renders the HTML in your browser, so you can iterate on layout without spending renders. Render sends it through the API and produces the real file — that one counts. See Templates for the placeholder syntax and the render endpoint.
Billing
Shows your current plan, the monthly render allowance, and how the current month is going — successful and failed attempts, broken down by month.
Upgrades and cancellations run through Polar. A cancelled or expired subscription drops back to the free allowance at the end of the period rather than blocking your account. See Plans and limits.
Sandbox
Run a real render from the browser: paste HTML, point at a URL, or pick a template, set the format and options, and download the result.
You need an API key first — the sandbox asks for one and sends it exactly as your server would, so what you see is what the API returns. Sandbox renders count toward your monthly usage.
It’s the fastest way to answer “why does my PDF look like that”: change one option, render again, compare. Once it looks right, copy the settings into your request body.