Base URL: https://api.emblazo.com. Authenticate with Authorization: Bearer <your key>. Each successful render burns 1 stamp.
Render a template to a finished file. Returns the raw PDF/SVG bytes with the correct Content-Type.
curl -X POST https://api.emblazo.com/v1/render \
-H "Authorization: Bearer emz_live_..." \
-H "Content-Type: application/json" \
-d '{
"template": "invoice",
"data": {
"from": { "name": "Acme LLC", "email": "[email protected]" },
"to": { "name": "Wile E. Coyote" },
"number": "INV-1042",
"items": [{ "description": "Rocket skates", "qty": 2, "price": 49.5 }],
"tax_rate": 8.5
}
}' --output invoice.pdf
Response headers include X-Emblazo-Id and X-Emblazo-Stamps-Remaining.
Errors: 401 bad key, 402 out of stamps, 400 unknown template.
| template | output | key fields |
|---|---|---|
invoice | from, to, items[], tax_rate, number, date, notes | |
receipt | same as invoice (compact) | |
quote | same as invoice + valid_until | |
packing-slip | from, ship_to, order_number, items[] (with sku) | |
certificate | title, recipient, body, signer, date | |
event-ticket | event, date, venue, holder, section, seat, ticket_id (QR) | |
social-card | SVG | title, subtitle, badge, bg, fg, accent |
qr-label | SVG | data, caption, size, dark, light |
name-badge | SVG | name, title, organization, event, accent |
GET /v1/templates returns the live list.
Returns your stamp_balance and recent ledger entries. Same Bearer auth.
Body { "pack": "starter|pro|scale", "email": "[email protected]" } → returns a Stripe Checkout url. After payment your key is revealed on the success page.
POST /v1/free/render takes the same body, needs no key, and returns a watermarked preview (rate-limited per IP). Great for testing layouts.