{"openapi":"3.1.0","info":{"title":"RenderForm API","description":"Swagger documentation for RenderForm API","contact":{"name":"API Support","email":"contact@renderform.io"},"version":"d43be31_2026-09-03_13-01-32"},"externalDocs":{"description":"REST API Documentation","url":"https://renderform.io/docs/api/get-started/"},"servers":[{"url":"https://api.renderform.io","description":"Base URL"}],"tags":[{"name":"Templates API","description":"Endpoint for fetching my templates"},{"name":"Render API","description":"Endpoint for rendering images and PDFs from templates"},{"name":"Screenshots API","description":"Endpoint for creating screenshots"},{"name":"Fonts API","description":"Endpoint for fetching fonts"},{"name":"Organization API","description":"Endpoint for fetching organization details"},{"name":"Render Results API","description":"Endpoint for retrieving render results"}],"paths":{"/api/v2/my-templates/{templateId}/html-editor":{"get":{"tags":["Templates API"],"summary":"Get template content","description":"Returns the raw content of a template as 'html', 'css' and 'sampleData' fields.\n\nCurrently only supported for templates using the 'html-editor'.\n\n'sampleData' holds the sample values used to preview merge fields.\n","operationId":"getTemplateContent","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateContent"}}}}},"security":[{"apiKey":[]}]},"put":{"tags":["Templates API"],"summary":"Update template content","description":"Updates the raw content of a template from 'html', 'css' and 'sampleData' fields, and returns what was actually persisted.\n\nCurrently only supported for templates using the 'html-editor'.\n\n'sampleData' is optional and holds sample values used to preview merge fields.\n","operationId":"updateTemplateContent","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateContentUpdateRequest"}}},"required":true},"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateContent"}}}}},"security":[{"apiKey":[]}]}},"/api/v2/render":{"post":{"tags":["Render API"],"operationId":"renderV2","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string"}},{"name":"output","in":"query","description":"Output format","required":false,"schema":{"type":"string","default":"json","description":"Output format","enum":["image","json"],"example":"image"},"example":"image"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderRequest"}}},"required":true},"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"Returns JSON response with the URL of the rendered image or the rendered image itself if the output is set to image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderResponse"}}}},"202":{"description":"Video renders (mp4, webm) are processed asynchronously. The response contains the request identifier, the URL the video will be available at and status 'pending'. Poll GET /api/v2/results/{requestId} until status is 'done' or 'failed'","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderResponse"}}}}},"security":[{"apiKey":[]}]}},"/api/v2/my-templates":{"get":{"tags":["Templates API"],"operationId":"getMyTemplates","parameters":[{"name":"name","in":"query","description":"Filter by template name","required":false,"schema":{"type":"string","description":"Filter by template name"}},{"name":"tags","in":"query","description":"Filter by tags","required":false,"schema":{"type":"array","description":"Filter by tags","items":{"type":"string","description":"Filter by tags"}}},{"name":"pageable","in":"query","description":"Pagination","required":true,"schema":{"$ref":"#/components/schemas/SwaggerPageable","description":"Pagination"}},{"name":"sourceTemplateId","in":"query","description":"Identifier of the source template used to create a template","required":false,"schema":{"type":"string","description":"Identifier of the source template used to create a template"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MyTemplateEntryV2"}}}}}},"security":[{"apiKey":[]}]},"post":{"tags":["Templates API"],"summary":"Create a new template","description":"Creates a new, empty template with the given name, size and editor.\n\n'editor' can be 'html-editor', 'canvas-editor' or 'canvas-html'.\n\n'tags' are created automatically if they do not exist yet.\n","operationId":"createTemplate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateCreateRequest"}}},"required":true},"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyTemplateV2"}}}}},"security":[{"apiKey":[]}]}},"/api/v1/screenshots":{"post":{"tags":["Screenshots API"],"operationId":"createScreenshot","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScreenshotRequest"}}},"required":true},"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScreenshotResponse"}}}}},"security":[{"apiKey":[]}]}},"/api/v1/pdf":{"post":{"tags":["Screenshots API"],"operationId":"createPdf","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePdfRequest"}}},"required":true},"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePdfResponse"}}}}},"security":[{"apiKey":[]}]}},"/api/v2/my-templates/{templateId}":{"get":{"tags":["Templates API"],"operationId":"getMyTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyTemplateV2"}}}}},"security":[{"apiKey":[]}]},"delete":{"tags":["Templates API"],"operationId":"deleteMyTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}}},"patch":{"tags":["Templates API"],"summary":"Update template metadata","description":"Updates the name, size, output format and/or tags of a template. Only the fields provided in the request body are changed.\n\n'tags', when provided, replaces the full set of tags currently assigned to the template.\n","operationId":"updateTemplateMetadata","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateMetadataUpdateRequest"}}},"required":true},"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyTemplateV2"}}}}},"security":[{"apiKey":[]}]}},"/api/v2/results":{"get":{"tags":["Render Results API"],"operationId":"getRenderResults","parameters":[{"name":"template","in":"query","description":"Template identifier","required":false,"schema":{"type":"string","description":"Template identifier"}},{"name":"batch","in":"query","description":"Batch identifier for the render request","required":false,"schema":{"type":"string","description":"Batch identifier for the render request"}},{"name":"pageable","in":"query","description":"Pagination","required":true,"schema":{"$ref":"#/components/schemas/SwaggerPageable","description":"Pagination"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageRenderResultItem"}}}}},"security":[{"apiKey":[]}]}},"/api/v2/results/{identifier}":{"get":{"tags":["Render Results API"],"operationId":"getRenderResult","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderResultDetails"}}}}},"security":[{"apiKey":[]}]},"delete":{"tags":["Render Results API"],"operationId":"deleteContent","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"apiKey":[]}]}},"/api/v1/usage":{"get":{"tags":["Organization API"],"operationId":"getOrganizationSummary","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"Returns JSON response with organization usage details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUsageSummary"}}}}},"security":[{"apiKey":[]}]}},"/api/v1/fonts":{"get":{"tags":["Fonts API"],"description":"Returns all fonts available in the system for the current user.\n\n'source' field can be 'GOOGLE' or 'CUSTOM' (for custom fonts uploaded by the user)\n\n'family' field is the name of the font\n\n'variants' field is a list of all variants available for the font\n\n","operationId":"getAllFonts","responses":{"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FontItem"}}}}}},"security":[{"apiKey":[]}]}}},"components":{"schemas":{"ApiError":{"type":"object","properties":{"msg":{"type":"string"},"status":{"type":"integer","format":"int32"},"errors":{"type":"array","items":{"type":"string"}}}},"JsonNode":{},"TemplateContentUpdateRequest":{"type":"object","properties":{"html":{"type":"string","description":"HTML markup to store for the template. Only supported for templates using the 'html-editor'","minLength":1},"css":{"type":"string","description":"CSS styles to store for the template"},"sampleData":{"$ref":"#/components/schemas/JsonNode","description":"Sample data used to preview merge fields"}},"required":["html"]},"TemplateContent":{"type":"object","properties":{"html":{"type":"string","description":"HTML markup of the template"},"css":{"type":"string","description":"CSS styles of the template"},"sampleData":{"$ref":"#/components/schemas/JsonNode","description":"Sample data used to preview merge fields"}}},"RenderRequest":{"type":"object","properties":{"template":{"type":"string","description":"Template ID","example":"template_1234","minLength":1},"data":{"type":"object","additionalProperties":{},"description":"Data to be merged into the template","example":{"my-text.text":"John"}},"fileName":{"type":"string","description":"Name of the file to be returned","example":"my-file-name"},"webhookUrl":{"type":"string","description":"Webhook URL to be called when the render is done","example":"https://my-webhook.com"},"version":{"type":"string","description":"Cache key to be used for caching the rendered image","example":"my-cache-key"},"metadata":{"type":"object","additionalProperties":{},"description":"Additional metadata to be passed to the webhook","example":{"my-text.text":"John"}},"batchName":{"type":"string","description":"Batch name to be used for grouping renders","example":"my-batch-name"},"cache":{"type":"boolean","default":true,"description":"Set to false to force a fresh render and skip the render cache. By default an identical request for the same template returns the previously rendered file, costs no credits and responds with \"cached\": true","example":true},"waitTime":{"type":"integer","format":"int32","description":"Wait time in milliseconds before rendering the object, it cannot be more than 5000ms","example":500},"outputFormat":{"type":"string","description":"Output format of the render. Overrides the format configured on the template. Video formats (mp4, webm) are available only for templates created in the Advanced Editor and are always rendered asynchronously (HTTP 202 with status 'pending')","enum":["jpeg","png","webp","pdf","mp4","webm"],"example":"png"},"duration":{"type":"integer","format":"int32","description":"Video renders only: length of the video in milliseconds (1000-30000). Overrides the template's record duration. Every started second costs 10 credits","example":5000,"maximum":30000,"minimum":1000},"fps":{"type":"integer","format":"int32","description":"Video renders only: frames per second, one of 24, 25 or 30. Overrides the template's fps","enum":["24","25","30"],"example":30}},"required":["template"]},"RenderResponse":{"type":"object","properties":{"requestId":{"type":"string","description":"Unique identifier of the render request","example":"req-dc95beb3-8c56-40e9-b428-e6b4c68354a3"},"href":{"type":"string","description":"URL of the rendered output","example":"https://cdn.renderform.io/my-image.jpg"},"status":{"type":"string","description":"Present only for asynchronous (video) renders. 'pending' means the file is not available at 'href' yet - poll GET /api/v2/results/{requestId} until status is 'done' or 'failed'","enum":["pending","done","failed"],"example":"pending"},"cached":{"type":"boolean","description":"Present and true when the file was already rendered before and is returned from the render cache. A cached render costs no credits. Send \"cache\": false in the request to force a fresh render","example":true}}},"TemplateCreateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Name of the template","example":"Instagram post","minLength":1},"width":{"type":"integer","format":"int32","description":"Width of the template in pixels","example":1080},"height":{"type":"integer","format":"int32","description":"Height of the template in pixels","example":1080},"editor":{"type":"string","description":"Editor used to design the template","enum":["html-editor","canvas-editor","canvas-html"],"example":"canvas-editor"},"tags":{"type":"array","description":"Tags assigned to the template. Tags are created automatically if they do not exist yet","example":["marketing","instagram"],"items":{"type":"string"}},"outputFormat":{"type":"string","description":"Output format of the template. Video formats (mp4, webm) are available only for the 'canvas-html' editor. Defaults to 'jpeg'","enum":["jpeg","png","webp","pdf","mp4","webm"],"example":"jpeg"},"recordDuration":{"type":"integer","format":"int32","description":"Video templates only: length of the video timeline in milliseconds (1000-30000). Defaults to 5000","example":5000,"maximum":30000,"minimum":1000},"fps":{"type":"integer","format":"int32","description":"Video templates only: frames per second, one of 24, 25 or 30. Defaults to 30","enum":["24","25","30"],"example":30}},"required":["editor","height","name","width"]},"ChangePlaceholder":{"type":"object","properties":{"componentId":{"type":"string"},"componentType":{"type":"string","enum":["RECTANGLE","CIRCLE","TEXT","IMAGE","VIDEO","QR_CODE","CHART","SVG_GROUP","SVG_PATH","RATING","HTML","TEST_OBJECT"]},"type":{"type":"string"},"key":{"type":"string"},"property":{"type":"string"},"defaultValue":{"type":"string"},"locked":{"type":"boolean"}}},"FontItem":{"type":"object","properties":{"originalName":{"type":"string"},"family":{"type":"string"},"variants":{"type":"array","items":{"type":"string"}},"defaultVariant":{"type":"string"},"subsets":{"type":"array","items":{"type":"string"}},"category":{"type":"string"},"source":{"type":"string","enum":["GOOGLE","CUSTOM"]},"size":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"}}},"MyTemplateV2":{"type":"object","properties":{"identifier":{"type":"string","description":"Unique identifier of the template","example":"template_1234"},"name":{"type":"string","description":"Name of the template","example":"Instagram post"},"preview":{"type":"string","description":"URL of the last rendered preview image"},"scaleFactor":{"type":"number","format":"double","description":"Scale factor applied when rendering the template","example":1.0},"outputFormat":{"type":"string","description":"Output format used when rendering the template","example":"png"},"outputExtension":{"type":"string","description":"File extension matching the output format","example":".png"},"quality":{"type":"integer","format":"int32","description":"Compression quality used when rendering the template (10-100)","example":90},"width":{"type":"integer","format":"int32","description":"Width of the template in pixels","example":1080},"height":{"type":"integer","format":"int32","description":"Height of the template in pixels","example":1080},"recordDuration":{"type":"integer","format":"int32","description":"Video templates only: length of the video timeline in milliseconds","example":5000},"fps":{"type":"integer","format":"int32","description":"Video templates only: frames per second (24, 25 or 30)","example":30},"createdBy":{"type":"string","description":"Email of the user who created the template, or 'API' if it was created without a dashboard session"},"editor":{"type":"string","description":"Editor used to design the template","enum":["html-editor","canvas-editor","canvas-html"],"example":"html-editor"},"properties":{"type":"array","description":"Editable placeholders detected in the template","items":{"$ref":"#/components/schemas/ChangePlaceholder"}},"fonts":{"type":"array","description":"Fonts used by the template","items":{"$ref":"#/components/schemas/FontItem"}},"catalog":{"type":"string","deprecated":true,"description":"Name of the catalog (folder) the template belongs to"},"tags":{"type":"array","description":"Tags assigned to the template","items":{"type":"string"}}}},"CreateScreenshotRequest":{"type":"object","properties":{"waitTime":{"type":"integer","format":"int32","description":"Wait time in milliseconds before capturing the screenshot","example":1000,"maximum":5000,"minimum":0},"url":{"type":"string","description":"URL to capture","example":"https://renderform.io","minLength":1},"width":{"type":"integer","format":"int32","description":"Width of the screenshot in pixels","example":1920,"maximum":5000,"minimum":32},"height":{"type":"integer","format":"int32","description":"Height of the screenshot in pixels","example":1080,"maximum":5000,"minimum":32}},"required":["height","url","width"]},"CreateScreenshotResponse":{"type":"object","properties":{"requestId":{"type":"string"},"href":{"type":"string"},"request":{"$ref":"#/components/schemas/CreateScreenshotRequest"}}},"CreatePdfRequest":{"type":"object","properties":{"waitTime":{"type":"integer","format":"int32","description":"Wait time in milliseconds before capturing the PDF","example":1000,"maximum":5000,"minimum":0},"url":{"type":"string","description":"URL to capture","example":"https://renderform.io","minLength":1},"format":{"type":"string","default":"A4","description":"Output format of the PDF","enum":["A5","A4","A3","LETTER","LEGAL"],"example":"A4"},"expires":{"type":"integer","format":"int32","description":"Automatically delete the PDF after this many seconds","example":3600,"maximum":604800,"minimum":1}},"required":["url"]},"CreatePdfResponse":{"type":"object","properties":{"requestId":{"type":"string"},"href":{"type":"string"},"request":{"$ref":"#/components/schemas/CreatePdfRequest"}}},"TemplateMetadataUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"New name of the template","example":"Instagram post"},"width":{"type":"integer","format":"int32","description":"New width of the template in pixels","example":1080},"height":{"type":"integer","format":"int32","description":"New height of the template in pixels","example":1080},"tags":{"type":"array","description":"Tags assigned to the template. Replaces the full set of existing tags. Tags are created automatically if they do not exist yet","example":["marketing","instagram"],"items":{"type":"string"}},"outputFormat":{"type":"string","description":"New output format of the template","enum":["jpeg","png","pdf"],"example":"png"}}},"SwaggerPageable":{"type":"object","description":"Pageable parameters","properties":{"size":{"type":"integer","format":"int32","description":"Page size","example":20},"page":{"type":"integer","format":"int32","description":"Page number","example":0}}},"PageRenderResultItem":{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/RenderResultItem"}},"number":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"sort":{"$ref":"#/components/schemas/SortObject"},"numberOfElements":{"type":"integer","format":"int32"},"first":{"type":"boolean"},"last":{"type":"boolean"},"empty":{"type":"boolean"}}},"PageableObject":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"unpaged":{"type":"boolean"}}},"RenderResultItem":{"type":"object","properties":{"identifier":{"type":"string","description":"Unique identifier of the render result","example":"req-dc95beb3-8c56-40e9-b428-e6b4c68354a3"},"href":{"type":"string","description":"URL of the rendered output","example":"https://cdn.renderform.io/my-image.jpg"},"width":{"type":"integer","format":"int32","description":"Width of the rendered output in pixels","example":1080},"height":{"type":"integer","format":"int32","description":"Height of the rendered output in pixels","example":1080},"templateName":{"type":"string","description":"Name of the template used for this render","example":"Instagram post"},"templateIdentifier":{"type":"string","description":"Identifier of the template used for this render","example":"template_1234"},"fileName":{"type":"string","description":"File name of the rendered output","example":"my-image.jpg"},"status":{"type":"string","description":"Status of the render: 'pending' (video still rendering), 'done' or 'failed'","enum":["pending","done","failed"],"example":"done"},"type":{"type":"string","description":"Type of the render","enum":["image","video","screenshot","preview"],"example":"image"},"thumbnailHref":{"type":"string","description":"Video renders only: URL of the JPEG poster frame, null otherwise","example":"https://cdn.renderform.io/org/results/req-123.jpg"},"durationMs":{"type":"integer","format":"int32","description":"Video renders only: duration of the video in milliseconds, null otherwise","example":5000},"errorMessage":{"type":"string","description":"Error message when status is 'failed', null otherwise"},"createdAt":{"type":"string","format":"date-time","description":"Date and time the render was created"},"deletedAt":{"type":"string","format":"date-time","description":"Date and time the render was deleted, if it has been deleted"}}},"SortObject":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}}},"RenderResultDetails":{"type":"object","properties":{"identifier":{"type":"string","description":"Unique identifier of the render result","example":"req-dc95beb3-8c56-40e9-b428-e6b4c68354a3"},"href":{"type":"string","description":"URL of the rendered output","example":"https://cdn.renderform.io/my-image.jpg"},"status":{"type":"string","description":"Status of the render: 'pending' (video still rendering), 'done' or 'failed'","enum":["pending","done","failed"],"example":"done"},"type":{"type":"string","description":"Type of the render","enum":["image","video","screenshot","preview"],"example":"image"},"thumbnailHref":{"type":"string","description":"Video renders only: URL of the JPEG poster frame, null otherwise","example":"https://cdn.renderform.io/org/results/req-123.jpg"},"durationMs":{"type":"integer","format":"int32","description":"Video renders only: duration of the video in milliseconds, null otherwise","example":5000},"errorMessage":{"type":"string","description":"Error message when status is 'failed', null otherwise"},"width":{"type":"integer","format":"int32","description":"Width of the rendered output in pixels","example":1080},"height":{"type":"integer","format":"int32","description":"Height of the rendered output in pixels","example":1080},"requestPayload":{"type":"string","description":"Original request payload used to generate this render"},"template":{"type":"string","description":"Identifier of the template used for this render","example":"template_1234"},"templateName":{"type":"string","description":"Name of the template used for this render","example":"Instagram post"},"createdAt":{"type":"string","format":"date-time","description":"Date and time the render was created"},"deletedAt":{"type":"string","format":"date-time","description":"Date and time the render was deleted, if it has been deleted"}}},"MyTemplateEntryV2":{"type":"object","properties":{"identifier":{"type":"string","description":"Unique identifier of the template","example":"template_1234"},"name":{"type":"string","description":"Name of the template","example":"Instagram post"},"preview":{"type":"string","description":"URL of the last rendered preview image"},"scaleFactor":{"type":"number","format":"double","description":"Scale factor applied when rendering the template","example":1.0},"outputFormat":{"type":"string","description":"Output format used when rendering the template","example":"png"},"outputExtension":{"type":"string","description":"File extension matching the output format","example":".png"},"quality":{"type":"integer","format":"int32","description":"Compression quality used when rendering the template (10-100)","example":90},"isShared":{"type":"boolean","description":"Whether the template's editor is shared via a public link"},"isLivePreviewShared":{"type":"boolean","description":"Whether a live preview link is shared for this template"},"isEmailNotification":{"type":"boolean","description":"Whether an email notification is sent when this template is rendered"},"isEmbeddedEditor":{"type":"boolean","description":"Whether this template can be edited through the embedded editor"},"emailNotification":{"type":"string","description":"Email address notified when this template is rendered"},"width":{"type":"integer","format":"int32","description":"Width of the template in pixels","example":1080},"height":{"type":"integer","format":"int32","description":"Height of the template in pixels","example":1080},"createdBy":{"type":"string","description":"Email of the user who created the template, or 'API' if it was created without a dashboard session"},"createdAt":{"type":"string","description":"Date and time the template was created"},"editor":{"type":"string","description":"Editor used to design the template","enum":["html-editor","canvas-editor","canvas-html"],"example":"html-editor"},"catalog":{"type":"string","deprecated":true,"description":"Name of the catalog (folder) the template belongs to"},"tags":{"type":"array","description":"Tags assigned to the template","items":{"type":"string"}}}},"Credits":{"type":"object","properties":{"used":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"},"nextRenewalAt":{"type":"string","format":"date-time"},"renewalAmount":{"type":"integer","format":"int32"}}},"OrganizationUsageSummary":{"type":"object","properties":{"identifier":{"type":"string"},"credits":{"$ref":"#/components/schemas/Credits"},"uploads":{"$ref":"#/components/schemas/Uploads"},"plan":{"$ref":"#/components/schemas/Plan"}}},"Plan":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"},"nextBillingAt":{"type":"string","format":"date-time"}}},"Uploads":{"type":"object","properties":{"used":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}}}},"securitySchemes":{"apiKey":{"type":"apiKey","description":"API Key","name":"x-api-key","in":"header"}}}}