@pixldocs/sdk
v0.1.3
Published
Official TypeScript SDK for the PixlDocs document-generation API — render invoices, certificates, tickets and images from templates + JSON.
Maintainers
Readme
@pixldocs/sdk
Official TypeScript SDK for the PixlDocs document-generation API — design a template once, then render invoices, certificates, tickets and social images from JSON. Zero dependencies, Node 18+.
npm install @pixldocs/sdkRender a document
import { PixlDocs } from '@pixldocs/sdk';
import fs from 'node:fs';
const pixldocs = new PixlDocs({ apiKey: process.env.PIXLDOCS_API_KEY! });
const doc = await pixldocs.render({
templateId: 'YOUR_TEMPLATE_ID',
format: 'pdf',
data: {
client_name: 'Northwind Labs',
invoice_number: '#INV-2026-0042',
items: [
{ desc: 'Brand identity system', qty: 1, rate: '4,200.00' },
{ desc: 'Marketing website', qty: 1, rate: '3,600.00' },
],
},
});
fs.writeFileSync('invoice.pdf', doc.bytes);
// doc.unmatchedKeys tells you if any data key didn't match the template.Data uses the template's clean keys — flat keys, nested section objects, and repeatable arrays are all accepted. Discover them:
const templates = await pixldocs.listTemplates();
const fields = await pixldocs.getTemplateFields(templates[0].id);
// fields.single_fields → [{ key: 'client_name', label: 'Client Name', type: 'text' }, …]
// fields.repeatable_sections → array shape for line items etc.Async renders + webhooks
const job = await pixldocs.renderAsync({ templateId, data });
const done = await pixldocs.waitForRender(job.id); // or use webhooks:Verify webhook deliveries (Express example — use the RAW body):
import { verifyWebhook } from '@pixldocs/sdk';
app.post('/webhooks/pixldocs', express.raw({ type: '*/*' }), async (req, res) => {
try {
const { event, data } = await verifyWebhook({
payload: req.body.toString(),
signature: req.get('X-Pixldocs-Signature')!,
eventHeader: req.get('X-Pixldocs-Event') ?? undefined,
secret: process.env.PIXLDOCS_WEBHOOK_SECRET!,
});
if (event === 'render.succeeded') console.log('finished:', data);
res.sendStatus(200);
} catch {
res.sendStatus(400);
}
});API keys
Create keys under Workspace Settings → API keys. Keys start with pxd_ and render clean, unwatermarked documents on every plan. Docs: pixldocs.com/docs.
