Python
import os
import requests
BASE_URL = "https://app.doconure.com"
API_KEY = os.environ["DOCONURE_API_KEY"]
def generate(template_id: str, data: dict, version: int | None = None) -> bytes:
settings = {"templateId": template_id}
if version is not None:
settings["templateVersion"] = version
payload = {"data": data, "settings": settings}
r = requests.post(
f"{BASE_URL}/api/v1/compose/documents/generate",
headers={"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"},
json=payload,
timeout=120,
)
if r.status_code != 200:
err = r.json()
raise RuntimeError(f"{err['code']}: {err['message']}")
print("rendered with template version", r.headers["X-Template-Version"])
return r.content