---
title: "List message templates"
method: GET
path: "/api/v1/whatsapp_templates"
tags: ["whatsapp-templates"]
---

# List message templates

`GET /api/v1/whatsapp_templates`

## Request

- Base URL: `https://api.izap.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.izap.ai/api/v1/whatsapp_templates`
- Auth: HTTP bearer

Returns the business's WhatsApp message templates, optionally filtered by review status.

## Query parameters

- `status` 'draft' | 'pending' | 'approved' | 'rejected' | 'paused' | 'disabled': Lifecycle/approval status of a template. DRAFT is local-only (not yet submitted to Meta). The remaining values mirror the statuses returned by the WhatsApp Cloud API.

## Headers

- `business-id` string, uuid, required

## Response `200`

Successful Response

- TemplateListResponse
  - `templates` WhatsAppTemplateOut[], required
    - `name` string, required
    - `display_name` string, nullable
    - `language` string
    - `category` 'marketing' | 'utility' | 'authentication': WhatsApp/Meta template category. Drives approval rules and pricing.
    - `header_format` 'none' | 'text' | 'image' | 'video' | 'document'
    - `header_text` string, nullable
    - `header_media_document_id` string, uuid, nullable
    - `body_text` string, required
    - `footer_text` string, nullable
    - `buttons` TemplateButtonOut[]
      - `type` string, required: QUICK_REPLY | URL | PHONE_NUMBER | VOICE_CALL | FLOW | REQUEST_CONTACT_INFO | ORDER_DETAILS | COPY_CODE | OTP
      - `text` string
      - `url` string, nullable
      - `phone_number` string, nullable
      - `flow_id` string, nullable
      - `flow_action` string, nullable
      - `navigate_screen` string, nullable
    - `call_permission_request` boolean: Add Meta's call permission request component (marketing/utility only, no buttons).
    - `example_variables` string[]
    - `id` string, uuid, required
    - `business_id` string, uuid, required
    - `waba_id` string, nullable
    - `status` 'draft' | 'pending' | 'approved' | 'rejected' | 'paused' | 'disabled', required: Lifecycle/approval status of a template. DRAFT is local-only (not yet submitted to Meta). The remaining values mirror the statuses returned by the WhatsApp Cloud API.
    - `provider_template_id` string, nullable
    - `rejection_reason` string, nullable
    - `quality_score` string, nullable
    - `last_synced_at` string, date-time, nullable
    - `created` string, date-time, required
    - `modified` string, date-time, required
  - `total_count` integer, required

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The credential is valid but not authorized for this action.
- `404`: The resource, or the business named in the request, does not exist.
- `422`: Validation Error
- `default`: Unexpected error.

---

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