11 × 8.5 in
Certificates
Award and recognition certificate
A landscape US Letter certificate for awards and volunteer or staff recognition. Serif typography on a cream sheet, a Markdown citation, two signature lines and a gold seal drawn in inline SVG with a generated scalloped edge and the organisation name set on a circle.
Opens Dynamic Document API with this template preloaded in a free workspace.
Template language features
- Loops
- Conditionals
- Filters
- Markdown
- Date formatting
Filters such as format_currency and qrcode are described in the template language reference.
Variables
Derived from the sample data: 5 top-level fields, 19 paths in total. Send the same shape as data.
| Path | Type | Example |
|---|---|---|
| organisation | object | |
| organisation.name | string | "Glasshouse Arts Collective" |
| organisation.location | string | "Leith, Edinburgh" |
| organisation.website | string | "glasshousearts.example.org" |
| award | object | |
| award.title | string | "Community Impact Award" |
| award.programme | string | "Annual Recognition Awards" |
| award.year | number | 2026 |
| award.presented_on | date | "2026-09-19" |
| award.presented_at | string | "the Autumn Gathering, Leith" |
| award.reference | string | "GAC-AWD-2026-07" |
| award.locale | string | "en-GB" |
| recipient | object | |
| recipient.name | string | "Ayodele Brennan-Hartley" |
| recipient.role | string | "Volunteer lead, open print workshops" |
| citation | string | "For four years of leading the **Saturday open …" |
| signatories | array<object> · 2 | |
| signatories[].name | string | "Fionnuala Strachan" |
| signatories[].title | string | "Chair of Trustees" |
Sample data
Fictional records used for previews. Replace them with your own data when you call the API.
{
"organisation": {
"name": "Glasshouse Arts Collective",
"location": "Leith, Edinburgh",
"website": "glasshousearts.example.org"
},
"award": {
"title": "Community Impact Award",
"programme": "Annual Recognition Awards",
"year": 2026,
"presented_on": "2026-09-19",
"presented_at": "the Autumn Gathering, Leith",
"reference": "GAC-AWD-2026-07",
"locale": "en-GB"
},
"recipient": {
"name": "Ayodele Brennan-Hartley",
"role": "Volunteer lead, open print workshops"
},
"citation": "For four years of leading the **Saturday open print workshops**, welcoming more than six hundred first-time printmakers, and for bringing neighbours from across Leith together to create the collective's first community-made exhibition, *Pressed Together*.",
"signatories": [
{ "name": "Fionnuala Strachan", "title": "Chair of Trustees" },
{ "name": "Idris Kemal-Rowe", "title": "Artistic Director" }
]
}Source
The body markup with Jinja, the stylesheet placed in <head>.
{#- Award certificate on one US Letter landscape sheet. The seal is inline SVG: its scalloped edge is
generated with a loop (24 circles rotated around the centre) and the organisation name runs
along a circular path. The citation is Markdown, so emphasis and titles can be marked up. -#}
{%- set locale = award.locale | default("en-GB") -%}
{%- set scallops = 24 -%}
<div class="sheet">
<div class="frame-outer"></div>
<div class="frame-inner"></div>
{% for corner in ["tl", "tr", "bl", "br"] %}<span class="corner corner-{{ corner }}"></span>{% endfor %}
<main class="layout">
<section class="text">
<p class="programme">{{ award.programme }} {{ award.year }}</p>
<h1 class="award-title">{{ award.title }}</h1>
<div class="rule"></div>
<p class="presented-to">Presented to</p>
<p class="recipient">{{ recipient.name }}</p>
{% if recipient.role %}<p class="recipient-role">{{ recipient.role }}</p>{% endif %}
<div class="citation">{{ citation | markdown }}</div>
<p class="occasion">
Presented on {{ award.presented_on | format_date("full", locale) }}{% if award.presented_at %} at {{ award.presented_at }}{% endif %}
</p>
<div class="signatures">
{% for person in signatories %}
<div class="signature">
<div class="sig-line"></div>
<p class="sig-name">{{ person.name }}</p>
<p class="sig-title">{{ person.title }}, {{ organisation.name }}</p>
</div>
{% endfor %}
</div>
</section>
<aside class="seal-column">
<svg class="seal" viewBox="0 0 200 250" role="img" aria-label="Seal of {{ organisation.name }}, {{ award.year }}">
<defs>
<path id="seal-arc" d="M100 100m-57 0a57 57 0 1 1 114 0a57 57 0 1 1-114 0"/>
</defs>
<path d="M80 150L50 240l20-12 16 20 30-92z" fill="#6d1f2f"/>
<path d="M120 150l30 90-20-12-16 20-30-92z" fill="#4f1421"/>
<circle cx="100" cy="100" r="80" fill="#b48a3c"/>
{% for i in range(scallops) %}
<circle cx="100" cy="21" r="8.5" fill="#b48a3c" transform="rotate({{ (360 / scallops * i) | round(2) }} 100 100)"/>
{% endfor %}
<circle cx="100" cy="100" r="76" fill="none" stroke="#e3c98f" stroke-width="1"/>
<circle cx="100" cy="100" r="70" fill="#6d1f2f"/>
<circle cx="100" cy="100" r="66" fill="none" stroke="#d9b977" stroke-width="0.8"/>
<circle cx="100" cy="100" r="46" fill="none" stroke="#d9b977" stroke-width="0.8" stroke-dasharray="2 2.5"/>
<text font-family="Merriweather, 'Liberation Serif', Georgia, serif" font-size="9.5" font-weight="700" fill="#f3e3bd" letter-spacing="1.5">
<textPath href="#seal-arc" textLength="352" lengthAdjust="spacing">{{ organisation.name | upper }} · {{ award.year }} ·</textPath>
</text>
<path d="M100 66l7.6 16.4 17.9 2.3-13.1 12.4 3.3 17.7L100 106l-15.7 8.8 3.3-17.7-13.1-12.4 17.9-2.3z" fill="#e3c98f"/>
<text x="100" y="134" text-anchor="middle" font-family="'Playfair Display', 'Liberation Serif', Georgia, serif" font-size="17" font-weight="700" fill="#f3e3bd">{{ award.year }}</text>
</svg>
<p class="org-name">{{ organisation.name }}</p>
<p class="org-meta">{{ organisation.location }}</p>
<p class="reference">Ref. {{ award.reference }}</p>
</aside>
</main>
</div><title>{{ award.title }} – {{ recipient.name }}</title>
<style>
:root {
--burgundy: #6d1f2f;
--burgundy-deep: #4f1421;
--gold: #b48a3c;
--gold-light: #d9b977;
--cream: #fbf6ea;
--ink: #2b2320;
--muted: #6e625b;
}
* { box-sizing: border-box; }
html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body {
margin: 0;
color: var(--ink);
font-family: "Merriweather", "Liberation Serif", Georgia, serif;
font-size: 10pt;
line-height: 1.45;
}
p { margin: 0; }
/* One US Letter landscape sheet (279.4 × 215.9 mm), kept just under full height to avoid a spill-over page. */
.sheet {
position: relative; width: 279.4mm; height: 215mm; overflow: hidden;
background: radial-gradient(ellipse at 40% 45%, #fffbf2 0%, var(--cream) 55%, #f3ead5 100%);
}
.frame-outer { position: absolute; left: 8mm; top: 8mm; right: 8mm; bottom: 8mm; border: 1.3mm solid var(--burgundy); }
.frame-inner { position: absolute; left: 11.5mm; top: 11.5mm; right: 11.5mm; bottom: 11.5mm; border: 0.3mm solid var(--gold); }
.corner { position: absolute; width: 4.2mm; height: 4.2mm; background: var(--gold); transform: rotate(45deg); }
.corner-tl { left: 9.4mm; top: 9.4mm; }
.corner-tr { right: 9.4mm; top: 9.4mm; }
.corner-bl { left: 9.4mm; bottom: 9.4mm; }
.corner-br { right: 9.4mm; bottom: 9.4mm; }
.layout {
position: absolute; left: 28mm; right: 24mm; top: 25mm; bottom: 23mm;
display: grid; grid-template-columns: 1fr 66mm; gap: 12mm;
}
.text { display: flex; flex-direction: column; }
.programme { font-size: 8pt; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold); }
.award-title {
margin: 2.5mm 0 0; font-family: "Playfair Display", "Liberation Serif", Georgia, serif; font-size: 33pt; font-weight: 700;
line-height: 1.08; color: var(--burgundy);
}
.rule { width: 34mm; height: 0.9mm; margin: 5mm 0 6mm; background: var(--gold); }
.presented-to { font-size: 10.5pt; font-style: italic; color: var(--muted); }
.recipient {
margin-top: 1mm; font-family: "Playfair Display", "Liberation Serif", Georgia, serif; font-size: 34pt; font-style: italic;
font-weight: 400; line-height: 1.15; color: var(--ink);
}
.recipient-role { margin-top: 1mm; font-size: 9pt; color: var(--muted); letter-spacing: 0.02em; }
.citation { margin-top: 6mm; max-width: 150mm; font-size: 10.5pt; line-height: 1.65; }
.citation p { margin: 0 0 2mm; }
.citation strong { color: var(--burgundy); }
.occasion { margin-top: 2mm; font-size: 8.5pt; color: var(--muted); }
.signatures { display: flex; gap: 12mm; margin-top: auto; }
.signature { width: 64mm; }
.sig-line { height: 12mm; border-bottom: 0.3mm solid var(--ink); }
.sig-name { margin-top: 1.5mm; font-family: "Playfair Display", "Liberation Serif", Georgia, serif; font-size: 11pt; font-weight: 700; }
.sig-title { font-size: 7.5pt; color: var(--muted); }
.seal-column { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.seal { width: 60mm; height: 75mm; }
.org-name { margin-top: 4mm; font-family: "Playfair Display", "Liberation Serif", Georgia, serif; font-size: 12pt; font-weight: 700; color: var(--burgundy); }
.org-meta { font-size: 8pt; color: var(--muted); }
.reference { margin-top: 3mm; font-size: 7pt; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); }
</style>Render it with the API
After adding the template to your workspace, render it by ID and pass your data. Arrays are shortened here.
curl -X POST https://api-eu.dynamicdocumentapi.com/v1/renders \
-H "Authorization: Bearer $DYNAMIC_DOCUMENT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"input": {
"type": "template",
"template_id": "tpl_01J9ZK3M7Q8V5W2X4Y6Z8A0B1C"
},
"data": {
"organisation": {
"name": "Glasshouse Arts Collective",
"location": "Leith, Edinburgh",
"website": "glasshousearts.example.org"
},
"award": {
"title": "Community Impact Award",
"programme": "Annual Recognition Awards",
"year": 2026,
"presented_on": "2026-09-19",
"presented_at": "the Autumn Gathering, Leith",
"reference": "GAC-AWD-2026-07",
"locale": "en-GB"
},
"recipient": {
"name": "Ayodele Brennan-Hartley",
"role": "Volunteer lead, open print workshops"
},
"citation": "For four years of leading the **Saturday open print workshops**, welcoming more than six hundred first-time printmakers, and for bringing neighbours from across Leith together to create the collective'\''s first community-made exhibition, *Pressed Together*.",
"signatories": [
{
"name": "Fionnuala Strachan",
"title": "Chair of Trustees"
},
{
"name": "Idris Kemal-Rowe",
"title": "Artistic Director"
}
]
},
"output": {
"format": "pdf",
"filename": "certificate-award-recognition.pdf"
}
}'const response = await fetch("https://api-eu.dynamicdocumentapi.com/v1/renders", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.DYNAMIC_DOCUMENT_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
"input": {
"type": "template",
"template_id": "tpl_01J9ZK3M7Q8V5W2X4Y6Z8A0B1C"
},
"data": {
"organisation": {
"name": "Glasshouse Arts Collective",
"location": "Leith, Edinburgh",
"website": "glasshousearts.example.org"
},
"award": {
"title": "Community Impact Award",
"programme": "Annual Recognition Awards",
"year": 2026,
"presented_on": "2026-09-19",
"presented_at": "the Autumn Gathering, Leith",
"reference": "GAC-AWD-2026-07",
"locale": "en-GB"
},
"recipient": {
"name": "Ayodele Brennan-Hartley",
"role": "Volunteer lead, open print workshops"
},
"citation": "For four years of leading the **Saturday open print workshops**, welcoming more than six hundred first-time printmakers, and for bringing neighbours from across Leith together to create the collective's first community-made exhibition, *Pressed Together*.",
"signatories": [
{
"name": "Fionnuala Strachan",
"title": "Chair of Trustees"
},
{
"name": "Idris Kemal-Rowe",
"title": "Artistic Director"
}
]
},
"output": {
"format": "pdf",
"filename": "certificate-award-recognition.pdf"
}
}),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const result = await response.json();
console.log(result);import os
import uuid
import requests
response = requests.post(
"https://api-eu.dynamicdocumentapi.com/v1/renders",
headers={
"Authorization": f"Bearer {os.environ['DYNAMIC_DOCUMENT_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"input": {
"type": "template",
"template_id": "tpl_01J9ZK3M7Q8V5W2X4Y6Z8A0B1C",
},
"data": {
"organisation": {
"name": "Glasshouse Arts Collective",
"location": "Leith, Edinburgh",
"website": "glasshousearts.example.org",
},
"award": {
"title": "Community Impact Award",
"programme": "Annual Recognition Awards",
"year": 2026,
"presented_on": "2026-09-19",
"presented_at": "the Autumn Gathering, Leith",
"reference": "GAC-AWD-2026-07",
"locale": "en-GB",
},
"recipient": {
"name": "Ayodele Brennan-Hartley",
"role": "Volunteer lead, open print workshops",
},
"citation": "For four years of leading the **Saturday open print workshops**, welcoming more than six hundred first-time printmakers, and for bringing neighbours from across Leith together to create the collective's first community-made exhibition, *Pressed Together*.",
"signatories": [
{
"name": "Fionnuala Strachan",
"title": "Chair of Trustees",
},
{
"name": "Idris Kemal-Rowe",
"title": "Artistic Director",
},
],
},
"output": {
"format": "pdf",
"filename": "certificate-award-recognition.pdf",
},
},
timeout=90,
)
response.raise_for_status()
print(response.json())