Document Context
Reference for the meta namespace - system-generated values like correlationId, documentId, and batchId that every render makes available to templates, separate from your payload.
Every render makes a small set of system-generated values available to your template under the meta namespace. These are not part of your payload. They describe the render itself: which document, which request, who asked for it.
Referencing Them
Use dot notation, the same as any payload field:
{{meta.correlationId}}A typical use is a reference line in a footer:
{
"type": "footer",
"subText": "Ref: {{meta.correlationId}}"
}Nested values work as you would expect:
{{meta.customColumns.SalesRep}}Available Fields
| Field | Description |
|---|---|
meta.correlationId | The unique identifier REFRACT assigns to this render. Appears in the audit trail, the archive, and every verification artifact for this document. |
meta.documentId | Your identifier for the document, as supplied on the request. |
meta.docType | The document type, for example Invoice. |
meta.payloadId | Your identifier for the payload used in this render. |
meta.batchId | The batch this document belongs to. Present only for batch operations. |
meta.generatedBy | The user or service principal that requested the render. |
meta.userGroup | The audience group applied to this render, which also determines redaction rules. |
meta.customColumns | An object of your own key-value pairs, passed through from the request. Reference individual keys with dot notation. |
A Fixed List, Not a Mirror of `options`
Nothing else from the request is available. The list above is fixed, not a mirror of the request's options object, so adding a new field to a request does not make it referenceable in a template.
What the Correlation ID Actually Is
Always System-Generated
meta.correlationId is always the identifier REFRACT generates. If your request supplies a correlationId, it is ignored and replaced.
This is deliberate. The generated identifier is what appears in the audit chain, the render archive, the verification report and every other record of the document. A template printing a caller-supplied value would put a reference on the page that matches nothing else in the system.
If you need your own reference on the document, pass it as options.documentId, options.payloadId, or a customColumns entry, all of which are preserved as sent.
Fields That May Be Empty
A field with no value renders as an empty string. It never prints the placeholder text or the word undefined, so a template referencing a field that was not supplied simply shows nothing in that position.
meta.batchId is empty for any document not rendered as part of a batch, which is the normal case for a single render.
Where Values Come From
meta reflects what the system actually used, not what was requested, for any field the platform normalizes or defaults. Where a value is defaulted because the request omitted it, the template sees the effective value.
Payload Structure
Complete reference for the top-level REFRACT PDF JSON payload. Covers templateId, metadata, theme, header, footer, layoutSchema, templateSettings, hierarchyRules, and all other recognized top-level keys.
Section
The primary content container in REFRACT PDF. Sections group related fields and controls, provide titled regions with optional accent pipes and icons, and support a full box model for borders, fills, and header rows.