Templates
Templates are reusable rendering recipes. Every campaign and Blitz-generated post starts from a template. The API is read-only for templates: they are curated in the dashboard and by the platform’s ingestion pipelines.
List templates
Section titled “List templates”GET /api/v1/templatesQuery parameters:
| Name | Type | Notes |
|---|---|---|
content_type | string | Filter by content type. |
platform | string | Filter to templates that support the given platform. |
curation_status | string | approved (default) or pending_review. |
is_active | boolean | Defaults to true. |
limit, cursor | - | Standard pagination. |
curl "https://app.nativpost.com/api/v1/templates?content_type=video_hook&limit=10" \ -H "Authorization: Bearer $NATIVPOST_API_KEY"Retrieve
Section titled “Retrieve”GET /api/v1/templates/{id}{ "object": "template", "id": "tpl_5b1a9c3e7f204d68", "name": "Founder story hook", "content_type": "video_hook", "aspect_ratio": "9:16", "supported_platforms": ["instagram", "tiktok", "youtube"], "preview_url": "https://res.cloudinary.com/nativpost/video/upload/.../preview.mp4", "structure": { "caption": "Three years ago I quit my job to build this.", "slide_captions": null }, "curation_status": "approved", "is_active": true, "created_at": "2026-06-08T09:00:00Z"}Using a template
Section titled “Using a template”To generate a content item from a template, create a campaign or a Blitz session in the dashboard. The API accepts a template_id on POST /content when combined with auto_generate: true:
curl -X POST https://app.nativpost.com/api/v1/content \ -H "Authorization: Bearer $NATIVPOST_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "template_id": "tpl_5b1a9c3e7f204d68", "platforms": ["instagram"], "auto_generate": true, "brief": "Focus on the moment I decided to leave." }'The generator uses the template’s structure and the workspace brand profile to draft copy, then returns a content object in draft state.