---
title: "E15008 — WhatsAppTemplateComponentsInvalid"
description: "The language's components are not a valid template document."
canonical: "https://bird.com/docs/api/errors/E15008"
---

# E15008 — WhatsAppTemplateComponentsInvalid

The language's components are not a valid template document.

- **HTTP status**: `422`
- **Type**: `validation_error`
- **Name**: `WhatsAppTemplateComponentsInvalid`

## What to do

The blocks are arranged in a way WhatsApp does not accept. Saving a draft refuses only the structural problems. A language carries at most one block of each type, and a `format` belongs only on a header block, which must carry one this API accepts. The rest are checked when you submit: every card in a carousel carries the same blocks in the same order, each card needs a header, a coupon button needs its sample code, and an authentication template carries no copy of its own because WhatsApp writes it. The response names the block at fault.

## Related

- [E15xxx — WhatsApp sending & delivery](/docs/api/errors/E15xxx): every code in this range
- [Errors](/docs/api/errors): the full wire contract, status mapping, and error catalog
- [Error handling](/docs/guides/errors): branching on `type` and `code`, validation details, and `vendor_code`

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
