Formfeed · Schema

Render

PDFImage GenerationTemplatesDeveloper ToolsSoftware-as-a-Service

Properties

Name Type Description
id string
status object
output object
download_url stringnull
expires_at stringnull
bytes integernull
page_count integernull
units number
region object
environment string
template objectnull
engine_version string Chromium build and engine package version, for reproducibility.
template_checksum stringnull
output_sha256 stringnull
deduplicated boolean
storage object
timings object
error object
meta object
created_at string
completed_at stringnull
View JSON Schema on GitHub

JSON Schema

formfeed-render-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/formfeed/main/json-schema/formfeed-render-schema.json",
  "title": "Render",
  "x-generated": "2026-09-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/formfeed-openapi.json#/components/schemas/Render",
  "type": "object",
  "required": [
    "id",
    "status",
    "output",
    "region",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "$ref": "#/$defs/RenderStatus"
    },
    "output": {
      "$ref": "#/$defs/OutputFormat"
    },
    "download_url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "expires_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "bytes": {
      "type": [
        "integer",
        "null"
      ]
    },
    "page_count": {
      "type": [
        "integer",
        "null"
      ]
    },
    "units": {
      "type": "number"
    },
    "region": {
      "$ref": "#/$defs/Region"
    },
    "environment": {
      "type": "string",
      "enum": [
        "live",
        "test"
      ]
    },
    "template": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "version": {
          "type": "integer"
        },
        "channel": {
          "type": [
            "string",
            "null"
          ],
          "description": "The release channel the version came from (`published` by default); null when the request named a version number or `latest`."
        },
        "canary": {
          "type": "boolean",
          "description": "True when the channel's canary share picked this version."
        }
      }
    },
    "engine_version": {
      "type": "string",
      "description": "Chromium build and engine package version, for reproducibility."
    },
    "template_checksum": {
      "type": [
        "string",
        "null"
      ]
    },
    "output_sha256": {
      "type": [
        "string",
        "null"
      ]
    },
    "deduplicated": {
      "type": "boolean"
    },
    "storage": {
      "allOf": [
        {
          "$ref": "#/$defs/StorageDelivery"
        }
      ],
      "nullable": true
    },
    "timings": {
      "type": "object",
      "properties": {
        "queue_ms": {
          "type": "integer"
        },
        "compile_ms": {
          "type": "integer"
        },
        "render_ms": {
          "type": "integer"
        },
        "upload_ms": {
          "type": "integer"
        },
        "total_ms": {
          "type": "integer"
        }
      }
    },
    "error": {
      "allOf": [
        {
          "$ref": "#/$defs/Problem"
        }
      ],
      "nullable": true
    },
    "meta": {
      "type": "object",
      "additionalProperties": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "completed_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "$defs": {
    "OutputFormat": {
      "type": "string",
      "enum": [
        "pdf",
        "png",
        "jpg",
        "webp",
        "docx",
        "pptx"
      ],
      "description": "PDF and image templates, ad-hoc HTML and URLs produce `pdf`, `png`, `jpg` or `webp`; a `docx` template produces `docx` or `pdf`, a `pptx` template `pptx` or `pdf`."
    },
    "Problem": {
      "type": "object",
      "required": [
        "type",
        "title",
        "status"
      ],
      "properties": {
        "type": {
          "type": "string",
          "format": "uri"
        },
        "title": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        },
        "detail": {
          "type": "string"
        },
        "code": {
          "type": "string",
          "enum": [
            "template_not_found",
            "template_syntax_error",
            "template_runtime_error",
            "data_validation_error",
            "navigation_failed",
            "render_timeout",
            "page_limit_exceeded",
            "output_too_large",
            "file_too_large",
            "source_not_found",
            "source_invalid",
            "source_encrypted",
            "tool_failed",
            "file_type_unsupported",
            "office_document_invalid",
            "office_document_too_large",
            "office_conversion_failed",
            "office_unavailable",
            "unsupported_in_office",
            "test_output_unavailable",
            "quota_exceeded",
            "rate_limited",
            "region_unavailable",
            "worker_exhausted",
            "invalid_request",
            "unauthorized",
            "forbidden",
            "not_found",
            "conflict",
            "not_implemented",
            "schema_breaking_change",
            "channel_not_found",
            "channel_name_invalid",
            "channel_in_use",
            "render_input_expired",
            "listen_session_limit",
            "listen_session_ended",
            "last_workspace",
            "storage_not_configured",
            "storage_test_failed"
          ]
        },
        "location": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "line": {
              "type": "integer"
            },
            "column": {
              "type": "integer"
            },
            "file": {
              "type": "string",
              "enum": [
                "template",
                "css",
                "head",
                "header",
                "footer"
              ]
            },
            "part": {
              "type": "string",
              "description": "Office templates: the part of the file (document, header, footer, slide)."
            },
            "paragraph": {
              "type": "integer",
              "description": "Office templates: the paragraph within the part, from 1."
            }
          }
        },
        "request_id": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "description": "`data_validation_error` only: every place where the data does not match the schema.",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "type": "string"
              }
            }
          }
        },
        "index": {
          "type": "integer",
          "description": "Batch requests only: the first item that failed."
        }
      }
    },
    "Region": {
      "type": "string",
      "enum": [
        "eu",
        "us",
        "apac"
      ]
    },
    "RenderStatus": {
      "type": "string",
      "enum": [
        "queued",
        "rendering",
        "succeeded",
        "failed"
      ]
    },
    "StorageDelivery": {
      "type": "object",
      "description": "The output's copy in the workspace's own bucket; null when none applies (no connection, a\npaused one, `storage: false`, a test render the connection does not take). A synchronous\nresponse reports `pending`: the copy is made in the background, and `storage.delivered` or\n`storage.failed` follow as webhook events.\n",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "pending",
            "delivered",
            "failed"
          ]
        },
        "bucket": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "The object below the connection's `public_base_url`; null without one."
        },
        "reason": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "permanent",
            "rejected",
            "exhausted",
            "source_gone",
            "connection_deleted",
            "connection_paused",
            "plan",
            "workspace_deleted"
          ],
          "description": "Why a delivery failed: the credentials or bucket (`permanent`), the object (`rejected`), retries used up (`exhausted`), the output expired first (`source_gone`), or the connection went away."
        },
        "error": {
          "allOf": [
            {
              "$ref": "#/$defs/StorageError"
            }
          ],
          "nullable": true
        }
      }
    },
    "StorageError": {
      "type": "object",
      "description": "The provider's answer, reduced: its code, the HTTP status and the first line of its message.",
      "properties": {
        "code": {
          "type": "string"
        },
        "http_status": {
          "type": [
            "integer",
            "null"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/formfeed-render"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.