---
title: "Validate WhatsApp template bindings and build an exact preview"
method: POST
path: "/api/channels/{id}/templates/{templateId}/preview"
tags: ["Channels"]
---

# Validate WhatsApp template bindings and build an exact preview

`POST /api/channels/{id}/templates/{templateId}/preview`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/channels/{id}/templates/{templateId}/preview`
- Auth: API key in cookie `luca.session_token`

**Session-only.** This endpoint isn't on the API-key allowlist. An organization API key gets a 403 here, whatever scopes it holds.

## Path parameters

- `id` string, uuid, required
- `templateId` string, uuid, required

## Headers

- `Luca-API-Version` '1'

## Request body

- WhatsAppTemplatePreviewRequest
  - `parameters` union[], required
    - union
      - object
        - `key` string, required
        - `component` 'header' | 'body' | 'button', required
        - `index` integer, required
        - `parameterName` string
        - `buttonIndex` integer
        - `kind` 'text', required
        - `value` string, required
      - object
        - `key` string, required
        - `component` 'header', required
        - `index` integer, required
        - `parameterName` string
        - `buttonIndex` integer
        - `kind` 'image' | 'video' | 'document', required
        - `uploadId` string, uuid, required
        - `fileName` string

## Response `200`

ok

- WhatsAppTemplatePreviewResponse
  - `template` object, required
    - `id` string, uuid, required
    - `type` 'template', required
    - `templateId` string, required
    - `name` string, required
    - `language` string, required
    - `versionHash` string, required
    - `parameters` union[], required
      - union
        - object
          - `key` string, required
          - `component` 'header' | 'body' | 'button', required
          - `index` integer, required
          - `parameterName` string
          - `buttonIndex` integer
          - `kind` 'text', required
          - `value` string, required
        - object
          - `key` string, required
          - `component` 'header', required
          - `index` integer, required
          - `parameterName` string
          - `buttonIndex` integer
          - `kind` 'image' | 'video' | 'document', required
          - `uploadId` string, uuid, required
          - `fileName` string
    - `renderedPreview` string, required
    - `providerMetadata` object
  - `billingNotice` 'Meta bills WhatsApp messages to your WhatsApp Business Account. Luca does not calculate or add provider charges.', required

## Other responses

- `400`: bad request
- `401`: unauthorized
- `404`: not found
- `409`: conflict
- `429`: rate limited
- `500`: internal error
- `501`: not implemented
- `502`: upstream failure
- `503`: service unavailable

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
