Skip to main content
Enumerations used by the Template endpoints. Endpoints link here instead of repeating the full value lists.

Template Category

The category of a WhatsApp message template; determines the component rules. Used by: Create Template, Get Templates, Get Template Detail, and Update Template.

Template Status

The review/lifecycle status of a template. Used by: Get Templates, Get Template Detail, Create Template, and Update Template.

Template Component Type

The type of an entry in a response components array. Used by: Get Templates, Get Template Detail, and Update Template — all with expand=components.

Card Component Type

The type of a component inside a carousel card (components[].cards[].components[]). A card is a reduced template: it has no footer and no limited-time offer. Used by: Get Template Detail.

Header Format

The format of a template header (header.format), and of each carousel card header. Used by: Create Template and Update Template.
Requests and responses differ slightly. On the way in, NONE is valid and is the default. On the way out, a HEADER component never reports NONE (the component is simply absent) but may report CAROUSEL for a carousel template’s header component.
Not every format is valid everywhere: AUTHENTICATION allows no header at all, a carousel card header must be IMAGE or VIDEO, and a limited-time offer header is limited to NONE / IMAGE / VIDEO.

Button Type

The type of a template button (buttons[].type). Used by: Create Template and Update Template.
Category and component rules narrow this list: AUTHENTICATION accepts only OTP, UTILITY accepts no OTP and no COPY_CODE, a carousel card accepts only QUICK_REPLY / URL / PHONE_NUMBER, and a limited-time offer accepts only COPY_CODE / URL.

OTP Type

The sub-type of an OTP button (buttons[].otpType), used by AUTHENTICATION templates. Used by: Create Template and Update Template.

Template Expand

Optional expansions requested through the repeatable expand query parameter. Used by: Get Templates and Get Template Detail. Any other value is rejected with 422.

Template Language

The language code a template is created in (language). This is a closed list — a code outside it is rejected with 422, so it is not free-form BCP-47. Used by: Create Template.
The language query filter on Get Templates is a plain string and is passed to Meta as-is, so it is not restricted to this list.

Template Quality Score

The quality rating of a template, derived by Meta from user feedback. Used by: Get Templates and Get Template Detail.

Template Parameter Format

How variables are referenced within a template. Used by: Get Templates and Get Template Detail.

Template Rejected Reason

Why Meta rejected a template. Used by: Get Templates and Get Template Detail (rejectedReason).

Template Metrics Granularity

The time-bucket period for template analytics. Used by: Get Template Metrics (granularity query parameter; default DAILY).

Template Metrics Metric Type

Which metrics Meta should return. Repeatable via the metricType query parameter; omit it to get the core set. Anything outside the core set is surfaced per bucket under additionalMetrics. Used by: Get Template Metrics.

Template Metrics Product Type

The messaging product the metrics are scoped to. Used by: Get Template Metrics (productType query parameter; omit for all products).

Template Metrics Click Type

How a button click was recorded. Appears as type inside clicksBreakdown. Used by: Get Template Metrics.

Template Metrics Cost Type

The kind of cost line reported. Appears as type inside costBreakdown. Used by: Get Template Metrics.