# POST /exports/templates/:id/preview

**Resource:** [Export Templates](./export-templates.md)  
**Scopes:** `exports:read`  
**Write operation:** no

Preview the first 10 rows of an export template (or a saved view). Returns JSON with headers and rows -- useful for verifying filter logic before running a full export. Filters, sort, and column layout from the template (or overrides in the request body) are applied. All filter operators are supported: tags use in (OR/"has any of") / not_in (NOR/"has none of"). Legacy not_contains is a back-compat alias for not_in.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Template ID. |
| `view_id` | body | uuid | no | Apply a saved view's filter/sort overrides on top of the template. |

## Response example

```json
{
  "request": "curl -X POST \\\n  -H \"Authorization: Bearer tp_live_...\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.trustpager.com/functions/v1/api/v1/exports/templates/3fa85f64-5717-4562-b3fc-2c963f66afa6/preview\"",
  "response": "{\n  \"headers\": [\n    \"Name\",\n    \"Tags\",\n    \"Email\"\n  ],\n  \"rows\": [\n    [\n      \"Acme Corp\",\n      \"PET\",\n      \"contact@acme.com\"\n    ],\n    [\n      \"Beta Ltd\",\n      \"PET, REFERRAL\",\n      \"info@beta.com\"\n    ]\n  ],\n  \"rowCount\": 2,\n  \"truncated\": false,\n  \"sheetName\": \"Opportunities\"\n}"
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`