OpenForm
MCPTools

render

Last updated on

Render an OpenForm artifact from a verified registry as text, PDF, or DOCX

Renders an OpenForm form artifact from a verified registry. Looks up the artifact by registry_id and artifact_name, fetches it from the registry, validates, fills with data, and renders via the appropriate renderer (text, PDF, DOCX). Returns a short download link by default, or content inline.

Only form artifacts can be rendered. The registry must have verified status.

Parameters

ParameterTypeRequiredDescription
registry_idstringYesRegistry ID (must be a verified registry)
artifact_namestringYesArtifact name within the registry
dataobjectYesData to fill before rendering. Fields go under "fields" key: { fields: { fieldId: value } }. Parties go under their party ID: { partyId: { id, name, ... } }.
layerstringNoLayer key to render. Falls back to defaultLayer, then first layer
outputMode"url" | "inline"No"url" (default) returns a short download link with 7-day TTL. "inline" returns content directly — best for text/markdown.

Response

FieldTypeDescription
successbooleanWhether the render completed successfully
renderIdstringUnique render identifier (present on success and unexpected errors)
artifactKindstringDetected artifact kind
contentstringRendered content (inline mode)
encodingstringContent encoding: utf-8 or base64 (inline mode)
mimeTypestringMIME type of the rendered output
downloadUrlstringShort download link (url mode)
expiresAtstringURL expiration timestamp (url mode)
errorstringError message if rendering failed
errorsarrayList of fill errors, each with field and message
validationIssuesarrayList of schema validation issues, each with message and optional path

Examples

Inline rendering

// Request
{
  "registry_id": "cly1abc123",
  "artifact_name": "lease-agreement",
  "data": { "fields": { "tenantName": "Jane Doe", "startDate": "2026-03-01" } },
  "outputMode": "inline"
}

// Response
{
  "success": true,
  "renderId": "550e8400-e29b-41d4-a716-446655440000",
  "artifactKind": "form",
  "content": "LEASE AGREEMENT\n\nTenant: Jane Doe\nStart Date: March 1, 2026\n...",
  "encoding": "utf-8",
  "mimeType": "text/plain"
}

URL output mode

For binary formats like PDF, use outputMode: "url" (or omit it — "url" is the default) to get a download link:

// Request
{
  "registry_id": "cly1abc123",
  "artifact_name": "lease-agreement",
  "data": { "fields": { "tenantName": "Jane Doe" } },
  "layer": "pdf"
}

// Response
{
  "success": true,
  "renderId": "550e8400-e29b-41d4-a716-446655440000",
  "artifactKind": "form",
  "downloadUrl": "https://open-form.link/3aBcDe12f",
  "expiresAt": "2026-02-25T12:00:00.000Z",
  "mimeType": "application/pdf"
}

The download URL expires after 7 days.

On this page