Skip to content

A glossary story9 chapters · 5 min read

Template Status

The lifecycle field on every WhatsApp template — PENDING, APPROVED, REJECTED, PAUSED, DISABLED and more — that decides whether it can be sent.

Also called: Message template status · Template lifecycle · Template states

Reviewed

Follow along

Walk a template through every status it can hold

6 / 6
  • PENDING to APPROVED: passes review
  • PENDING to REJECTED: fails review
  • REJECTED to PENDING: edit & resubmit
  • REJECTED to IN_APPEAL: appeal
  • IN_APPEAL to APPROVED: upheld
  • IN_APPEAL to REJECTED: denied
  • APPROVED to PAUSED: quality low
  • PAUSED to APPROVED: pause ends
  • PAUSED to DISABLED: third pause
  • DISABLED to PENDING: edit & resubmit
  • APPROVED to ARCHIVED: 12 months unused
  • ARCHIVED to APPROVED: unarchive
  • ARCHIVED to DELETED: 28 days pass
  • APPROVED to DELETED: you delete it
  1. PENDING
  2. APPROVED
  3. PAUSED
  4. APPROVED
  5. ARCHIVED
  6. DELETED

Step 6 of 6 · end of walk

DELETED

Deleted by you (PENDING_DELETION while sent messages finish delivering) or after archiving. An approved name is blocked for 30 days.

Arrived from ARCHIVED via 28 days pass.

Can move to

Nothing — this is a final state.

Each box is a value of the template's status field. Play the walks to follow review, an appeal, three quality strikes and a year without sends; select a state to read what it allows.

Happy path, step 6 of 6: DELETED (via 28 days pass). Deleted by you (PENDING_DELETION while sent messages finish delivering) or after archiving. An approved name is blocked for 30 days.

Chapter 1 · The scenario

Example: Exam season at a Lucknow coaching institute

A coaching institute in Lucknow keeps 40 templates in English and Hindi, and its sender service caches each template's status from webhooks. When the Hindi fee_reminder translation is still PENDING the night before fees are due, the service sends the approved English version to Hindi-preference students instead of failing. A week later a results-day promotion is PAUSED; the cache flips, the campaign job stops by itself, and it resumes when the unpause notice arrives three hours later.

— Exam season at a Lucknow coaching institute

Chapter 2 · What is template status?

Template status is the status field Meta keeps on every message template, one per name-and-language pair. It answers the question every send depends on: can this template go out right now? Only APPROVED templates can be sent. The API's full set of values is PENDING, APPROVED, REJECTED, IN_APPEAL, PAUSED, DISABLED, PENDING_DELETION, DELETED, ARCHIVED and LIMIT_EXCEEDED.

Statuses move through a lifecycle. A new template is PENDING while it is reviewed (up to 24 hours), then APPROVED or REJECTED, and a rejection can go IN_APPEAL. An approved template whose quality falls to low is PAUSED for 3 hours, then 6, and DISABLED the third time. A template unused for 12 months is ARCHIVED and deleted 28 days later unless unarchived. A template you delete becomes PENDING_DELETION while messages already sent with it keep trying to deliver for up to 30 days. LIMIT_EXCEEDED means the WABA is at its template limit.

WhatsApp Manager shows friendlier labels that blend status with quality: In review, Active – Quality pending, Active – High, Medium or Low quality, Paused, Disabled, Appeal requested. In code, read status and quality_score as separate fields and keep them current with the message_template_status_update webhook, which also reports passing events such as FLAGGED, REINSTATED, LOCKED and UNARCHIVED. Template approval is only the first transition in this lifecycle; status covers all of it.

Key takeaways

  • Template status is the status field on every WhatsApp template, and only APPROVED templates can be sent.
  • API values: PENDING, APPROVED, REJECTED, IN_APPEAL, PAUSED, DISABLED, PENDING_DELETION, DELETED, ARCHIVED and LIMIT_EXCEEDED.
  • WhatsApp Manager labels such as Active – Low quality mix status and quality; read status and quality_score separately.
  • Templates unused for 12 months are archived, then deleted 28 days later unless you unarchive them.
  • Track changes with the message_template_status_update webhook and poll the template list only to reconcile.

