---
title: "Submit a WhatsApp template to Meta"
method: POST
path: "/v1/design_studio/whatsapp/{id}/submit"
tags: ["WhatsApp approval"]
---

# Submit a WhatsApp template to Meta

`POST /v1/design_studio/whatsapp/{id}/submit`

## Request

- Base URL: `https://api.customer.io`
- URL: `https://api.customer.io/v1/design_studio/whatsapp/{id}/submit`
- Auth: none declared

Submit a WhatsApp template to Meta for approval. Customer.io sends the template's content, category, and language to Meta, which creates a new template in your WhatsApp Business Account. Submitting doesn't change any workflow the template is linked to. To update the workflow, you need to publish the template.

You can submit a template once. You can only submit it again if Meta rejects it. Each submission creates a new template in Meta, named after your Design Studio template with a unique suffix. After you submit a template, you can't change its content, category, or language unless Meta rejects it.

Meta asks for a sample value for each liquid variable in a template so it can review the message. You can't set samples through the API. If your template contains liquid, add variable samples in Design Studio before you submit it.

Meta's review can take some time. Check the template's status to find out when Meta approves or rejects it.

## Path parameters

- `id` string, uuid, required

## Response `200`

Template submitted to Meta

- object
  - `whatsapp_template_id` string: Meta's ID for the template you submitted.
  - `category` 'MARKETING' | 'UTILITY': The category Meta accepted the template under.
  - `status` 'PENDING' | 'APPROVED' | 'REJECTED' | 'PAUSED': The template's Meta status right after you submit it. This is usually `PENDING` while Meta reviews the template.

## Other responses

- `400`: The request is invalid, or Meta refused the template. When Meta refuses it, the error includes Meta's reason.
- `401`: Authentication failed due to a missing or invalid API key.
- `404`: The template doesn't exist, or your workspace doesn't connect to WhatsApp through a Meta Business Account.
- `409`: You already submitted the template, and Meta hasn't rejected it. The error's `meta.status` holds the template's current Meta status.
- `422`: The liquid in the template's content or recipient isn't valid, so Customer.io doesn't submit it. Each error's `source.pointer` names the field that failed, as `/data/attributes/content` or `/data/attributes/recipient`. Fix the template, then submit it again.

## Changes

- **2026-10-28** `f33c07c62301`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/design_studio/whatsapp/:id/submit/post.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) - [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/revisions/ac0b282053fe?raw)
