Skip to content
Meta Business PartnerGlossary term

Template Namespace

A template namespace is the unique string that ties every approved message template to one specific WhatsApp Business Account (WABA). When you send a template through the WhatsApp Business API, the platform needs to know two things: which template you want (by name and language) and which account owns it. The namespace answers the second question. It is a machine identifier — usually a UUID-style value like a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6 — that scopes your template library so no two businesses' templates can ever collide. Understanding it matters because a wrong or stale namespace is one of the quietest reasons a perfectly approved template still fails to deliver.

All message templates within one WhatsApp Business Account (WABA)
What it identifies
A UUID-style string, unique per WABA
Format
One namespace per WABA — shared by every template in that account
Scope
WhatsApp Manager, or via the WABA node in the Graph API
Where to find it
You migrate to a different WABA or re-onboard the number
Changes when
None directly — WhatsApp bills per delivered message by category
Billing link

In one line

The template namespace is a unique per-WABA identifier that groups all of an account's message templates so the WhatsApp API knows which account a template belongs to when you send it.

What a template namespace actually is

Every WhatsApp Business Account has exactly one template namespace, and every message template you create inside that account inherits it automatically. Think of it as the folder that holds all your approved templates: the template name (for example order_confirmation) tells the API which message, the language code (en, hi, ta) tells it which localised version, and the namespace tells it whose library to look in. On older versions of the Cloud API and on many BSP-managed setups, you pass the namespace explicitly alongside the template name in the send request. On the current Cloud API, the namespace is often resolved automatically from your WABA and phone number ID, so you may never touch it by hand — but it is still doing the work behind the scenes. Because it is tied to the account rather than to any single template, you set it once and reuse it across your entire template catalogue.

  • One namespace per WABA, inherited by all templates in that account
  • Not the same as the template name — the name identifies the message, the namespace identifies the account
  • Format is a UUID-style string, not a human-readable label you choose
  • Stays constant as you add, edit, or delete individual templates

Why it matters for Indian businesses on the API

When you run WhatsApp at scale — order updates, OTPs, delivery alerts, promotional broadcasts — you are almost always sending templates, because template messages are what let you message a customer outside the free 24-hour service window. If the namespace your integration sends is wrong, stale, or points at a WABA you no longer control, the API rejects the send even though the template itself is approved and live. That failure looks identical to a dozen other errors, so teams often burn hours debugging the template, the language code, or their token when the real problem is a mismatched namespace. Getting it right up front keeps your utility and authentication messages flowing reliably, which directly protects the customer experiences you depend on — the OTP that has to arrive in seconds, the shipping alert a buyer is waiting on.

Where to find your template namespace

You do not invent a namespace — Meta assigns it when your WABA is created. There are two reliable ways to retrieve it. Inside WhatsApp Manager (the Meta Business Suite tool for your account), the namespace is listed in your account or template settings. Programmatically, you can query the WABA node in the Graph API and read the message_template_namespace field, which returns the exact string to use in your sends. If InfiQ manages your onboarding, we surface the correct namespace and phone number ID for you as part of setup, so your developers copy a value they can trust rather than hunting through dashboards. Whichever route you use, confirm the namespace belongs to the same WABA that owns the phone number you are sending from — that pairing is what has to line up.

  • WhatsApp Manager → account / template settings shows the value
  • Graph API: read message_template_namespace on the WABA node
  • Confirm it belongs to the same WABA as your sending phone number
  • InfiQ provides the correct namespace during onboarding so you don't have to hunt for it

Common mistakes to avoid

The most frequent error is copying a namespace from a sandbox, a demo account, or an old WABA into production — the templates are approved somewhere, just not in the account you are actually sending from. A close second is confusing the namespace with the template name and passing one where the API expects the other. Teams also get caught when they migrate a number to a new WABA (during a BSP switch or a re-onboarding) and forget that the namespace changed with it, leaving hard-coded strings scattered across their codebase. Finally, some assume the namespace has something to do with billing or pricing — it does not. WhatsApp bills per delivered message by category (marketing, utility, or authentication); the namespace only governs identity and routing, never cost. Treat it as configuration you set correctly once and re-verify only when your account structure changes.

  • Using a sandbox or old-WABA namespace in production
  • Passing the namespace where the template name belongs (or vice versa)
  • Forgetting the namespace changes when a number moves to a new WABA
  • Assuming it affects pricing — it governs routing and identity only

Namespace vs template name vs language

These three values work together on every template send, and keeping them straight removes most namespace-related confusion. The namespace is the account-level identifier — one value for your whole WABA. The template name is the specific message you approved, unique within your account. The language code selects which translation of that template to send, since a single named template can hold many localised variants. A send fails if any one of the three is wrong: a bad namespace points at the wrong account, a bad name points at a template that does not exist, and a bad language code asks for a translation you never submitted. When you debug a rejected template send, check all three in order rather than assuming the template content is at fault.

See InfiQ pricing

Talk to InfiQ

See how this works on InfiQ

Tell us your use-case — we’ll show it running in a sandbox, usually within a working day.

Step 1 of 2
WhatsApp

Protected by invisible spam checks · replies within 1 working day

Frequently asked questions

What is a template namespace in WhatsApp?+
It is the unique identifier assigned to a WhatsApp Business Account (WABA) that groups all of that account's message templates. When you send a template through the API, the namespace tells WhatsApp which account owns the template you are requesting.
Where do I find my template namespace?+
You can find it in WhatsApp Manager under your account or template settings, or retrieve it programmatically by reading the message_template_namespace field on your WABA node in the Graph API. If InfiQ handles your onboarding, we provide the correct value during setup.
Is the template namespace the same as the template name?+
No. The namespace identifies your whole WhatsApp Business Account and is shared by every template in it. The template name identifies one specific approved message, such as order_confirmation. You often need both, plus a language code, to send successfully.
Do I always have to pass the namespace when sending?+
Not always. On the current Cloud API the namespace is frequently resolved automatically from your WABA and phone number ID. On older API versions and some BSP-managed setups you pass it explicitly alongside the template name. Either way, the correct namespace still has to match your account.
Does the template namespace change?+
It stays constant while you add, edit, or delete individual templates. It changes only when the account structure changes — for example when you migrate a number to a different WABA or re-onboard. After such a move, update any hard-coded namespace values in your integration.
Does the namespace affect how much I pay for messages?+
No. The namespace only governs template identity and routing. WhatsApp bills per delivered message by category — marketing, utility, or authentication — independent of the namespace. InfiQ applies transparent ₹ pricing (ex-GST).
Why is my approved template still failing to send?+
A common hidden cause is a wrong or stale namespace — the template is approved, but the send points at the wrong account. Also check the template name spelling and the language code. If all three are correct and the number matches the WABA, look at your access token and phone number ID next.
Can two businesses share a template namespace?+
No. Each WABA has its own namespace, so templates are scoped strictly to the account that owns them. This is deliberate — it prevents one business's templates from ever being usable by, or colliding with, another's.