PDF Template System Variables
System variables are built-in placeholders that are automatically available in every template. You don’t need to pass them in your API data — they are injected at generation time.
All system variables use the sys prefix to avoid conflicts with your own data.
Available variables
Section titled “Available variables”| Variable | Description | Example output |
|---|---|---|
{{sys.current_date}} | Current date (YYYY-MM-DD) | 2026-01-15 |
{{sys.current_time}} | Current time (HH:MM:SS) | 14:30:45 |
{{sys.current_datetime}} | Full date and time | 2026-01-15 14:30:45 |
{{sys.year}} | Current year | 2026 |
{{sys.month}} | Current month (1–12) | 1 |
{{sys.month_name}} | Full month name | January |
{{sys.day}} | Day of the month (1–31) | 15 |
{{sys.weekday}} | Day of the week | Wednesday |
{{sys.page_number}} | Current page number | 1 |
{{sys.total_pages}} | Total number of pages | 3 |
Date and time
Section titled “Date and time”Use these to stamp when a PDF was generated:
Generated on {{sys.current_date}} at {{sys.current_time}}You can also combine individual date components for a different format:
{{sys.month_name}} {{sys.day}}, {{sys.year}}This outputs: January 15, 2026
All date and time values use the UTC timezone.
Page numbers
Section titled “Page numbers”Page numbers are most useful in headers and footers since they repeat on every page:
Page {{sys.page_number}} of {{sys.total_pages}}This updates automatically on each page of multi-page documents.
Good to know
Section titled “Good to know”- System variables cannot be overridden by your API data — even if you pass a
syskey, it will be ignored. - Page numbering is calculated during PDF generation and is not reflected in the editor preview.