Developer Documentation

Riffre API Reference

Everything you need to send WhatsApp text, template, media and interactive messages from your own systems.

List Templates

Fetch every message template on a WhatsApp Business Account, with its approval status, quality score and component structure.

Last updated 14 Aug 2026

Endpoint

GET /templates.php

Requires the Authorization: Bearer header described in Authentication.

Query parameters

FieldTypeRequiredDescription
numberstringyesYour own connected WhatsApp number (the one this API key is bound to), digits only.

Example request

curl "https://your-riffre-domain.com/api/v1/templates.php?number=911234567890" \
  -H "Authorization: Bearer rf_live_YOUR_API_KEY"

Success response

200 OK:

{
  "templates": [
    {
      "id": "1234567890123456",
      "name": "order_update",
      "language": "en_US",
      "category": "UTILITY",
      "status": "APPROVED",
      "quality_score": "GREEN",
      "components": [
        {"type": "BODY", "text": "Hi {{1}}, your order {{2}} is ready."}
      ],
      "rejection_reason": null,
      "last_synced_at": "2026-08-14 12:00:00"
    }
  ]
}
FieldDescription
statusPENDING, APPROVED, REJECTED, or another Meta review status.
componentsThe template's structure exactly as approved - use it to build the components array when sending this template with Send a Template Message.
last_synced_atWhen this row was last updated from Meta (status changes arrive by webhook, not by polling).

This reads from Riffre's local copy of your templates, not a live Meta call, so it stays fast even with many templates.

See Errors for the general error response shape.