PDF generation API

A PDF generation API for your application’s documents.

Send business data to a reusable JayCode blueprint. Generate invoices, reports, contracts, and certificates, then receive the result through an asynchronous webhook.

From application data to a finished PDF

  1. Choose a document blueprint

    Start with a public example, register your own blueprint, or embed one in a job during development.

  2. Supply the values

    Use the job’s vars object for customer details, line items, and other data referenced by your blueprint.

  3. Handle the result

    Your app receives a webhook when the job completes or fails. A completed job includes a signed download URL.

Explore the webhook payload and lifecycle →

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.

Read the blueprint guide

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.

Inline render job · JSON
{
  "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"
  }
}

See Python client setup and submission examples →

Choose your next step

JSON to PDF →

Understand how variables, expressions, and blueprints work together.

Build your first document

Start with a blueprint. Make it yours.

Explore working examples, then connect a render job to your application.