Chapter 3 · How it unfolds

How does template status work?

  1. Submit: PENDING

    Creating a template with POST /{WABA_ID}/message_templates returns its id and status — normally PENDING while review runs.

  2. Review: APPROVED or REJECTED

    Approval makes it sendable; a rejection carries a reason. A rejected template can be edited and resubmitted, or appealed (IN_APPEAL).

  3. Quality: PAUSED or DISABLED

    Low quality pauses an approved template for 3 hours, then 6, and the third time disables it. Paused and disabled templates cannot be sent.

  4. Inactivity or deletion: ARCHIVED, PENDING_DELETION

    Twelve months without sends archives a template; deleting one starts PENDING_DELETION. The name of a deleted approved template is blocked for 30 days.

  5. The webhook keeps you in sync

    message_template_status_update reports each change with event, reason and, for pauses, other_info. Read GET /{WABA_ID}/message_templates only to reconcile.

Chapter 4 · In code

Template status in code

curl "https://graph.facebook.com/v26.0/{WABA_ID}/message_templates?fields=name,language,status,category,quality_score&limit=100" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
| jq '.data[] | select(.status != "APPROVED") | {name, language, status}'

A nightly reconcile: list every template (follow paging.next for more pages) and flag anything not APPROVED. Webhooks carry the changes in between.

Chapter 5 · The facts

Template status: key facts and limits

Sendable statusAPPROVED only
ReviewPENDING, up to 24 hours
Quality strikesPAUSED 3 h, then 6 h, then DISABLED
ArchivingAfter 12 months unused; deleted 28 days later
After deletionName blocked 30 days; in-flight delivery up to 30 days
Editable statusesAPPROVED, REJECTED, PAUSED (and DISABLED, per Meta's pausing guide)
Webhook fieldmessage_template_status_update

Chapter 6 · Why it matters

Why does template status matter?

Sending on a template that is not APPROVED fails, and the failure usually surfaces far from its cause — a stalled journey, a broadcast full of errors. A developer who mirrors status from webhooks can block sends before they fail, route around a paused template, warn a marketer that a translation is still pending, and avoid deleting a template whose name then cannot be reused for 30 days.

Chapter 7 · Where it goes wrong

Common mistakes with template status

  • Treating Manager labels as API values

    "Active – Low quality" is not a status; it is APPROVED with a RED quality score. Read status and quality_score separately.

  • Deleting a template to reset it

    Deleting by name removes every language with that name and blocks the name for 30 days. Edit instead where the status allows it.

  • Assuming status is per name

    Each language is its own template with its own status. An approved English version says nothing about the Hindi one.

  • Forgetting archiving

    Seasonal templates unused for a year are archived, then deleted after 28 days. Unarchive the ones you need well before the season.

  • Polling instead of listening

    Frequent polling of message_templates adds load and still lags. Use the webhook for changes and poll only to reconcile.

Chapter 8 · Template Status FAQs

Template Status FAQs

Which template statuses can be sent?+
Only `APPROVED`. Pending, rejected, in-appeal, paused, disabled, archived and deleting templates all fail when you try to send them.
What is the difference between PAUSED and DISABLED?+
Paused is temporary — 3 hours, then 6 — after the template's quality falls to low. Disabled follows the third pause and lasts until you edit the template and it is approved again.
What does PENDING_DELETION mean?+
The template has been deleted, for example in WhatsApp Manager. Messages already sent with it keep trying to deliver for up to 30 days.
Why does WhatsApp Manager say Active when the API says APPROVED?+
Manager combines status with quality. Active – High, Medium or Low quality and Active – Quality pending are all `APPROVED` in the API, with different `quality_score` values.

Chapter 9 · What good teams do

Best practices for template status

  • Fail fast with a clear message when a template is not APPROVED, instead of surfacing a Graph API error.
  • Store reason and other_info.title with each change so support can explain a pause or rejection.
  • Keep a fallback template for each critical journey in case the primary one is paused.
  • Treat FLAGGED as an early warning even though the template still sends.

From definition to your first message

InfiQ is an official Meta Business Partner. Start a 7-day free trial — no card needed — and see this running on your own number.