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
| 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
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
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
- 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.
Last updated on