For the exhaustive schema-derived catalog, see all examples.
What it is
Understand WhatsApp template review webhook events and payloads.Before you begin
- Create a public HTTPS endpoint in your application.
- Configure a YCloud webhook endpoint for the event types you need.
- Store the endpoint signing secret securely.
- Make event processing idempotent.
How it works
YCloud sends an HTTPPOST request when the event occurs. Verify the signature, durably record the event, return a 2xx response, and process slow work asynchronously.
Request
The scenarios below show requests delivered to your webhook URL. Treat the eventid as the delivery identifier and use type to route the payload.
Response
Return a2xx status after accepting the event.
For endpoint setup, signature validation, and retry behavior, see Configure webhooks.
Template Approved
In this case, your webhook endpoint received a templateAPPROVED event:
- The template
statusUpdateEventisAPPROVED. - The template
statusis nowAPPROVED.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- Use
wabaId,name, andlanguageto identify the template in your system. - The
statusUpdateEventdescribes what happened on this template status, while thestatusis the current status of the template. They are not always the same. - This event occurs when a template is approved by Meta. The template can be the one you created or edited before. This also happens when a paused template changes to approved automatically.
- Once a template is approved, you can use it to send template messages.
Template Rejected
In this case, your webhook endpoint received a templateREJECTED event:
- The template
statusUpdateEventisREJECTED. - The template
statusis nowREJECTED.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- This event occurs when a template is rejected. The template can be the one you created or edited before.
- Once a template is rejected, you cannot use it to send template messages. You can edit this template to start a new review.
Template Paused
In this case, your webhook endpoint received a templatePAUSED event:
- The template
statusUpdateEventisPAUSED. - The template
statusis nowPAUSED. - The reason why the template is paused.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- This event occurs when a template is paused. You cannot use it to send messages.
- Pausing durations are as follows:
- 1st Instance: Paused for 3 hours
- 2nd Instance: Paused for 6 hours
- 3rd Instance: Disabled
- A
APPROVEDevent occurs when a paused template changes to normal status. - See also Template Pausing.
Template Flagged
In this case, your webhook endpoint received a templateFLAGGED event:
- The template
statusUpdateEventisFLAGGED. - The template status is now
APPROVED. - Contains the date when the template will be disabled.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- The
statusUpdateEventdescribes what happened on this template status, while thestatusis the current status of the template. They are not always the same.
Template Disabled
In this case, your webhook endpoint received a templateDISABLED event:
- The template
statusUpdateEventisDISABLED. - The template status is now
DISABLED.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- A template status changes to
DISABLEDat its 3rd pausing. - See also Template Pausing.
Template Pending Deletion
In this case, your webhook endpoint received a templatePENDING_DELETION event:
- The template
statusUpdateEventisPENDING_DELETION. - The template status is now
DELETED.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- Occurs when you delete a template.
- The message template is being deleted. Remember that the name of this template can’t be used again for 30 days. You’ll need to use a different name to create new message templates.
Template Archived
In this case, your webhook endpoint received a templateARCHIVED event:
- The template
statusUpdateEventisARCHIVED. - The template
statusis nowARCHIVED.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- This event occurs when a template is archived.
- Archived templates cannot be sent or edited.
Template Unarchived
In this case, your webhook endpoint received a templateUNARCHIVED event:
- The template
statusUpdateEventisUNARCHIVED. - The template
statusis the current status returned by Meta, for exampleAPPROVED.
Request
Response
Acknowledge the delivery after durably accepting the event.Explanation
- This event occurs when a template is unarchived.
- The
statusmay beAPPROVED, but this event does not mean the template was newly approved by Meta. - Use
statusUpdateEventto distinguishUNARCHIVEDfrom a realAPPROVEDreview event.

