From application data to a finished PDF
Choose a document blueprint
Start with a public example, register your own blueprint, or embed one in a job during development.
Supply the values
Use the job’s
varsobject for customer details, line items, and other data referenced by your blueprint.Handle the result
Your app receives a webhook when the job completes or fails. A completed job includes a signed download URL.
What is JayCode?
JayCode is a document generation language expressed as JSON. A blueprint defines page layout, content, styles, and resources. Jay expressions add computed values and document logic; a job supplies the data for each render.
Blueprint
The reusable document definition: headings, tables, headers, footers, and styling.
Job
A reference to a saved blueprint, or an inline definition, plus variables and optional resources.
Jay expressions
Values such as {{ customerName }} connect your data to the content.
Try a small, self-contained job
This inline blueprint renders a heading and a personalized paragraph. Use it as a starting point when submitting a job through the client.
{
"lang": "JayCode",
"type": "job",
"outputFileName": "receipt-001.pdf",
"blueprint": {
"lang": "JayCode",
"type": "blueprint",
"body": [
{
"type": "heading",
"level": 2,
"value": "Receipt"
},
{
"type": "paragraph",
"value": "{{ 'Thank you, ' + customerName + '!' }}"
}
]
},
"vars": {
"customerName": "Jane Smith"
}
}Choose your next step
Invoice generation →
Inspect the Prism invoice payload and a rendered sample.
JSON to PDF →
Understand how variables, expressions, and blueprints work together.
Moving from Puppeteer →
Compare approaches and scope a template migration.