{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/ironfang/main/json-schema/ironfang-sign-request-schema.json", "title": "SignRequest", "x-generated": "2026-09-28", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/ironfang-signed-urls-api-openapi.yml#/components/schemas/SignRequest", "type": "object", "required": [ "kind" ], "properties": { "kind": { "type": "string", "enum": [ "screenshot", "image" ], "description": "`screenshot` signs a URL capture and requires `url`; `image` signs a\ntemplate render and requires `template`.\n" }, "url": { "type": "string", "format": "uri", "description": "Required when `kind` is `screenshot`." }, "template": { "type": "string", "format": "uuid", "description": "Required when `kind` is `image`." }, "vars": { "type": "object", "additionalProperties": { "type": "string" } }, "width": { "type": "integer", "maximum": 4096 }, "height": { "type": "integer", "maximum": 4096 }, "full_page": { "type": "boolean", "default": false }, "ttl_hours": { "type": "integer", "default": 0, "description": "Hours until the URL expires. `0` never expires." } } }