{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/invoicepdfs-com/json-schema/invoicepdfs-com-document-render-options-schema.json",
  "title": "DocumentRenderOptions",
  "description": "Render options for a document that is already stored.\n\nFor ``POST /documents/{id}/renders``. The stateless\n``POST /documents/render`` takes the whole document inline instead.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/invoicepdfs-com-openapi.json#/components/schemas/DocumentRenderOptions",
  "properties": {
    "template_id": {
      "type": "string",
      "title": "Template Id",
      "default": "tpl_modern"
    },
    "template_version": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Template Version",
      "description": "Render the config this version of the template recorded, instead of the config it holds now. Only a custom (`ctpl_`) template has versions."
    },
    "page_size": {
      "type": "string",
      "title": "Page Size",
      "default": "LETTER"
    },
    "expires_in": {
      "type": "integer",
      "maximum": 604800.0,
      "minimum": 60.0,
      "title": "Expires In",
      "description": "How long the render stays downloadable, in seconds (1 minute to 7 days). It is also the lifetime of the signature in `download_url`, which is why it is bounded: an unbounded value meant an unbounded grant. A value below the floor used to be accepted and produced a render that had already expired.",
      "default": 3600
    },
    "format": {
      "type": "string",
      "enum": [
        "pdf",
        "facturx_pdf"
      ],
      "title": "Format",
      "description": "`facturx_pdf` embeds the EN 16931 CII XML in a PDF/A-3, which is what a French or German counterparty means by Factur-X or ZUGFeRD.",
      "default": "pdf"
    }
  },
  "type": "object"
}