Skip to Content
GuidesSystem Variables

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

VariableDescriptionExample 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 time2026-01-15 14:30:45
{{sys.year}}Current year2026
{{sys.month}}Current month (1–12)1
{{sys.month_name}}Full month nameJanuary
{{sys.day}}Day of the month (1–31)15
{{sys.weekday}}Day of the weekWednesday
{{sys.page_number}}Current page number1
{{sys.total_pages}}Total number of pages3

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 sys key, it will be ignored.
  • Page numbering is calculated during PDF generation and is not reflected in the editor preview.
Last updated on