---
title: "Render a form"
method: POST
path: "/forms/{formID}/render"
tags: ["Forms"]
---

# Render a form

`POST /forms/{formID}/render`

## Request

- Base URL: `https://api.omnisend.com/api`
- URL: `https://api.omnisend.com/api/forms/{formID}/render`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://app.omnisend.com/oauth2/token` scopes: `forms.write`
  - API key in header `Authorization`

Render a single form by ID and return its display steps as HTML. The form is rendered from its current
stored content without enabling it or serving it to visitors, so the response can be used to preview how the
form will look. Each step is returned separately, preserving the form's multi-step order.

**Scopes:**
`forms.write`

**Rate Limiting:**
This endpoint is rate limited to 40 requests per minute.

## Path parameters

- `formID` string, required

## Headers

- `Omnisend-Version` string, required

## Response `200`

Rendered form steps

- RenderFormResponse: Rendered form split into display steps.
  - `steps` RenderedStepResponse[]: Rendered form steps
    - `html` string: Rendered step HTML
    - `name` string: Rendered step name

## Other responses

- `400`: Request contains invalid or missing fields
- `401`: Authentication is missing or invalid
- `403`: Insufficient permissions for this operation
- `404`: Form not found
- `410`: API version has been retired
- `429`: Rate limit exceeded
- `500`: Unexpected error occurred

---

[API](https://skmtc.dev/omnisend/apis/forms-api.md) - [All operations](https://skmtc.dev/omnisend/apis/forms-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnisend/apis/forms-api/revisions/9b53556b2e97?raw)
