{"id":279696,"date":"2026-08-06T15:14:16","date_gmt":"2026-08-06T13:14:16","guid":{"rendered":"https:\/\/www.unipile.com\/?p=279696"},"modified":"2026-08-07T10:27:11","modified_gmt":"2026-08-07T08:27:11","slug":"whatsapp-group-api","status":"publish","type":"post","link":"https:\/\/www.unipile.com\/nl\/whatsapp-group-api\/","title":{"rendered":"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.3&#8243; background_color=&#8221;transparent&#8221; custom_padding=&#8221;40px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.3&#8243; background_color=&#8221;transparent&#8221; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.3&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.3&#8243; global_colors_info=&#8221;{}&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#unipile-toc,\n#unipile-toc *,\n#unipile-toc *::before,\n#unipile-toc *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#unipile-toc {\n  all: initial !important;\n  display: block !important;\n  max-width: 1100px !important;\n  margin: 0 auto !important;\n  padding: 0 !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n}\n#unipile-toc .utc-card {\n  background: #ffffff !important;\n  border-radius: 16px !important;\n  border: 1px solid #e5e7eb !important;\n  padding: 32px !important;\n  box-shadow: 0 2px 12px rgba(15, 39, 54, 0.04) !important;\n}\n#unipile-toc .utc-header {\n  display: flex !important;\n  align-items: center !important;\n  justify-content: space-between !important;\n  gap: 12px !important;\n  margin-bottom: 24px !important;\n  padding-bottom: 20px !important;\n  border-bottom: 1px solid #e5e7eb !important;\n}\n#unipile-toc .utc-header-left {\n  display: flex !important;\n  align-items: center !important;\n  gap: 12px !important;\n}\n#unipile-toc .utc-icon-box {\n  width: 36px !important;\n  height: 36px !important;\n  background: rgba(59, 185, 139, 0.12) !important;\n  border-radius: 8px !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  flex-shrink: 0 !important;\n}\n#unipile-toc .utc-icon-box svg {\n  width: 18px !important;\n  height: 18px !important;\n  stroke: #3BB98B !important;\n  fill: none !important;\n  stroke-width: 2.2 !important;\n  stroke-linecap: round !important;\n  stroke-linejoin: round !important;\n}\n#unipile-toc .utc-title {\n  font-family: 'Poppins', sans-serif !important;\n  font-size: 15px !important;\n  font-weight: 700 !important;\n  color: #0f2736 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.5px !important;\n}\n#unipile-toc .utc-toggle {\n  display: none !important;\n  align-items: center !important;\n  gap: 6px !important;\n  background: transparent !important;\n  cursor: pointer !important;\n  font-size: 13px !important;\n  font-weight: 600 !important;\n  color: #3BB98B !important;\n  padding: 6px 10px !important;\n  border-radius: 6px !important;\n  transition: background 0.2s ease !important;\n}\n#unipile-toc .utc-toggle svg {\n  width: 14px !important;\n  height: 14px !important;\n  stroke: #3BB98B !important;\n  fill: none !important;\n  stroke-width: 2.5 !important;\n  stroke-linecap: round !important;\n  stroke-linejoin: round !important;\n  transition: transform 0.3s ease !important;\n}\n#unipile-toc.utc-collapsed .utc-toggle svg {\n  transform: rotate(-90deg) !important;\n}\n#unipile-toc .utc-grid {\n  display: grid !important;\n  grid-template-columns: repeat(4, 1fr) !important;\n  gap: 0 !important;\n}\n#unipile-toc .utc-col {\n  padding: 0 24px !important;\n  border-left: 1px solid #e5e7eb !important;\n}\n#unipile-toc .utc-col:first-child {\n  padding-left: 0 !important;\n  border-left: none !important;\n}\n#unipile-toc .utc-col:last-child {\n  padding-right: 0 !important;\n}\n#unipile-toc .utc-col-label {\n  font-size: 11px !important;\n  font-weight: 700 !important;\n  color: #94a3b8 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.8px !important;\n  margin-bottom: 14px !important;\n  display: block !important;\n}\n#unipile-toc .utc-link-list {\n  display: flex !important;\n  flex-direction: column !important;\n  gap: 10px !important;\n}\n#unipile-toc .utc-link {\n  display: flex !important;\n  align-items: flex-start !important;\n  gap: 10px !important;\n  cursor: pointer !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n  padding: 4px 0 !important;\n}\n#unipile-toc .utc-num {\n  width: 18px !important;\n  height: 18px !important;\n  flex-shrink: 0 !important;\n  background: #f4f5f7 !important;\n  border-radius: 4px !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  font-size: 10px !important;\n  font-weight: 700 !important;\n  color: #94a3b8 !important;\n  transition: all 0.2s ease !important;\n  margin-top: 1px !important;\n}\n#unipile-toc .utc-num.utc-num-faq {\n  font-size: 8px !important;\n  letter-spacing: 0.2px !important;\n}\n#unipile-toc .utc-link-text {\n  font-size: 13px !important;\n  font-weight: 500 !important;\n  color: #383838 !important;\n  line-height: 1.45 !important;\n  transition: color 0.2s ease !important;\n  flex: 1 !important;\n}\n#unipile-toc .utc-link:hover .utc-num {\n  background: rgba(59, 185, 139, 0.15) !important;\n  color: #3BB98B !important;\n}\n#unipile-toc .utc-link:hover .utc-link-text {\n  color: #0f2736 !important;\n}\n#unipile-toc .utc-link.utc-active .utc-num {\n  background: #3BB98B !important;\n  color: #ffffff !important;\n}\n#unipile-toc .utc-link.utc-active .utc-link-text {\n  color: #0f2736 !important;\n  font-weight: 600 !important;\n}\n#unipile-toc .utc-link.utc-read .utc-num {\n  background: rgba(59, 185, 139, 0.15) !important;\n  color: #3BB98B !important;\n}\n#unipile-toc .utc-tag-best {\n  display: inline-block !important;\n  font-size: 9px !important;\n  font-weight: 700 !important;\n  color: #ffffff !important;\n  background: #3BB98B !important;\n  padding: 2px 6px !important;\n  border-radius: 4px !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.5px !important;\n  margin-left: 6px !important;\n  vertical-align: middle !important;\n}\n\n@media (max-width: 1000px) {\n  #unipile-toc .utc-grid {\n    grid-template-columns: repeat(2, 1fr) !important;\n    gap: 24px 0 !important;\n  }\n  #unipile-toc .utc-col {\n    padding: 0 20px !important;\n  }\n  #unipile-toc .utc-col:nth-child(2n+1) {\n    padding-left: 0 !important;\n    border-left: none !important;\n  }\n  #unipile-toc .utc-col:nth-child(2n) {\n    padding-right: 0 !important;\n  }\n}\n\n@media (max-width: 700px) {\n  #unipile-toc .utc-card {\n    padding: 22px !important;\n  }\n  #unipile-toc .utc-header {\n    margin-bottom: 0 !important;\n    padding-bottom: 0 !important;\n    border-bottom: none !important;\n  }\n  #unipile-toc .utc-toggle {\n    display: flex !important;\n  }\n  #unipile-toc .utc-grid {\n    grid-template-columns: 1fr !important;\n    gap: 22px !important;\n    max-height: 2000px !important;\n    overflow: hidden !important;\n    transition: max-height 0.4s ease, margin-top 0.3s ease, padding-top 0.3s ease !important;\n    margin-top: 22px !important;\n    padding-top: 22px !important;\n    border-top: 1px solid #e5e7eb !important;\n  }\n  #unipile-toc.utc-collapsed .utc-grid {\n    max-height: 0 !important;\n    margin-top: 0 !important;\n    padding-top: 0 !important;\n    border-top: none !important;\n  }\n  #unipile-toc .utc-col {\n    padding: 0 !important;\n    border-left: none !important;\n    border-top: 1px solid #e5e7eb !important;\n    padding-top: 18px !important;\n  }\n  #unipile-toc .utc-col:first-child {\n    border-top: none !important;\n    padding-top: 0 !important;\n  }\n}\n<\/style>\n\n<div id=\"unipile-toc\">\n  <div class=\"utc-card\">\n    <div class=\"utc-header\">\n      <div class=\"utc-header-left\">\n        <div class=\"utc-icon-box\">\n          <svg viewBox=\"0 0 24 24\">\n            <line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/>\n            <line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/>\n            <line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/>\n            <line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/>\n            <line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/>\n            <line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/>\n          <\/svg>\n        <\/div>\n        <span class=\"utc-title\">Table of Contents<\/span>\n      <\/div>\n      <button type=\"button\" class=\"utc-toggle\" aria-label=\"Toggle table of contents\">\n        <span class=\"utc-toggle-label\">Hide<\/span>\n        <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n      <\/button>\n    <\/div>\n\n    <div class=\"utc-grid\">\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">The answer<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wga-support\">\n            <span class=\"utc-num\">01<\/span>\n            <span class=\"utc-link-text\">Does it support groups?<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-definition\">\n            <span class=\"utc-num\">02<\/span>\n            <span class=\"utc-link-text\">What is the Groups API?<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-eligibility\">\n            <span class=\"utc-num\">03<\/span>\n            <span class=\"utc-link-text\">Who can use it?<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">Limits &amp; endpoints<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wga-limits\">\n            <span class=\"utc-num\">04<\/span>\n            <span class=\"utc-link-text\">Participant &amp; group limits<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-endpoints\">\n            <span class=\"utc-num\">05<\/span>\n            <span class=\"utc-link-text\">The 12 group endpoints<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-add-participant\">\n            <span class=\"utc-num\">06<\/span>\n            <span class=\"utc-link-text\">Adding a participant<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">Building with it<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wga-unsupported\">\n            <span class=\"utc-num\">07<\/span>\n            <span class=\"utc-link-text\">What&#8217;s not supported<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-send\">\n            <span class=\"utc-num\">08<\/span>\n            <span class=\"utc-link-text\">Sending a group message<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-webhooks\">\n            <span class=\"utc-num\">09<\/span>\n            <span class=\"utc-link-text\">Group webhooks<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"utc-col\">\n        <span class=\"utc-col-label\">Solution &amp; FAQ<\/span>\n        <div class=\"utc-link-list\">\n          <a class=\"utc-link\" href=\"#wga-pricing\">\n            <span class=\"utc-num\">10<\/span>\n            <span class=\"utc-link-text\">Group messaging pricing<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-unipile\">\n            <span class=\"utc-num\">11<\/span>\n            <span class=\"utc-link-text\">Linked WhatsApp accounts<span class=\"utc-tag-best\">Best<\/span><\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-decision\">\n            <span class=\"utc-num\">12<\/span>\n            <span class=\"utc-link-text\">Groups API vs linked account<\/span>\n          <\/a>\n          <a class=\"utc-link\" href=\"#wga-faq\">\n            <span class=\"utc-num utc-num-faq\">FAQ<\/span>\n            <span class=\"utc-link-text\">Frequently Asked Questions<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var toc = document.getElementById('unipile-toc');\n  if (!toc) return;\n\n  var toggleBtn = toc.querySelector('.utc-toggle');\n  var toggleLabel = toc.querySelector('.utc-toggle-label');\n  if (toggleBtn) {\n    toggleBtn.addEventListener('click', function(){\n      var isCollapsed = toc.classList.toggle('utc-collapsed');\n      if (toggleLabel) toggleLabel.textContent = isCollapsed ? 'Show' : 'Hide';\n    });\n    if (window.innerWidth <= 700) {\n      toc.classList.add('utc-collapsed');\n      if (toggleLabel) toggleLabel.textContent = 'Show';\n    }\n  }\n\n  var links = toc.querySelectorAll('.utc-link');\n  links.forEach(function(link){\n    link.addEventListener('click', function(e){\n      var href = link.getAttribute('href');\n      if (!href || href.charAt(0) !== '#') return;\n      var target = document.getElementById(href.substring(1));\n      if (target) {\n        e.preventDefault();\n        var offset = 80;\n        var top = target.getBoundingClientRect().top + window.pageYOffset - offset;\n        window.scrollTo({ top: top, behavior: 'smooth' });\n      }\n    });\n  });\n\n  var sectionIds = [];\n  links.forEach(function(link){\n    var href = link.getAttribute('href');\n    if (href &#038;&#038; href.charAt(0) === '#') sectionIds.push(href.substring(1));\n  });\n\n  function updateActive(){\n    var scrollY = window.pageYOffset + 120;\n    var activeId = null;\n    var readIds = [];\n    sectionIds.forEach(function(id){\n      var el = document.getElementById(id);\n      if (el) {\n        var top = el.getBoundingClientRect().top + window.pageYOffset;\n        if (top <= scrollY) {\n          activeId = id;\n          readIds.push(id);\n        }\n      }\n    });\n    links.forEach(function(link){\n      var href = link.getAttribute('href');\n      var id = href ? href.substring(1) : '';\n      link.classList.remove('utc-active', 'utc-read');\n      if (id === activeId) {\n        link.classList.add('utc-active');\n      } else if (readIds.indexOf(id) !== -1) {\n        link.classList.add('utc-read');\n      }\n    });\n  }\n\n  if ('IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function(){\n      updateActive();\n    }, { rootMargin: '-120px 0px -60% 0px' });\n    sectionIds.forEach(function(id){\n      var el = document.getElementById(id);\n      if (el) observer.observe(el);\n    });\n  }\n  window.addEventListener('scroll', updateActive, { passive: true });\n  updateActive();\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n#upl-wga-hero { background: transparent !important; }\n#upl-wga-hero *, #upl-wga-hero *::before, #upl-wga-hero *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-hero br { display: none !important; }\n#upl-wga-hero p { display: contents !important; }\n\n#upl-wga-hero { padding: 64px 20px 70px !important; overflow-x: hidden !important; max-width: 100vw !important; }\n#upl-wga-hero .wgh-container {\n  max-width: 1200px !important;\n  margin: 0 auto !important;\n  display: grid !important;\n  grid-template-columns: 1.05fr 0.95fr !important;\n  gap: 56px !important;\n  align-items: center !important;\n}\n#upl-wga-hero .wgh-badge {\n  display: inline-flex !important;\n  align-items: center !important;\n  gap: 8px !important;\n  background: rgba(59, 185, 139, 0.12) !important;\n  padding: 7px 14px !important;\n  border-radius: 20px !important;\n  margin-bottom: 22px !important;\n}\n#upl-wga-hero .wgh-badge-dot { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: #3BB98B !important; flex-shrink: 0 !important; }\n#upl-wga-hero .wgh-badge span:not(.wgh-badge-dot) { font-size: 12px !important; font-weight: 700 !important; color: #2aaa7e !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }\n\n#upl-wga-hero h1 {\n  font-family: 'Poppins', sans-serif !important;\n  font-size: 44px !important;\n  font-weight: 700 !important;\n  color: #0f2736 !important;\n  line-height: 1.18 !important;\n  margin-bottom: 22px !important;\n}\n#upl-wga-hero h1 span { color: #3BB98B !important; }\n\n#upl-wga-hero .wgh-desc {\n  font-size: 17px !important;\n  line-height: 1.75 !important;\n  color: #383838 !important;\n  margin-bottom: 32px !important;\n}\n#upl-wga-hero .wgh-desc strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-hero .wgh-actions { display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; }\n#upl-wga-hero .wgh-cta-primary {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: #DDDF4C !important; color: #0f2736 !important;\n  padding: 14px 28px !important; border-radius: 8px !important;\n  font-size: 0.95rem !important; font-weight: 600 !important;\n  border: 2px solid #DDDF4C !important; transition: all 0.3s ease !important; cursor: pointer !important; white-space: nowrap !important;\n}\n#upl-wga-hero .wgh-cta-primary:hover { transform: translateY(-5px) !important; }\n#upl-wga-hero .wgh-cta-primary svg { width: 16px !important; height: 16px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }\n#upl-wga-hero .wgh-cta-secondary {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: transparent !important; color: #0f2736 !important;\n  padding: 12px 24px !important; border-radius: 8px !important;\n  font-size: 0.95rem !important; font-weight: 600 !important;\n  border: 2px solid #0f2736 !important; transition: all 0.3s ease !important; cursor: pointer !important; white-space: nowrap !important;\n}\n#upl-wga-hero .wgh-cta-secondary:hover { background: #0f2736 !important; color: #ffffff !important; }\n\n\/* Mockup visual *\/\n#upl-wga-hero .wgh-visual { position: relative !important; }\n#upl-wga-hero .wgh-mockup { background: #ffffff !important; border-radius: 16px !important; border: 1px solid #e5e7eb !important; overflow: hidden !important; max-width: 440px !important; margin: 0 auto !important; }\n#upl-wga-hero .wgh-mockup-header { display: flex !important; align-items: center !important; gap: 10px !important; padding: 14px 20px !important; background: #f8fafc !important; border-bottom: 1px solid #e5e7eb !important; }\n#upl-wga-hero .wgh-mockup-header img { width: 20px !important; height: 20px !important; flex-shrink: 0 !important; }\n#upl-wga-hero .wgh-mockup-header-text { font-size: 0.85rem !important; font-weight: 600 !important; color: #0f2736 !important; flex: 1 !important; }\n#upl-wga-hero .wgh-live-dot { display: inline-flex !important; align-items: center !important; gap: 5px !important; font-size: 0.65rem !important; font-weight: 700 !important; color: #3BB98B !important; text-transform: uppercase !important; letter-spacing: 0.4px !important; }\n#upl-wga-hero .wgh-live-dot span:first-child { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #3BB98B !important; }\n#upl-wga-hero .wgh-mockup-body { padding: 20px !important; background: #ffffff !important; }\n#upl-wga-hero .wgh-group-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 16px !important; }\n#upl-wga-hero .wgh-group-name { font-size: 0.98rem !important; font-weight: 700 !important; color: #0f2736 !important; }\n#upl-wga-hero .wgh-group-tag { font-size: 0.65rem !important; font-weight: 700 !important; color: #64748b !important; background: #f1f5f9 !important; padding: 4px 9px !important; border-radius: 20px !important; text-transform: uppercase !important; letter-spacing: 0.3px !important; }\n#upl-wga-hero .wgh-avatars { display: flex !important; align-items: center !important; margin-bottom: 18px !important; }\n#upl-wga-hero .wgh-avatar { width: 30px !important; height: 30px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.65rem !important; font-weight: 700 !important; color: #ffffff !important; border: 2px solid #ffffff !important; margin-left: -8px !important; }\n#upl-wga-hero .wgh-avatar:first-child { margin-left: 0 !important; }\n#upl-wga-hero .wgh-avatar-count { width: 30px !important; height: 30px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.6rem !important; font-weight: 700 !important; color: #64748b !important; background: #f1f5f9 !important; border: 2px solid #ffffff !important; margin-left: -8px !important; }\n#upl-wga-hero .wgh-participants-label { font-size: 0.72rem !important; font-weight: 600 !important; color: #64748b !important; margin-left: 10px !important; }\n#upl-wga-hero .wgh-alert { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 11px 14px !important; border-radius: 10px !important; margin-bottom: 10px !important; }\n#upl-wga-hero .wgh-alert:last-child { margin-bottom: 0 !important; }\n#upl-wga-hero .wgh-alert.amber { background: rgba(245, 158, 11, 0.1) !important; }\n#upl-wga-hero .wgh-alert.red { background: rgba(239, 68, 68, 0.08) !important; }\n#upl-wga-hero .wgh-alert svg { width: 16px !important; height: 16px !important; flex-shrink: 0 !important; margin-top: 1px !important; }\n#upl-wga-hero .wgh-alert.amber svg { color: #f59e0b !important; }\n#upl-wga-hero .wgh-alert.red svg { color: #ef4444 !important; }\n#upl-wga-hero .wgh-alert-text { font-size: 0.78rem !important; font-weight: 600 !important; line-height: 1.4 !important; }\n#upl-wga-hero .wgh-alert.amber .wgh-alert-text { color: #b45309 !important; }\n#upl-wga-hero .wgh-alert.red .wgh-alert-text { color: #dc2626 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-hero .wgh-container { grid-template-columns: 1fr !important; gap: 40px !important; text-align: center !important; }\n  #upl-wga-hero h1 { font-size: 32px !important; }\n  #upl-wga-hero .wgh-badge { margin-left: auto !important; margin-right: auto !important; }\n  #upl-wga-hero .wgh-actions { justify-content: center !important; }\n  #upl-wga-hero .wgh-group-row { text-align: left !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-hero { padding: 44px 16px 50px !important; }\n  #upl-wga-hero h1 { font-size: 28px !important; }\n  #upl-wga-hero .wgh-desc { font-size: 15.5px !important; }\n  #upl-wga-hero .wgh-actions { flex-direction: column !important; width: 100% !important; }\n  #upl-wga-hero .wgh-cta-primary, #upl-wga-hero .wgh-cta-secondary { width: 100% !important; justify-content: center !important; }\n  #upl-wga-hero .wgh-mockup { max-width: 100% !important; }\n  #upl-wga-hero .wgh-mockup-body { padding: 16px !important; }\n  #upl-wga-hero .wgh-avatars { flex-wrap: wrap !important; row-gap: 8px !important; }\n  #upl-wga-hero .wgh-participants-label { width: 100% !important; margin-left: 0 !important; margin-top: 2px !important; }\n  #upl-wga-hero .wgh-alert-text { font-size: 0.72rem !important; }\n}\n@media (max-width: 380px) {\n  #upl-wga-hero h1 { font-size: 25px !important; }\n  #upl-wga-hero .wgh-avatar, #upl-wga-hero .wgh-avatar-count { width: 26px !important; height: 26px !important; font-size: 0.58rem !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-hero\">\n  <div class=\"wgh-container\">\n    <div class=\"wgh-content\">\n      <div class=\"wgh-badge\"><span class=\"wgh-badge-dot\"><\/span><span>WhatsApp Group API - 2026<\/span><\/div>\n      <h1>WhatsApp <span>Group API<\/span> in 2026: What Meta Supports and What It Doesn't<\/h1>\n      <div class=\"wgh-desc\">Meta's WhatsApp Group API is live on the Cloud API, but it only works for <strong>Official Business Accounts<\/strong>, caps every group at <strong>8 participants<\/strong>, and has <strong>no endpoint to add someone directly<\/strong>. Here is what that means for a real product, endpoint by endpoint, plus the one path that removes all three limits.<\/div>\n      <div class=\"wgh-actions\">\n        <a class=\"wgh-cta-primary\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n          <span>Start building for free<\/span>\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n        <\/a>\n        <a class=\"wgh-cta-secondary\" href=\"#wga-support\" data-upl-link=\"#wga-support\"><span>Read the breakdown<\/span><\/a>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgh-visual\">\n      <div class=\"wgh-mockup\">\n        <div class=\"wgh-mockup-header\">\n          <img decoding=\"async\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2025\/09\/whatsapp-1.svg\" alt=\"WhatsApp\">\n          <span class=\"wgh-mockup-header-text\">Group settings<\/span>\n          <span class=\"wgh-live-dot\"><span><\/span><span>Cloud API<\/span><\/span>\n        <\/div>\n        <div class=\"wgh-mockup-body\">\n          <div class=\"wgh-group-row\">\n            <span class=\"wgh-group-name\">Acme Client Onboarding<\/span>\n            <span class=\"wgh-group-tag\">Group<\/span>\n          <\/div>\n          <div class=\"wgh-avatars\">\n            <span class=\"wgh-avatar\" style=\"background:#0f2736;\">JD<\/span>\n            <span class=\"wgh-avatar\" style=\"background:#3BB98B;\">AS<\/span>\n            <span class=\"wgh-avatar\" style=\"background:#64748b;\">ML<\/span>\n            <span class=\"wgh-avatar\" style=\"background:#0A66C2;\">RK<\/span>\n            <span class=\"wgh-avatar\" style=\"background:#f59e0b;\">TN<\/span>\n            <span class=\"wgh-avatar\" style=\"background:#8b5cf6;\">CW<\/span>\n            <span class=\"wgh-avatar\" style=\"background:#0f2736;\">PB<\/span>\n            <span class=\"wgh-avatar-count\">+1<\/span>\n            <span class=\"wgh-participants-label\">8 \/ 8 participants<\/span>\n          <\/div>\n          <div class=\"wgh-alert amber\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\n            <span class=\"wgh-alert-text\">Official Business Account required<\/span>\n          <\/div>\n          <div class=\"wgh-alert red\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg>\n            <span class=\"wgh-alert-text\">Group full: no endpoint to add a 9th participant<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  var wrapper = document.getElementById('upl-wga-hero');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') {\n        window.open(url, '_blank');\n      } else if (url.charAt(0) === '#') {\n        var el = document.getElementById(url.substring(1));\n        if (el) {\n          var top = el.getBoundingClientRect().top + window.pageYOffset - 80;\n          window.scrollTo({ top: top, behavior: 'smooth' });\n        }\n      } else {\n        window.location.href = url;\n      }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-support\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-verdict { background: transparent !important; }\n#upl-wga-verdict *, #upl-wga-verdict *::before, #upl-wga-verdict *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-verdict br { display: none !important; }\n#upl-wga-verdict p { display: contents !important; }\n\n#upl-wga-verdict { padding: 70px 20px !important; overflow-x: hidden !important; max-width: 100vw !important; }\n#upl-wga-verdict .wgv-container { max-width: 1100px !important; margin: 0 auto !important; }\n\n#upl-wga-verdict .wgv-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-verdict .wgv-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n\n#upl-wga-verdict h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n\n#upl-wga-verdict .wgv-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 36px !important; }\n#upl-wga-verdict .wgv-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-verdict .wgv-card { background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 16px !important; overflow: hidden !important; margin-bottom: 24px !important; }\n#upl-wga-verdict .wgv-card-top { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 16px 28px !important; background: #f8fafc !important; border-bottom: 1px solid #e5e7eb !important; flex-wrap: wrap !important; }\n#upl-wga-verdict .wgv-card-top-label { font-size: 0.78rem !important; font-weight: 700 !important; color: #0f2736 !important; }\n#upl-wga-verdict .wgv-date-tag { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 0.72rem !important; font-weight: 600 !important; color: #64748b !important; }\n#upl-wga-verdict .wgv-date-tag svg { width: 13px !important; height: 13px !important; color: #94a3b8 !important; }\n\n#upl-wga-verdict .wgv-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; }\n#upl-wga-verdict .wgv-col { padding: 26px 28px !important; }\n#upl-wga-verdict .wgv-col.supported { background: rgba(59,185,139,0.045) !important; border-right: 1px solid #e5e7eb !important; }\n#upl-wga-verdict .wgv-col.unsupported { background: rgba(239,68,68,0.03) !important; }\n#upl-wga-verdict .wgv-col-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 18px !important; }\n#upl-wga-verdict .wgv-col-icon { width: 26px !important; height: 26px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }\n#upl-wga-verdict .wgv-col-icon.good { background: #3BB98B !important; }\n#upl-wga-verdict .wgv-col-icon.bad { background: #ef4444 !important; }\n#upl-wga-verdict .wgv-col-icon svg { width: 14px !important; height: 14px !important; color: #ffffff !important; stroke-width: 3 !important; }\n#upl-wga-verdict .wgv-col-title { font-family: 'Poppins', sans-serif !important; font-size: 1.02rem !important; font-weight: 700 !important; color: #0f2736 !important; }\n#upl-wga-verdict .wgv-list { display: flex !important; flex-direction: column !important; gap: 13px !important; }\n#upl-wga-verdict .wgv-item { display: flex !important; align-items: flex-start !important; gap: 10px !important; }\n#upl-wga-verdict .wgv-item svg { width: 16px !important; height: 16px !important; flex-shrink: 0 !important; margin-top: 2px !important; stroke-width: 2.4 !important; }\n#upl-wga-verdict .wgv-item.good svg { color: #3BB98B !important; }\n#upl-wga-verdict .wgv-item.bad svg { color: #ef4444 !important; }\n#upl-wga-verdict .wgv-item-text { font-size: 0.92rem !important; color: #1e293b !important; line-height: 1.5 !important; }\n\n#upl-wga-verdict .wgv-refbox { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 14px 18px !important; background: #f8fafc !important; border-radius: 10px !important; }\n#upl-wga-verdict .wgv-refbox svg { width: 16px !important; height: 16px !important; color: #64748b !important; flex-shrink: 0 !important; margin-top: 2px !important; }\n#upl-wga-verdict .wgv-refbox-text { font-size: 0.85rem !important; color: #64748b !important; line-height: 1.6 !important; }\n#upl-wga-verdict .wgv-refbox-text a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-verdict h2 { font-size: 28px !important; }\n}\n@media (max-width: 700px) {\n  #upl-wga-verdict .wgv-grid { grid-template-columns: 1fr !important; }\n  #upl-wga-verdict .wgv-col.supported { border-right: none !important; border-bottom: 1px solid #e5e7eb !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-verdict { padding: 50px 16px !important; }\n  #upl-wga-verdict h2 { font-size: 25px !important; }\n  #upl-wga-verdict .wgv-lead { font-size: 15.5px !important; }\n  #upl-wga-verdict .wgv-col { padding: 22px 20px !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-verdict\">\n  <div class=\"wgv-container\">\n    <div class=\"wgv-badge\"><span class=\"wgv-badge-dot\"><\/span><span>Groups API<\/span><\/div>\n    <h2>Does the WhatsApp API support group messaging?<\/h2>\n    <div class=\"wgv-lead\"><strong>Yes.<\/strong> The WhatsApp Business Platform now exposes a Groups API on the Cloud API, so a business number can create groups, send messages in them, and manage membership. Three conditions gate it: the business must be an <strong>Official Business Account<\/strong>, each group is capped at <strong>8 participants<\/strong>, and there is <strong>no endpoint to add a participant directly<\/strong>.<\/div>\n\n    <div class=\"wgv-card\">\n      <div class=\"wgv-card-top\">\n        <span class=\"wgv-card-top-label\">WhatsApp Group API: supported vs not supported<\/span>\n        <span class=\"wgv-date-tag\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg><span>Verified against Meta's Cloud API docs, August 2026<\/span><\/span>\n      <\/div>\n      <div class=\"wgv-grid\">\n        <div class=\"wgv-col supported\">\n          <div class=\"wgv-col-header\">\n            <span class=\"wgv-col-icon good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n            <span class=\"wgv-col-title\">Supported<\/span>\n          <\/div>\n          <div class=\"wgv-list\">\n            <div class=\"wgv-item good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span class=\"wgv-item-text\">Create, list, and update groups on a Cloud API business number<\/span><\/div>\n            <div class=\"wgv-item good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span class=\"wgv-item-text\">Send text, media, and template messages into a group<\/span><\/div>\n            <div class=\"wgv-item good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span class=\"wgv-item-text\">Generate and reset the group's invite link<\/span><\/div>\n            <div class=\"wgv-item good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span class=\"wgv-item-text\">Approve or reject pending join requests<\/span><\/div>\n            <div class=\"wgv-item good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span class=\"wgv-item-text\">Remove a participant from a group<\/span><\/div>\n            <div class=\"wgv-item good\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span class=\"wgv-item-text\">Subscribe to 4 group-specific webhook events<\/span><\/div>\n          <\/div>\n        <\/div>\n        <div class=\"wgv-col unsupported\">\n          <div class=\"wgv-col-header\">\n            <span class=\"wgv-col-icon bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/span>\n            <span class=\"wgv-col-title\">Not supported<\/span>\n          <\/div>\n          <div class=\"wgv-list\">\n            <div class=\"wgv-item bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><span class=\"wgv-item-text\">Adding a participant directly: invite link only<\/span><\/div>\n            <div class=\"wgv-item bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><span class=\"wgv-item-text\">Voice or video calling inside a group<\/span><\/div>\n            <div class=\"wgv-item bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><span class=\"wgv-item-text\">Disappearing messages and view-once media<\/span><\/div>\n            <div class=\"wgv-item bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><span class=\"wgv-item-text\">Editing or deleting a message already sent to the group<\/span><\/div>\n            <div class=\"wgv-item bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><span class=\"wgv-item-text\">Hiding the participant list as an admin<\/span><\/div>\n            <div class=\"wgv-item bad\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><span class=\"wgv-item-text\">Per-template performance analytics for group messages<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgv-refbox\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n      <span class=\"wgv-refbox-text\">This breakdown follows Meta's own Groups API documentation. Source: <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/groups\" target=\"_blank\" rel=\"noopener\">developers.facebook.com, WhatsApp Group API<\/a>, checked August 2026. The rest of this guide covers every endpoint, what triggers the 8-participant wall, and the one gap none of Meta's own docs call out directly: there is no way to add a participant to a group.<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-definition\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-def { background: transparent !important; }\n#upl-wga-def *, #upl-wga-def *::before, #upl-wga-def *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-def br { display: none !important; }\n#upl-wga-def p { display: contents !important; }\n\n#upl-wga-def { padding: 50px 20px 70px !important; overflow-x: hidden !important; max-width: 100vw !important; }\n#upl-wga-def .wgd-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-def .wgd-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-def .wgd-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-def h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-def .wgd-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 30px !important; }\n#upl-wga-def .wgd-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-def .wgd-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin-bottom: 28px !important; }\n#upl-wga-def .wgd-box { background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 14px !important; padding: 22px 24px !important; }\n#upl-wga-def .wgd-box-head { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 14px !important; }\n#upl-wga-def .wgd-box-icon { width: 30px !important; height: 30px !important; border-radius: 8px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }\n#upl-wga-def .wgd-box.same .wgd-box-icon { background: rgba(100,116,139,0.12) !important; }\n#upl-wga-def .wgd-box.same .wgd-box-icon svg { color: #64748b !important; }\n#upl-wga-def .wgd-box.new .wgd-box-icon { background: rgba(59,185,139,0.14) !important; }\n#upl-wga-def .wgd-box.new .wgd-box-icon svg { color: #3BB98B !important; }\n#upl-wga-def .wgd-box-icon svg { width: 16px !important; height: 16px !important; stroke-width: 2.2 !important; }\n#upl-wga-def .wgd-box-title { font-family: 'Poppins', sans-serif !important; font-size: 0.95rem !important; font-weight: 700 !important; color: #0f2736 !important; }\n#upl-wga-def .wgd-box-list { display: flex !important; flex-direction: column !important; gap: 9px !important; }\n#upl-wga-def .wgd-box-item { display: flex !important; align-items: flex-start !important; gap: 8px !important; font-size: 0.85rem !important; color: #475569 !important; line-height: 1.5 !important; }\n#upl-wga-def .wgd-box-item span.dot { width: 5px !important; height: 5px !important; border-radius: 50% !important; background: #cbd5e0 !important; margin-top: 7px !important; flex-shrink: 0 !important; }\n#upl-wga-def .wgd-box-item code { font-family: 'Courier New', monospace !important; background: #f1f5f9 !important; padding: 1px 5px !important; border-radius: 4px !important; font-size: 0.78rem !important; color: #0f2736 !important; }\n\n#upl-wga-def .wgd-outro { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; }\n#upl-wga-def .wgd-outro a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-def h2 { font-size: 28px !important; }\n  #upl-wga-def .wgd-grid { grid-template-columns: 1fr !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-def { padding: 30px 16px 50px !important; }\n  #upl-wga-def h2 { font-size: 25px !important; }\n  #upl-wga-def .wgd-lead, #upl-wga-def .wgd-outro { font-size: 15.5px !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-def\">\n  <div class=\"wgd-container\">\n    <div class=\"wgd-badge\"><span class=\"wgd-badge-dot\"><\/span><span>Definition<\/span><\/div>\n    <h2>What is the WhatsApp Groups API?<\/h2>\n    <div class=\"wgd-lead\">The <strong>WhatsApp Groups API<\/strong> is the group-messaging layer Meta added on top of the WhatsApp Business Platform's Cloud API. It lets a business phone number create groups, send messages into them, and manage membership through a dedicated set of endpoints, without moving to a different product.<\/div>\n\n    <div class=\"wgd-grid\">\n      <div class=\"wgd-box same\">\n        <div class=\"wgd-box-head\">\n          <span class=\"wgd-box-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 2.1l4 4-4 4\"\/><path d=\"M3 12.2v-2a4 4 0 0 1 4-4h12.8M7 21.9l-4-4 4-4\"\/><path d=\"M21 11.8v2a4 4 0 0 1-4 4H4.2\"\/><\/svg><\/span>\n          <span class=\"wgd-box-title\">Stays the same<\/span>\n        <\/div>\n        <div class=\"wgd-box-list\">\n          <div class=\"wgd-box-item\"><span class=\"dot\"><\/span><span>Same <code>PHONE_NUMBER_ID<\/code> used for 1:1 messaging<\/span><\/div>\n          <div class=\"wgd-box-item\"><span class=\"dot\"><\/span><span>Same access token and app-level permissions setup<\/span><\/div>\n          <div class=\"wgd-box-item\"><span class=\"dot\"><\/span><span>Same <code>\/messages<\/code> endpoint to send into a group<\/span><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wgd-box new\">\n        <div class=\"wgd-box-head\">\n          <span class=\"wgd-box-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/span>\n          <span class=\"wgd-box-title\">What's new<\/span>\n        <\/div>\n        <div class=\"wgd-box-list\">\n          <div class=\"wgd-box-item\"><span class=\"dot\"><\/span><span>A dedicated <code>\/groups<\/code> endpoint family: create, list, update, delete<\/span><\/div>\n          <div class=\"wgd-box-item\"><span class=\"dot\"><\/span><span>Invite link and join-request endpoints<\/span><\/div>\n          <div class=\"wgd-box-item\"><span class=\"dot\"><\/span><span>4 new webhook fields for group lifecycle events<\/span><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgd-outro\">A number that already sends 1:1 messages through the <a href=\"https:\/\/www.unipile.com\/whatsapp-api-a-complete-guide-to-integration\/\">WhatsApp API guide<\/a> does not need a second integration to support groups. It needs the extra permission covered next, and the extra endpoints covered further down this page.<\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-eligibility\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-elig { background: transparent !important; }\n#upl-wga-elig *, #upl-wga-elig *::before, #upl-wga-elig *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-elig br { display: none !important; }\n#upl-wga-elig p { display: contents !important; }\n\n#upl-wga-elig { padding: 20px 20px 70px !important; overflow-x: hidden !important; max-width: 100vw !important; }\n#upl-wga-elig .wge-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-elig .wge-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(221,223,76,0.18) !important; color: #8a8c2e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-elig .wge-badge-dot { width: 7px !important; height: 7px !important; background: #DDDF4C !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-elig h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-elig .wge-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wga-elig .wge-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-elig .wge-card { background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 16px !important; overflow: hidden !important; }\n#upl-wga-elig .wge-item { display: flex !important; align-items: flex-start !important; gap: 16px !important; padding: 20px 26px !important; border-bottom: 1px solid #f0f1f3 !important; }\n#upl-wga-elig .wge-item:last-child { border-bottom: none !important; }\n#upl-wga-elig .wge-item.excluded { background: rgba(239,68,68,0.025) !important; }\n#upl-wga-elig .wge-icon { width: 26px !important; height: 26px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; margin-top: 1px !important; }\n#upl-wga-elig .wge-item.ok .wge-icon { background: #3BB98B !important; }\n#upl-wga-elig .wge-item.excluded .wge-icon { background: #ef4444 !important; }\n#upl-wga-elig .wge-icon svg { width: 14px !important; height: 14px !important; color: #ffffff !important; stroke-width: 3 !important; }\n#upl-wga-elig .wge-item-title { font-size: 0.98rem !important; font-weight: 700 !important; color: #0f2736 !important; margin-bottom: 4px !important; line-height: 1.4 !important; }\n#upl-wga-elig .wge-item.excluded .wge-item-title { text-decoration: line-through !important; text-decoration-color: #ef4444 !important; }\n#upl-wga-elig .wge-item-desc { font-size: 0.87rem !important; color: #64748b !important; line-height: 1.55 !important; }\n#upl-wga-elig .wge-item-desc code { font-family: 'Courier New', monospace !important; background: #f1f5f9 !important; padding: 1px 5px !important; border-radius: 4px !important; font-size: 0.8rem !important; color: #0f2736 !important; }\n\n#upl-wga-elig .wge-note { display: flex !important; align-items: flex-start !important; gap: 10px !important; margin-top: 20px !important; padding: 14px 18px !important; background: #f8fafc !important; border-radius: 10px !important; }\n#upl-wga-elig .wge-note svg { width: 16px !important; height: 16px !important; color: #64748b !important; flex-shrink: 0 !important; margin-top: 2px !important; }\n#upl-wga-elig .wge-note-text { font-size: 0.85rem !important; color: #64748b !important; line-height: 1.6 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-elig h2 { font-size: 28px !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-elig { padding: 10px 16px 50px !important; }\n  #upl-wga-elig h2 { font-size: 25px !important; }\n  #upl-wga-elig .wge-lead { font-size: 15.5px !important; }\n  #upl-wga-elig .wge-item { padding: 18px 18px !important; gap: 12px !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-elig\">\n  <div class=\"wge-container\">\n    <div class=\"wge-badge\"><span class=\"wge-badge-dot\"><\/span><span>Eligibility<\/span><\/div>\n    <h2>Who can use the WhatsApp Groups API?<\/h2>\n    <div class=\"wge-lead\">Only a subset of WhatsApp Business Platform numbers qualify for the WhatsApp Group API. A business must run an <strong>Official Business Account on the Cloud API itself<\/strong> before a single group can be created, and two common number types are explicitly excluded.<\/div>\n\n    <div class=\"wge-card\">\n      <div class=\"wge-item ok\">\n        <span class=\"wge-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n        <div>\n          <div class=\"wge-item-title\">Official Business Account (OBA)<\/div>\n          <div class=\"wge-item-desc\">The number must carry Meta's OBA status, the verified tier of the WhatsApp Business Platform.<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wge-item ok\">\n        <span class=\"wge-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n        <div>\n          <div class=\"wge-item-title\">Live on the Cloud API<\/div>\n          <div class=\"wge-item-desc\">The number has to be in active use on the Cloud API, not on the free WhatsApp Business app.<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wge-item ok\">\n        <span class=\"wge-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n        <div>\n          <div class=\"wge-item-title\">The <code>whatsapp_business_messaging<\/code> permission<\/div>\n          <div class=\"wge-item-desc\">The connected app must have this permission approved before any group endpoint responds.<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wge-item ok\">\n        <span class=\"wge-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n        <div>\n          <div class=\"wge-item-title\">Subscribed to the right WABA<\/div>\n          <div class=\"wge-item-desc\">The app has to be subscribed to the WhatsApp Business Account that owns the number.<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wge-item excluded\">\n        <span class=\"wge-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/span>\n        <div>\n          <div class=\"wge-item-title\">Numbers on the WhatsApp Business app<\/div>\n          <div class=\"wge-item-desc\">Excluded. The Groups API is a Cloud API feature, not something the consumer-facing Business app exposes.<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"wge-item excluded\">\n        <span class=\"wge-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/span>\n        <div>\n          <div class=\"wge-item-title\">Numbers in Multi-solution Conversations<\/div>\n          <div class=\"wge-item-desc\">Excluded. Numbers shared across multiple business solution providers cannot run the Groups API.<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wge-note\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n      <span class=\"wge-note-text\">Source: Meta's Groups API get-started documentation, checked August 2026.<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-limits\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-limits { background: transparent !important; }\n#upl-wga-limits *, #upl-wga-limits *::before, #upl-wga-limits *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-limits br { display: none !important; }\n#upl-wga-limits p { display: contents !important; }\n\n#upl-wga-limits { padding: 20px 20px 70px !important; overflow-x: hidden !important; max-width: 100vw !important; }\n#upl-wga-limits .wgl-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-limits .wgl-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-limits .wgl-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-limits h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-limits .wgl-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 34px !important; }\n#upl-wga-limits .wgl-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-limits .wgl-banner { background: #0f2736 !important; border-radius: 18px !important; display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; margin-bottom: 30px !important; overflow: hidden !important; }\n#upl-wga-limits .wgl-stat { padding: 34px 28px !important; text-align: center !important; position: relative !important; }\n#upl-wga-limits .wgl-stat:not(:last-child)::after { content: '' !important; position: absolute !important; right: 0 !important; top: 20% !important; bottom: 20% !important; width: 1px !important; background: rgba(255,255,255,0.12) !important; display: block !important; }\n#upl-wga-limits .wgl-stat-icon { width: 40px !important; height: 40px !important; border-radius: 10px !important; background: rgba(59,185,139,0.16) !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 16px !important; }\n#upl-wga-limits .wgl-stat-icon svg { width: 20px !important; height: 20px !important; color: #3BB98B !important; stroke-width: 2 !important; }\n#upl-wga-limits .wgl-stat-num { font-family: 'Poppins', sans-serif !important; font-size: 42px !important; font-weight: 800 !important; color: #ffffff !important; line-height: 1.1 !important; margin-bottom: 8px !important; }\n#upl-wga-limits .wgl-stat-label { font-size: 0.82rem !important; font-weight: 500 !important; color: rgba(255,255,255,0.65) !important; line-height: 1.4 !important; max-width: 200px !important; margin: 0 auto !important; }\n\n#upl-wga-limits .wgl-text { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 18px !important; }\n#upl-wga-limits .wgl-text strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-limits .wgl-cta-wrap { margin-top: 26px !important; }\n#upl-wga-limits .wgl-cta {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: #DDDF4C !important; color: #0f2736 !important;\n  padding: 13px 24px !important; border-radius: 8px !important;\n  font-size: 0.9rem !important; font-weight: 600 !important;\n  border: 2px solid #DDDF4C !important; transition: all 0.3s ease !important; cursor: pointer !important;\n}\n#upl-wga-limits .wgl-cta:hover { transform: translateY(-5px) !important; }\n#upl-wga-limits .wgl-cta svg { width: 15px !important; height: 15px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-limits h2 { font-size: 28px !important; }\n  #upl-wga-limits .wgl-banner { grid-template-columns: 1fr !important; }\n  #upl-wga-limits .wgl-stat:not(:last-child)::after { right: 20% !important; left: 20% !important; top: auto !important; bottom: 0 !important; width: auto !important; height: 1px !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-limits { padding: 10px 16px 50px !important; }\n  #upl-wga-limits h2 { font-size: 25px !important; }\n  #upl-wga-limits .wgl-lead, #upl-wga-limits .wgl-text { font-size: 15.5px !important; }\n  #upl-wga-limits .wgl-stat { padding: 26px 20px !important; }\n  #upl-wga-limits .wgl-stat-num { font-size: 34px !important; }\n  #upl-wga-limits .wgl-cta { width: 100% !important; justify-content: center !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-limits\">\n  <div class=\"wgl-container\">\n    <div class=\"wgl-badge\"><span class=\"wgl-badge-dot\"><\/span><span>Limits<\/span><\/div>\n    <h2>How many participants can a WhatsApp API group have?<\/h2>\n    <div class=\"wgl-lead\"><strong>8 participants maximum per group.<\/strong> A single business number can hold up to <strong>10,000 groups<\/strong>, and only <strong>one Cloud API business<\/strong> can operate inside a given group at a time.<\/div>\n\n    <div class=\"wgl-banner\">\n      <div class=\"wgl-stat\">\n        <span class=\"wgl-stat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><\/span>\n        <div class=\"wgl-stat-num\">8<\/div>\n        <div class=\"wgl-stat-label\">Participants maximum, per group<\/div>\n      <\/div>\n      <div class=\"wgl-stat\">\n        <span class=\"wgl-stat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/svg><\/span>\n        <div class=\"wgl-stat-num\">10,000<\/div>\n        <div class=\"wgl-stat-label\">Groups maximum, per business number<\/div>\n      <\/div>\n      <div class=\"wgl-stat\">\n        <span class=\"wgl-stat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 21h18\"\/><path d=\"M9 8h1\"\/><path d=\"M9 12h1\"\/><path d=\"M9 16h1\"\/><path d=\"M14 8h1\"\/><path d=\"M14 12h1\"\/><path d=\"M14 16h1\"\/><path d=\"M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16\"\/><\/svg><\/span>\n        <div class=\"wgl-stat-num\">1<\/div>\n        <div class=\"wgl-stat-label\">Cloud API business allowed per group<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgl-text\">On the WhatsApp Group API, the business number that creates the group takes up one of the eight slots as a participant itself, which leaves room for real customers or teammates rather than the full eight. For a product that needs an onboarding group, a project channel, or a support cell with more than a handful of people, that ceiling is reached fast.<\/div>\n    <div class=\"wgl-text\">The 8-participant cap is not a technical bug. It reflects a deliberate design choice for structured business messaging rather than open community chat, which is a materially different use case from a personal WhatsApp group. The practical question for a product team is not whether 8 is enough in theory, it's whether the group can grow past its first 8 people at all, which is what the next two sections answer.<\/div>\n\n    <div class=\"wgl-cta-wrap\">\n      <a class=\"wgl-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build without the 8-participant cap<\/span>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  var wrapper = document.getElementById('upl-wga-limits');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); }\n      else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-endpoints\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-ep { background: transparent !important; }\n#upl-wga-ep *, #upl-wga-ep *::before, #upl-wga-ep *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-ep br { display: none !important; }\n#upl-wga-ep p { display: contents !important; }\n\n#upl-wga-ep { padding: 20px 20px 70px !important; overflow-x: hidden !important; }\n#upl-wga-ep .wgep-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-ep .wgep-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-ep .wgep-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-ep h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-ep .wgep-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 30px !important; }\n#upl-wga-ep .wgep-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-ep .wgep-table { border: 1px solid #e5e7eb !important; border-radius: 16px !important; overflow: hidden !important; background: #ffffff !important; }\n#upl-wga-ep .wgep-row { display: grid !important; grid-template-columns: 92px 1.25fr 1.7fr !important; }\n#upl-wga-ep .wgep-row.header { background: #0f2736 !important; }\n#upl-wga-ep .wgep-row:not(.header) { border-top: 1px solid #f0f1f3 !important; }\n#upl-wga-ep .wgep-row:hover:not(.header) { background: #f8fafc !important; }\n#upl-wga-ep .wgep-cell { padding: 14px 18px !important; display: flex !important; align-items: center !important; }\n#upl-wga-ep .wgep-row.header .wgep-cell { font-size: 0.72rem !important; font-weight: 700 !important; color: rgba(255,255,255,0.6) !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }\n#upl-wga-ep .wgep-method { font-family: 'Courier New', monospace !important; font-size: 0.68rem !important; font-weight: 700 !important; padding: 4px 9px !important; border-radius: 6px !important; text-transform: uppercase !important; letter-spacing: 0.3px !important; display: inline-block !important; }\n#upl-wga-ep .wgep-method.get { background: rgba(59,185,139,0.15) !important; color: #2d9469 !important; }\n#upl-wga-ep .wgep-method.post { background: rgba(10,102,194,0.15) !important; color: #0A66C2 !important; }\n#upl-wga-ep .wgep-method.delete { background: rgba(239,68,68,0.15) !important; color: #dc2626 !important; }\n#upl-wga-ep .wgep-path { font-family: 'Courier New', monospace !important; font-size: 0.8rem !important; color: #0f2736 !important; line-height: 1.5 !important; word-break: break-word !important; }\n#upl-wga-ep .wgep-desc { font-size: 0.86rem !important; color: #475569 !important; line-height: 1.5 !important; }\n\n#upl-wga-ep .wgep-gap { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-top: 22px !important; padding: 18px 22px !important; background: rgba(239,68,68,0.05) !important; border-radius: 12px !important; border-left: 4px solid #ef4444 !important; }\n#upl-wga-ep .wgep-gap svg { width: 18px !important; height: 18px !important; color: #ef4444 !important; flex-shrink: 0 !important; margin-top: 2px !important; }\n#upl-wga-ep .wgep-gap-text { font-size: 0.92rem !important; color: #0f2736 !important; line-height: 1.6 !important; }\n#upl-wga-ep .wgep-gap-text strong { font-weight: 700 !important; }\n#upl-wga-ep .wgep-gap-text code { font-family: 'Courier New', monospace !important; background: rgba(15,39,54,0.06) !important; padding: 1px 6px !important; border-radius: 4px !important; font-size: 0.85em !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-ep h2 { font-size: 28px !important; }\n}\n@media (max-width: 768px) {\n  #upl-wga-ep .wgep-table { border: none !important; border-radius: 0 !important; background: transparent !important; }\n  #upl-wga-ep .wgep-row.header { display: none !important; }\n  #upl-wga-ep .wgep-row:not(.header) {\n    display: flex !important; flex-direction: column !important; gap: 8px !important;\n    background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 12px !important;\n    padding: 16px 18px !important; margin-bottom: 12px !important; border-top: 1px solid #e5e7eb !important;\n  }\n  #upl-wga-ep .wgep-cell { padding: 0 !important; display: block !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-ep { padding: 10px 16px 50px !important; }\n  #upl-wga-ep h2 { font-size: 25px !important; }\n  #upl-wga-ep .wgep-lead { font-size: 15.5px !important; }\n  #upl-wga-ep .wgep-path { font-size: 0.76rem !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-ep\">\n  <div class=\"wgep-container\">\n    <div class=\"wgep-badge\"><span class=\"wgep-badge-dot\"><\/span><span>API Reference<\/span><\/div>\n    <h2>Which endpoints does the WhatsApp Groups API expose?<\/h2>\n    <div class=\"wgep-lead\">The WhatsApp Groups API adds <strong>12 endpoints<\/strong> on top of the standard Cloud API: group creation, metadata, the invite link, and join requests. None of them adds a participant directly.<\/div>\n\n    <div class=\"wgep-table\">\n      <div class=\"wgep-row header\">\n        <div class=\"wgep-cell\">Method<\/div>\n        <div class=\"wgep-cell\">Path<\/div>\n        <div class=\"wgep-cell\">What it does<\/div>\n      <\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method post\">POST<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/groups<\/div><div class=\"wgep-cell wgep-desc\">Creates a new group and returns its first invite link<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method get\">GET<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/groups<\/div><div class=\"wgep-cell wgep-desc\">Lists every active group tied to the business number<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method get\">GET<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;?fields=&lt;FIELDS&gt;<\/div><div class=\"wgep-cell wgep-desc\">Reads a single group's metadata: subject, description, participant count<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method post\">POST<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;<\/div><div class=\"wgep-cell wgep-desc\">Updates the group's subject, description, or photo<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method delete\">DELETE<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;<\/div><div class=\"wgep-cell wgep-desc\">Deletes the group and removes every participant at once<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method get\">GET<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;\/invite_link<\/div><div class=\"wgep-cell wgep-desc\">Returns the group's current invite link<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method post\">POST<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;\/invite_link<\/div><div class=\"wgep-cell wgep-desc\">Resets the invite link, which invalidates every link shared before<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method get\">GET<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;\/join_requests<\/div><div class=\"wgep-cell wgep-desc\">Lists the join requests waiting for approval<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method post\">POST<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;\/join_requests<\/div><div class=\"wgep-cell wgep-desc\">Approves one or more pending join requests<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method delete\">DELETE<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;\/join_requests<\/div><div class=\"wgep-cell wgep-desc\">Rejects one or more pending join requests<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method delete\">DELETE<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;GROUP_ID&gt;\/participants<\/div><div class=\"wgep-cell wgep-desc\">Removes one or more participants from the group<\/div><\/div>\n      <div class=\"wgep-row\"><div class=\"wgep-cell\"><span class=\"wgep-method post\">POST<\/span><\/div><div class=\"wgep-cell wgep-path\">\/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/messages<\/div><div class=\"wgep-cell wgep-desc\">Sends a text, media, or template message into the group<\/div><\/div>\n    <\/div>\n\n    <div class=\"wgep-gap\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n      <span class=\"wgep-gap-text\">Look closely at what's missing: <strong>there is a <code>DELETE \/participants<\/code> endpoint, and no <code>POST \/participants<\/code> endpoint.<\/strong> You can remove someone from a WhatsApp API group. You cannot add them the same way. The next section covers exactly what that means and what to do about it.<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-add-participant\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-add { background: transparent !important; }\n#upl-wga-add *, #upl-wga-add *::before, #upl-wga-add *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-add br { display: none !important; }\n#upl-wga-add p { display: contents !important; }\n\n#upl-wga-add { padding: 20px 20px 70px !important; overflow-x: hidden !important; }\n#upl-wga-add .wgap-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-add .wgap-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(221,223,76,0.18) !important; color: #8a8c2e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-add .wgap-badge-dot { width: 7px !important; height: 7px !important; background: #DDDF4C !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-add h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-add .wgap-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 40px !important; }\n#upl-wga-add .wgap-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n#upl-wga-add .wgap-lead code { font-family: 'Courier New', monospace !important; background: #f1f5f9 !important; padding: 1px 6px !important; border-radius: 4px !important; font-size: 0.85em !important; color: #0f2736 !important; }\n\n\/* Flow diagram *\/\n#upl-wga-add .wgap-flow-title { font-size: 0.78rem !important; font-weight: 700 !important; color: #94a3b8 !important; text-transform: uppercase !important; letter-spacing: 0.6px !important; margin-bottom: 22px !important; }\n#upl-wga-add .wgap-flow { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 0 !important; margin-bottom: 40px !important; }\n#upl-wga-add .wgap-step { position: relative !important; padding: 0 8px !important; text-align: center !important; }\n#upl-wga-add .wgap-step::after { content: '' !important; position: absolute !important; top: 23px !important; left: 58% !important; right: -42% !important; height: 2px !important; background: #e5e7eb !important; z-index: 0 !important; }\n#upl-wga-add .wgap-step:last-child::after { display: none !important; }\n#upl-wga-add .wgap-circle { width: 46px !important; height: 46px !important; border-radius: 50% !important; background: #ffffff !important; border: 2px solid #3BB98B !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 14px !important; position: relative !important; z-index: 1 !important; font-family: 'Poppins', sans-serif !important; font-weight: 800 !important; color: #3BB98B !important; font-size: 1.05rem !important; }\n#upl-wga-add .wgap-step.done .wgap-circle { background: #3BB98B !important; }\n#upl-wga-add .wgap-step.done .wgap-circle svg { width: 18px !important; height: 18px !important; color: #ffffff !important; stroke-width: 3 !important; }\n#upl-wga-add .wgap-step-title { font-size: 0.85rem !important; font-weight: 700 !important; color: #0f2736 !important; margin-bottom: 6px !important; line-height: 1.3 !important; }\n#upl-wga-add .wgap-step-desc { font-size: 0.74rem !important; color: #64748b !important; line-height: 1.45 !important; }\n\n\/* Code block *\/\n#upl-wga-add .wgap-code-wrapper { border-radius: 14px !important; overflow: hidden !important; background: #0d1117 !important; margin-bottom: 30px !important; }\n#upl-wga-add .wgap-editor-bar { background: #161b22 !important; padding: 12px 18px !important; display: flex !important; align-items: center !important; gap: 8px !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; }\n#upl-wga-add .wgap-dot { width: 11px !important; height: 11px !important; border-radius: 50% !important; display: inline-block !important; flex-shrink: 0 !important; }\n#upl-wga-add .wgap-dot-r { background: #ff5f57 !important; }\n#upl-wga-add .wgap-dot-y { background: #febc2e !important; }\n#upl-wga-add .wgap-dot-g { background: #28c840 !important; }\n#upl-wga-add .wgap-filename { color: #8b949e !important; font-size: 12.5px !important; margin-left: 6px !important; font-family: 'Courier New', monospace !important; }\n#upl-wga-add .wgap-pre { padding: 20px 22px !important; font-size: 13px !important; line-height: 1.8 !important; overflow-x: auto !important; background: #0d1117 !important; }\n#upl-wga-add .wgap-pre code { font-family: 'Courier New', monospace !important; white-space: pre !important; display: block !important; }\n#upl-wga-add .wgap-k { color: #ff7b72 !important; }\n#upl-wga-add .wgap-fn { color: #d2a8ff !important; }\n#upl-wga-add .wgap-s { color: #a5d6ff !important; }\n#upl-wga-add .wgap-c { color: #8b949e !important; }\n#upl-wga-add .wgap-w { color: #e6edf3 !important; }\n#upl-wga-add .wgap-prop { color: #79c0ff !important; }\n\n#upl-wga-add .wgap-text { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 18px !important; }\n#upl-wga-add .wgap-text strong { color: #0f2736 !important; font-weight: 700 !important; }\n#upl-wga-add .wgap-text a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n#upl-wga-add .wgap-preview { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin: 26px 0 !important; padding: 18px 22px !important; background: rgba(59,185,139,0.06) !important; border-radius: 12px !important; border-left: 4px solid #3BB98B !important; }\n#upl-wga-add .wgap-preview svg { width: 18px !important; height: 18px !important; color: #3BB98B !important; flex-shrink: 0 !important; margin-top: 2px !important; }\n#upl-wga-add .wgap-preview-text { font-size: 0.92rem !important; color: #0f2736 !important; line-height: 1.6 !important; }\n#upl-wga-add .wgap-preview-text a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n#upl-wga-add .wgap-cta-wrap { margin-top: 30px !important; }\n#upl-wga-add .wgap-cta {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: #DDDF4C !important; color: #0f2736 !important;\n  padding: 13px 24px !important; border-radius: 8px !important;\n  font-size: 0.9rem !important; font-weight: 600 !important;\n  border: 2px solid #DDDF4C !important; transition: all 0.3s ease !important; cursor: pointer !important;\n}\n#upl-wga-add .wgap-cta:hover { transform: translateY(-5px) !important; }\n#upl-wga-add .wgap-cta svg { width: 15px !important; height: 15px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-add h2 { font-size: 28px !important; }\n  #upl-wga-add .wgap-flow { grid-template-columns: 1fr !important; gap: 18px !important; }\n  #upl-wga-add .wgap-step {\n    display: grid !important;\n    grid-template-columns: 46px 1fr !important;\n    grid-template-rows: auto auto !important;\n    column-gap: 16px !important;\n    row-gap: 3px !important;\n    align-items: start !important;\n    text-align: left !important;\n    padding: 0 !important;\n  }\n  #upl-wga-add .wgap-step::after { top: 0 !important; bottom: -18px !important; left: 22px !important; right: auto !important; width: 2px !important; height: 18px !important; }\n  #upl-wga-add .wgap-circle { grid-column: 1 !important; grid-row: 1 \/ 3 !important; margin: 0 !important; }\n  #upl-wga-add .wgap-step-title { grid-column: 2 !important; grid-row: 1 !important; }\n  #upl-wga-add .wgap-step-desc { grid-column: 2 !important; grid-row: 2 !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-add { padding: 10px 16px 50px !important; }\n  #upl-wga-add h2 { font-size: 25px !important; }\n  #upl-wga-add .wgap-lead, #upl-wga-add .wgap-text { font-size: 15.5px !important; }\n  #upl-wga-add .wgap-pre { font-size: 11.5px !important; padding: 16px !important; }\n  #upl-wga-add .wgap-cta { width: 100% !important; justify-content: center !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-add\">\n  <div class=\"wgap-container\">\n    <div class=\"wgap-badge\"><span class=\"wgap-badge-dot\"><\/span><span>The gap<\/span><\/div>\n    <h2>Can you add someone to a WhatsApp group with the Cloud API?<\/h2>\n    <div class=\"wgap-lead\"><strong>No.<\/strong> The WhatsApp Group API has no add-participant endpoint. Participants can only join through a shared invite link, and the business can then approve or reject the join request. <code>DELETE \/&lt;GROUP_ID&gt;\/participants<\/code> removes people, nothing adds them.<\/div>\n\n    <div class=\"wgap-flow-title\">The only path in, start to finish<\/div>\n    <div class=\"wgap-flow\">\n      <div class=\"wgap-step\">\n        <span class=\"wgap-circle\">1<\/span>\n        <div class=\"wgap-step-title\">Create the group<\/div>\n        <div class=\"wgap-step-desc\">POST \/groups returns a group_id and a first invite link<\/div>\n      <\/div>\n      <div class=\"wgap-step\">\n        <span class=\"wgap-circle\">2<\/span>\n        <div class=\"wgap-step-title\">Get the invite link<\/div>\n        <div class=\"wgap-step-desc\">GET or POST \/invite_link, resettable at any time<\/div>\n      <\/div>\n      <div class=\"wgap-step\">\n        <span class=\"wgap-circle\">3<\/span>\n        <div class=\"wgap-step-title\">Send the link<\/div>\n        <div class=\"wgap-step-desc\">POST \/messages, a 1:1 template sent to the prospect<\/div>\n      <\/div>\n      <div class=\"wgap-step\">\n        <span class=\"wgap-circle\">4<\/span>\n        <div class=\"wgap-step-title\">They request to join<\/div>\n        <div class=\"wgap-step-desc\">Tapping the link creates a join_requests entry<\/div>\n      <\/div>\n      <div class=\"wgap-step done\">\n        <span class=\"wgap-circle\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n        <div class=\"wgap-step-title\">You approve<\/div>\n        <div class=\"wgap-step-desc\">POST \/join_requests confirms them as a participant<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgap-code-wrapper\">\n      <div class=\"wgap-editor-bar\">\n        <span class=\"wgap-dot wgap-dot-r\"><\/span><span class=\"wgap-dot wgap-dot-y\"><\/span><span class=\"wgap-dot wgap-dot-g\"><\/span>\n        <span class=\"wgap-filename\">generate-invite-link.sh<\/span>\n      <\/div>\n      <div class=\"wgap-pre\"><code><span class=\"wgap-c\"># Step 2: get or reset the group's invite link<\/span>&#10;<span class=\"wgap-k\">curl<\/span> <span class=\"wgap-w\">-X<\/span> <span class=\"wgap-s\">POST<\/span> \\&#10;  <span class=\"wgap-s\">\"https:\/\/graph.facebook.com\/v21.0\/&lt;GROUP_ID&gt;\/invite_link\"<\/span> \\&#10;  <span class=\"wgap-w\">-H<\/span> <span class=\"wgap-s\">\"Authorization: Bearer &lt;ACCESS_TOKEN&gt;\"<\/span>&#10;&#10;<span class=\"wgap-c\">\/\/ 200 OK<\/span>&#10;<span class=\"wgap-w\">{<\/span>&#10;  <span class=\"wgap-prop\">\"invite_link\"<\/span><span class=\"wgap-w\">:<\/span> <span class=\"wgap-s\">\"https:\/\/chat.whatsapp.com\/&lt;LINK_ID&gt;\"<\/span>&#10;<span class=\"wgap-w\">}<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgap-text\">This is the only way in. There is no bulk import, no CSV of phone numbers, no endpoint that adds a list of people to a group in one call. Each person has to tap a link and wait for approval, one at a time. For a handful of VIP contacts that is a minor inconvenience. For a recurring product flow, onboarding every new client into a dedicated group, staffing a project channel, building a support cell per account, it is a manual step that happens outside the API for every single person, every time.<\/div>\n\n    <div class=\"wgap-text\">Compare that to a <a href=\"https:\/\/www.unipile.com\/api-whatsapp-link\/\">WhatsApp link API<\/a> used for 1:1 outreach, where sharing a link is the entry point by design. Inside a group, the same invite-link mechanic becomes the only door available, whether or not it fits the product's actual onboarding flow.<\/div>\n\n    <div class=\"wgap-preview\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\"\/><\/svg>\n      <span class=\"wgap-preview-text\">A WhatsApp account linked through Unipile does not carry this restriction: the same action type that removes a participant has a counterpart that adds one directly, on behalf of the authenticated user. Full detail, endpoints included, further down this page in <a href=\"#wga-unipile\" data-upl-link=\"#wga-unipile\">how you access WhatsApp groups from a user's own account<\/a>.<\/span>\n    <\/div>\n\n    <div class=\"wgap-cta-wrap\">\n      <a class=\"wgap-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build group management that adds participants<\/span>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  var wrapper = document.getElementById('upl-wga-add');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      var url = linkEl.getAttribute('data-upl-link');\n      if (url && url.charAt(0) === '#') {\n        e.preventDefault();\n        e.stopPropagation();\n        e.stopImmediatePropagation();\n        var el = document.getElementById(url.substring(1));\n        if (el) {\n          var top = el.getBoundingClientRect().top + window.pageYOffset - 80;\n          window.scrollTo({ top: top, behavior: 'smooth' });\n        }\n        return false;\n      }\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') {\n        e.preventDefault();\n        e.stopPropagation();\n        e.stopImmediatePropagation();\n        window.open(url, '_blank');\n        return false;\n      }\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-unsupported\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-uns { background: transparent !important; }\n#upl-wga-uns *, #upl-wga-uns *::before, #upl-wga-uns *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-uns br { display: none !important; }\n#upl-wga-uns p { display: contents !important; }\n\n#upl-wga-uns { padding: 20px 20px 70px !important; overflow-x: hidden !important; }\n#upl-wga-uns .wgu-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-uns .wgu-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(239,68,68,0.1) !important; color: #dc2626 !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-uns .wgu-badge-dot { width: 7px !important; height: 7px !important; background: #ef4444 !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-uns h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-uns .wgu-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wga-uns .wgu-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-uns .wgu-table { border: 1px solid #e5e7eb !important; border-radius: 16px !important; overflow: hidden !important; background: #ffffff !important; }\n#upl-wga-uns .wgu-row { display: grid !important; grid-template-columns: 200px 1fr !important; }\n#upl-wga-uns .wgu-row.header { background: #0f2736 !important; }\n#upl-wga-uns .wgu-row:not(.header) { border-top: 1px solid #f0f1f3 !important; }\n#upl-wga-uns .wgu-cell { padding: 18px 24px !important; display: flex !important; align-items: center !important; }\n#upl-wga-uns .wgu-row.header .wgu-cell { font-size: 0.72rem !important; font-weight: 700 !important; color: rgba(255,255,255,0.6) !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }\n#upl-wga-uns .wgu-cat { display: flex !important; align-items: center !important; gap: 10px !important; }\n#upl-wga-uns .wgu-cat-icon { width: 30px !important; height: 30px !important; border-radius: 8px !important; background: rgba(239,68,68,0.1) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }\n#upl-wga-uns .wgu-cat-icon svg { width: 15px !important; height: 15px !important; color: #ef4444 !important; stroke-width: 2.2 !important; }\n#upl-wga-uns .wgu-cat-text { font-size: 0.92rem !important; font-weight: 700 !important; color: #0f2736 !important; }\n#upl-wga-uns .wgu-val { font-size: 0.88rem !important; color: #475569 !important; line-height: 1.65 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-uns h2 { font-size: 28px !important; }\n}\n@media (max-width: 768px) {\n  #upl-wga-uns .wgu-table { border: none !important; background: transparent !important; }\n  #upl-wga-uns .wgu-row.header { display: none !important; }\n  #upl-wga-uns .wgu-row:not(.header) {\n    display: flex !important; flex-direction: column !important; gap: 10px !important;\n    background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 12px !important;\n    padding: 16px 18px !important; margin-bottom: 12px !important;\n  }\n  #upl-wga-uns .wgu-cell { padding: 0 !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-uns { padding: 10px 16px 50px !important; }\n  #upl-wga-uns h2 { font-size: 25px !important; }\n  #upl-wga-uns .wgu-lead { font-size: 15.5px !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-uns\">\n  <div class=\"wgu-container\">\n    <div class=\"wgu-badge\"><span class=\"wgu-badge-dot\"><\/span><span>Not supported<\/span><\/div>\n    <h2>What is not supported in WhatsApp API groups?<\/h2>\n    <div class=\"wgu-lead\">Six message types, three admin actions, and one API are unavailable inside a group created through the WhatsApp Group API, even though every one of them works fine in a regular 1:1 conversation on the same number.<\/div>\n\n    <div class=\"wgu-table\">\n      <div class=\"wgu-row header\"><div class=\"wgu-cell\">Category<\/div><div class=\"wgu-cell\">Not available<\/div><\/div>\n      <div class=\"wgu-row\">\n        <div class=\"wgu-cell wgu-cat\"><span class=\"wgu-cat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\/><\/svg><\/span><span class=\"wgu-cat-text\">Message types<\/span><\/div>\n        <div class=\"wgu-cell wgu-val\">Calling, disappearing messages, view-once media, authentication templates, commerce messages, and interactive messages<\/div>\n      <\/div>\n      <div class=\"wgu-row\">\n        <div class=\"wgu-cell wgu-cat\"><span class=\"wgu-cat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg><\/span><span class=\"wgu-cat-text\">Admin actions<\/span><\/div>\n        <div class=\"wgu-cell wgu-val\">Hiding the participant list, editing a message already sent to the group, and deleting a message already sent to the group<\/div>\n      <\/div>\n      <div class=\"wgu-row\">\n        <div class=\"wgu-cell wgu-cat\"><span class=\"wgu-cat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z\"\/><\/svg><\/span><span class=\"wgu-cat-text\">APIs<\/span><\/div>\n        <div class=\"wgu-cell wgu-val\">The Calling API does not work inside a group conversation<\/div>\n      <\/div>\n      <div class=\"wgu-row\">\n        <div class=\"wgu-cell wgu-cat\"><span class=\"wgu-cat-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"\/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"\/><\/svg><\/span><span class=\"wgu-cat-text\">Analytics<\/span><\/div>\n        <div class=\"wgu-cell wgu-val\">No per-template performance metrics for templates used in a group. Meta recommends keeping group templates separate from 1:1 templates for this reason<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-send\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-send { background: transparent !important; }\n#upl-wga-send *, #upl-wga-send *::before, #upl-wga-send *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-send br { display: none !important; }\n#upl-wga-send p { display: contents !important; }\n\n#upl-wga-send { padding: 20px 20px 70px !important; overflow-x: hidden !important; }\n#upl-wga-send .wgs-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-send .wgs-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(221,223,76,0.18) !important; color: #8a8c2e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-send .wgs-badge-dot { width: 7px !important; height: 7px !important; background: #DDDF4C !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-send h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-send .wgs-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 30px !important; }\n#upl-wga-send .wgs-lead code { font-family: 'Courier New', monospace !important; background: #f1f5f9 !important; padding: 1px 6px !important; border-radius: 4px !important; font-size: 0.85em !important; color: #0f2736 !important; }\n\n#upl-wga-send .wgs-code-label { font-size: 0.78rem !important; font-weight: 700 !important; color: #94a3b8 !important; text-transform: uppercase !important; letter-spacing: 0.6px !important; margin-bottom: 12px !important; margin-top: 26px !important; }\n#upl-wga-send .wgs-code-wrapper { border-radius: 14px !important; overflow: hidden !important; background: #0d1117 !important; }\n#upl-wga-send .wgs-editor-bar { background: #161b22 !important; padding: 12px 18px !important; display: flex !important; align-items: center !important; gap: 8px !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; }\n#upl-wga-send .wgs-dot { width: 11px !important; height: 11px !important; border-radius: 50% !important; display: inline-block !important; flex-shrink: 0 !important; }\n#upl-wga-send .wgs-dot-r { background: #ff5f57 !important; }\n#upl-wga-send .wgs-dot-y { background: #febc2e !important; }\n#upl-wga-send .wgs-dot-g { background: #28c840 !important; }\n#upl-wga-send .wgs-filename { color: #8b949e !important; font-size: 12.5px !important; margin-left: 6px !important; font-family: 'Courier New', monospace !important; }\n#upl-wga-send .wgs-pre { padding: 20px 22px !important; font-size: 13px !important; line-height: 1.75 !important; overflow-x: auto !important; background: #0d1117 !important; }\n#upl-wga-send .wgs-pre code { font-family: 'Courier New', monospace !important; white-space: pre !important; display: block !important; }\n#upl-wga-send .wgs-k { color: #ff7b72 !important; }\n#upl-wga-send .wgs-fn { color: #d2a8ff !important; }\n#upl-wga-send .wgs-s { color: #a5d6ff !important; }\n#upl-wga-send .wgs-c { color: #8b949e !important; }\n#upl-wga-send .wgs-w { color: #e6edf3 !important; }\n#upl-wga-send .wgs-prop { color: #79c0ff !important; }\n\n#upl-wga-send .wgs-text { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-top: 26px !important; margin-bottom: 14px !important; }\n#upl-wga-send .wgs-text strong { color: #0f2736 !important; font-weight: 700 !important; }\n#upl-wga-send .wgs-text code { font-family: 'Courier New', monospace !important; background: #f1f5f9 !important; padding: 1px 6px !important; border-radius: 4px !important; font-size: 0.85em !important; color: #0f2736 !important; }\n\n#upl-wga-send .wgs-cta-wrap { margin-top: 24px !important; }\n#upl-wga-send .wgs-cta {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: #DDDF4C !important; color: #0f2736 !important;\n  padding: 13px 24px !important; border-radius: 8px !important;\n  font-size: 0.9rem !important; font-weight: 600 !important;\n  border: 2px solid #DDDF4C !important; transition: all 0.3s ease !important; cursor: pointer !important;\n}\n#upl-wga-send .wgs-cta:hover { transform: translateY(-5px) !important; }\n#upl-wga-send .wgs-cta svg { width: 15px !important; height: 15px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-send h2 { font-size: 28px !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-send { padding: 10px 16px 50px !important; }\n  #upl-wga-send h2 { font-size: 25px !important; }\n  #upl-wga-send .wgs-lead, #upl-wga-send .wgs-text { font-size: 15.5px !important; }\n  #upl-wga-send .wgs-pre { font-size: 11.5px !important; padding: 16px !important; }\n  #upl-wga-send .wgs-cta { width: 100% !important; justify-content: center !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-send\">\n  <div class=\"wgs-container\">\n    <div class=\"wgs-badge\"><span class=\"wgs-badge-dot\"><\/span><span>How-to<\/span><\/div>\n    <h2>How do you send a message to a WhatsApp group?<\/h2>\n    <div class=\"wgs-lead\">Use the same <code>POST \/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/messages<\/code> endpoint as one-to-one messaging, set <code>recipient_type<\/code> to <code>group<\/code>, and put the group ID in <code>to<\/code>. There is no separate endpoint for group messages.<\/div>\n\n    <div class=\"wgs-code-label\">Text message, curl<\/div>\n    <div class=\"wgs-code-wrapper\">\n      <div class=\"wgs-editor-bar\">\n        <span class=\"wgs-dot wgs-dot-r\"><\/span><span class=\"wgs-dot wgs-dot-y\"><\/span><span class=\"wgs-dot wgs-dot-g\"><\/span>\n        <span class=\"wgs-filename\">send-group-message.sh<\/span>\n      <\/div>\n      <div class=\"wgs-pre\"><code><span class=\"wgs-k\">curl<\/span> <span class=\"wgs-w\">-X<\/span> <span class=\"wgs-s\">POST<\/span> \\&#10;  <span class=\"wgs-s\">\"https:\/\/graph.facebook.com\/v21.0\/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/messages\"<\/span> \\&#10;  <span class=\"wgs-w\">-H<\/span> <span class=\"wgs-s\">\"Authorization: Bearer &lt;ACCESS_TOKEN&gt;\"<\/span> \\&#10;  <span class=\"wgs-w\">-H<\/span> <span class=\"wgs-s\">\"Content-Type: application\/json\"<\/span> \\&#10;  <span class=\"wgs-w\">-d<\/span> <span class=\"wgs-s\">'{<\/span>&#10;<span class=\"wgs-s\">    \"messaging_product\": \"whatsapp\",<\/span>&#10;<span class=\"wgs-s\">    \"recipient_type\": \"group\",<\/span>&#10;<span class=\"wgs-s\">    \"to\": \"&lt;GROUP_ID&gt;\",<\/span>&#10;<span class=\"wgs-s\">    \"type\": \"text\",<\/span>&#10;<span class=\"wgs-s\">    \"text\": { \"body\": \"Welcome to the project channel.\" }<\/span>&#10;<span class=\"wgs-s\">  }'<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgs-code-label\">Template message, Node.js<\/div>\n    <div class=\"wgs-code-wrapper\">\n      <div class=\"wgs-editor-bar\">\n        <span class=\"wgs-dot wgs-dot-r\"><\/span><span class=\"wgs-dot wgs-dot-y\"><\/span><span class=\"wgs-dot wgs-dot-g\"><\/span>\n        <span class=\"wgs-filename\">send-group-template.js<\/span>\n      <\/div>\n      <div class=\"wgs-pre\"><code><span class=\"wgs-k\">const<\/span> <span class=\"wgs-w\">response<\/span> <span class=\"wgs-w\">=<\/span> <span class=\"wgs-k\">await<\/span> <span class=\"wgs-fn\">fetch<\/span><span class=\"wgs-w\">(<\/span>&#10;  <span class=\"wgs-w\">`https:\/\/graph.facebook.com\/v21.0\/${<\/span><span class=\"wgs-w\">BUSINESS_PHONE_NUMBER_ID<\/span><span class=\"wgs-w\">}\/messages`<\/span><span class=\"wgs-w\">,<\/span>&#10;  <span class=\"wgs-w\">{<\/span>&#10;    <span class=\"wgs-prop\">method<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"POST\"<\/span><span class=\"wgs-w\">,<\/span>&#10;    <span class=\"wgs-prop\">headers<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-w\">{<\/span>&#10;      <span class=\"wgs-prop\">Authorization<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-w\">`Bearer ${<\/span><span class=\"wgs-w\">ACCESS_TOKEN<\/span><span class=\"wgs-w\">}`,<\/span>&#10;      <span class=\"wgs-s\">\"Content-Type\"<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"application\/json\"<\/span><span class=\"wgs-w\">,<\/span>&#10;    <span class=\"wgs-w\">},<\/span>&#10;    <span class=\"wgs-prop\">body<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-fn\">JSON.stringify<\/span><span class=\"wgs-w\">({<\/span>&#10;      <span class=\"wgs-prop\">messaging_product<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"whatsapp\"<\/span><span class=\"wgs-w\">,<\/span>&#10;      <span class=\"wgs-prop\">recipient_type<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"group\"<\/span><span class=\"wgs-w\">,<\/span>&#10;      <span class=\"wgs-prop\">to<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-w\">GROUP_ID,<\/span>&#10;      <span class=\"wgs-prop\">type<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"template\"<\/span><span class=\"wgs-w\">,<\/span>&#10;      <span class=\"wgs-prop\">template<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-w\">{<\/span>&#10;        <span class=\"wgs-prop\">name<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"onboarding_welcome\"<\/span><span class=\"wgs-w\">,<\/span>&#10;        <span class=\"wgs-prop\">language<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-w\">{<\/span> <span class=\"wgs-prop\">code<\/span><span class=\"wgs-w\">:<\/span> <span class=\"wgs-s\">\"en_US\"<\/span> <span class=\"wgs-w\">},<\/span>&#10;      <span class=\"wgs-w\">},<\/span>&#10;    <span class=\"wgs-w\">}),<\/span>&#10;  <span class=\"wgs-w\">}<\/span>&#10;<span class=\"wgs-w\">);<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgs-text\">Media messages follow the identical pattern: reference the uploaded media, then send it with <code>recipient_type: \"group\"<\/code> the same way as text or a template. Delivery, formatting, retries, and error codes all follow the same rules as any other Cloud API message, group or not.<\/div>\n    <div class=\"wgs-text\"><strong>What doesn't change on the WhatsApp Group API:<\/strong> there is no group-specific rate limit documented separately from the standard messaging limits, and no group-specific message format. The only new field is <code>recipient_type<\/code>.<\/div>\n\n    <div class=\"wgs-cta-wrap\">\n      <a class=\"wgs-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build your group messaging flow<\/span>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  var wrapper = document.getElementById('upl-wga-send');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); }\n      else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-webhooks\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-wh { background: transparent !important; }\n#upl-wga-wh *, #upl-wga-wh *::before, #upl-wga-wh *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-wh br { display: none !important; }\n#upl-wga-wh p { display: contents !important; }\n\n#upl-wga-wh { padding: 20px 20px 70px !important; overflow-x: hidden !important; }\n#upl-wga-wh .wgw-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-wh .wgw-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-wh .wgw-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-wh h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-wh .wgw-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 32px !important; }\n#upl-wga-wh .wgw-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-wh .wgw-table { border: 1px solid #e5e7eb !important; border-radius: 16px !important; overflow: hidden !important; background: #ffffff !important; }\n#upl-wga-wh .wgw-row { display: grid !important; grid-template-columns: 300px 1fr !important; }\n#upl-wga-wh .wgw-row.header { background: #0f2736 !important; }\n#upl-wga-wh .wgw-row:not(.header) { border-top: 1px solid #f0f1f3 !important; }\n#upl-wga-wh .wgw-cell { padding: 17px 24px !important; display: flex !important; align-items: center !important; }\n#upl-wga-wh .wgw-row.header .wgw-cell { font-size: 0.72rem !important; font-weight: 700 !important; color: rgba(255,255,255,0.6) !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }\n#upl-wga-wh .wgw-field { font-family: 'Courier New', monospace !important; font-size: 0.82rem !important; font-weight: 700 !important; color: #0f2736 !important; background: #f1f5f9 !important; padding: 4px 10px !important; border-radius: 6px !important; display: inline-block !important; }\n#upl-wga-wh .wgw-val { font-size: 0.88rem !important; color: #475569 !important; line-height: 1.6 !important; }\n\n#upl-wga-wh .wgw-note { display: flex !important; align-items: flex-start !important; gap: 10px !important; margin-top: 20px !important; padding: 14px 18px !important; background: #f8fafc !important; border-radius: 10px !important; }\n#upl-wga-wh .wgw-note svg { width: 16px !important; height: 16px !important; color: #64748b !important; flex-shrink: 0 !important; margin-top: 2px !important; }\n#upl-wga-wh .wgw-note-text { font-size: 0.85rem !important; color: #64748b !important; line-height: 1.6 !important; }\n#upl-wga-wh .wgw-note-text a { color: #3BB98B !important; text-decoration: underline !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-wh h2 { font-size: 28px !important; }\n}\n@media (max-width: 768px) {\n  #upl-wga-wh .wgw-table { border: none !important; background: transparent !important; }\n  #upl-wga-wh .wgw-row.header { display: none !important; }\n  #upl-wga-wh .wgw-row:not(.header) {\n    display: flex !important; flex-direction: column !important; gap: 8px !important;\n    background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 12px !important;\n    padding: 16px 18px !important; margin-bottom: 12px !important;\n  }\n  #upl-wga-wh .wgw-cell { padding: 0 !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-wh { padding: 10px 16px 50px !important; }\n  #upl-wga-wh h2 { font-size: 25px !important; }\n  #upl-wga-wh .wgw-lead { font-size: 15.5px !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-wh\">\n  <div class=\"wgw-container\">\n    <div class=\"wgw-badge\"><span class=\"wgw-badge-dot\"><\/span><span>Webhooks<\/span><\/div>\n    <h2>Which webhooks fire on WhatsApp group events?<\/h2>\n    <div class=\"wgw-lead\">The WhatsApp Group API adds four webhook fields to cover group activity, and <strong>all four require a separate subscription<\/strong> before any group event reaches your endpoint. None of them are covered by the standard message webhook you may already use for 1:1 chats.<\/div>\n\n    <div class=\"wgw-table\">\n      <div class=\"wgw-row header\"><div class=\"wgw-cell\">Webhook field<\/div><div class=\"wgw-cell\">Fires when<\/div><\/div>\n      <div class=\"wgw-row\">\n        <div class=\"wgw-cell\"><span class=\"wgw-field\">group_lifecycle_update<\/span><\/div>\n        <div class=\"wgw-cell wgw-val\">A group is created or deleted on the business number<\/div>\n      <\/div>\n      <div class=\"wgw-row\">\n        <div class=\"wgw-cell\"><span class=\"wgw-field\">group_participants_update<\/span><\/div>\n        <div class=\"wgw-cell wgw-val\">Membership changes: a join request is approved or a participant is removed<\/div>\n      <\/div>\n      <div class=\"wgw-row\">\n        <div class=\"wgw-cell\"><span class=\"wgw-field\">group_settings_update<\/span><\/div>\n        <div class=\"wgw-cell wgw-val\">The group's subject, description, or photo is changed<\/div>\n      <\/div>\n      <div class=\"wgw-row\">\n        <div class=\"wgw-cell\"><span class=\"wgw-field\">group_status_update<\/span><\/div>\n        <div class=\"wgw-cell wgw-val\">The group's general status changes on the platform<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgw-note\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n      <span class=\"wgw-note-text\">Field names and subscription requirement per Meta's Groups API get-started documentation, checked August 2026. See the <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/groups\/get-started\" target=\"_blank\" rel=\"noopener\">full webhook payload reference<\/a> for exact field structures.<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-pricing\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-price { background: transparent !important; }\n#upl-wga-price *, #upl-wga-price *::before, #upl-wga-price *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-price br { display: none !important; }\n#upl-wga-price p { display: contents !important; }\n\n#upl-wga-price { padding: 20px 20px 70px !important; overflow-x: hidden !important; max-width: 100vw !important; }\n#upl-wga-price .wgpr-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-price .wgpr-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-price .wgpr-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-price h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-price .wgpr-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 24px !important; }\n#upl-wga-price .wgpr-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-price .wgpr-text { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 18px !important; }\n#upl-wga-price .wgpr-text strong { color: #0f2736 !important; font-weight: 700 !important; }\n#upl-wga-price .wgpr-text a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n#upl-wga-price .wgpr-card { display: flex !important; align-items: flex-start !important; gap: 14px !important; margin-top: 24px !important; padding: 20px 24px !important; background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 14px !important; }\n#upl-wga-price .wgpr-card-icon { width: 34px !important; height: 34px !important; border-radius: 9px !important; background: rgba(221,223,76,0.18) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }\n#upl-wga-price .wgpr-card-icon svg { width: 17px !important; height: 17px !important; color: #8a8c2e !important; stroke-width: 2.2 !important; }\n#upl-wga-price .wgpr-card-text { font-size: 0.92rem !important; color: #475569 !important; line-height: 1.65 !important; }\n#upl-wga-price .wgpr-card-text strong { color: #0f2736 !important; font-weight: 700 !important; }\n#upl-wga-price .wgpr-card-text a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-price h2 { font-size: 28px !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-price { padding: 10px 16px 50px !important; }\n  #upl-wga-price h2 { font-size: 25px !important; }\n  #upl-wga-price .wgpr-lead, #upl-wga-price .wgpr-text { font-size: 15.5px !important; }\n  #upl-wga-price .wgpr-card { flex-direction: column !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-price\">\n  <div class=\"wgpr-container\">\n    <div class=\"wgpr-badge\"><span class=\"wgpr-badge-dot\"><\/span><span>Pricing<\/span><\/div>\n    <h2>How much does WhatsApp group messaging cost?<\/h2>\n    <div class=\"wgpr-lead\"><strong>Per message<\/strong>, the same way as any other Cloud API conversation. There is no separate rate card, and no group discount.<\/div>\n\n    <div class=\"wgpr-text\">Meta moved the entire WhatsApp Business Platform to per-message pricing on July 1, 2025, replacing the older per-conversation model. Group messages sent through the WhatsApp Group API are billed the same way: each message sent into a group counts individually, at the same per-message rate as a 1:1 message in the same category, in the same country.<\/div>\n    <div class=\"wgpr-text\">There is no volume discount specific to groups, and, as covered earlier on this page, no separate performance dashboard for templates used in a group. Budgeting a group-heavy use case means treating each group message as exactly what it is on the invoice: one more message against the standard per-message rate.<\/div>\n\n    <div class=\"wgpr-card\">\n      <span class=\"wgpr-card-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"\/><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"\/><\/svg><\/span>\n      <span class=\"wgpr-card-text\">For the full rate card across conversation categories and countries, see our <a href=\"https:\/\/www.unipile.com\/whatsapp-business-api-pricing\/\">WhatsApp Business API pricing<\/a> breakdown.<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-unipile\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-un { background: transparent !important; }\n#upl-wga-un *, #upl-wga-un *::before, #upl-wga-un *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-un br { display: none !important; }\n#upl-wga-un p { display: contents !important; }\n\n#upl-wga-un { padding: 20px 20px 74px !important; overflow-x: hidden !important; }\n#upl-wga-un .wgun-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-un .wgun-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(59,185,139,0.12) !important; color: #2aaa7e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-un .wgun-badge-dot { width: 7px !important; height: 7px !important; background: #3BB98B !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-un h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-un .wgun-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 30px !important; }\n#upl-wga-un .wgun-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-un .wgun-text { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 18px !important; }\n#upl-wga-un .wgun-text strong { color: #0f2736 !important; font-weight: 700 !important; }\n#upl-wga-un .wgun-text code { font-family: 'Courier New', monospace !important; background: #f1f5f9 !important; padding: 1px 6px !important; border-radius: 4px !important; font-size: 0.85em !important; color: #0f2736 !important; }\n#upl-wga-un .wgun-text a { color: #3BB98B !important; text-decoration: underline !important; font-weight: 600 !important; }\n\n\/* Compliance blocks *\/\n#upl-wga-un .wgun-compliance-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin: 30px 0 34px !important; }\n#upl-wga-un .wgun-compliance-card { background: #0f2736 !important; border-radius: 14px !important; padding: 24px 26px !important; border-left: 4px solid #3BB98B !important; }\n#upl-wga-un .wgun-compliance-eyebrow { display: inline-flex !important; align-items: center !important; gap: 7px !important; margin-bottom: 12px !important; }\n#upl-wga-un .wgun-compliance-eyebrow-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #3BB98B !important; flex-shrink: 0 !important; }\n#upl-wga-un .wgun-compliance-eyebrow span:not(.wgun-compliance-eyebrow-dot) { font-size: 0.68rem !important; font-weight: 700 !important; color: #3BB98B !important; text-transform: uppercase !important; letter-spacing: 0.6px !important; }\n#upl-wga-un .wgun-compliance-title { font-family: 'Poppins', sans-serif !important; font-size: 0.98rem !important; font-weight: 700 !important; color: #ffffff !important; margin-bottom: 10px !important; line-height: 1.35 !important; }\n#upl-wga-un .wgun-compliance-text { font-size: 0.85rem !important; color: rgba(255,255,255,0.75) !important; line-height: 1.65 !important; }\n#upl-wga-un .wgun-compliance-text strong { color: #ffffff !important; font-weight: 700 !important; }\n\n\/* Code blocks *\/\n#upl-wga-un .wgun-code-label { font-size: 0.78rem !important; font-weight: 700 !important; color: #94a3b8 !important; text-transform: uppercase !important; letter-spacing: 0.6px !important; margin-bottom: 12px !important; margin-top: 28px !important; }\n#upl-wga-un .wgun-code-wrapper { border-radius: 14px !important; overflow: hidden !important; background: #0d1117 !important; }\n#upl-wga-un .wgun-editor-bar { background: #161b22 !important; padding: 12px 18px !important; display: flex !important; align-items: center !important; gap: 8px !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; }\n#upl-wga-un .wgun-dot { width: 11px !important; height: 11px !important; border-radius: 50% !important; display: inline-block !important; flex-shrink: 0 !important; }\n#upl-wga-un .wgun-dot-r { background: #ff5f57 !important; }\n#upl-wga-un .wgun-dot-y { background: #febc2e !important; }\n#upl-wga-un .wgun-dot-g { background: #28c840 !important; }\n#upl-wga-un .wgun-filename { color: #8b949e !important; font-size: 12.5px !important; margin-left: 6px !important; font-family: 'Courier New', monospace !important; }\n#upl-wga-un .wgun-pre { padding: 20px 22px !important; font-size: 13px !important; line-height: 1.75 !important; overflow-x: auto !important; background: #0d1117 !important; }\n#upl-wga-un .wgun-pre code { font-family: 'Courier New', monospace !important; white-space: pre !important; display: block !important; }\n#upl-wga-un .wgun-k { color: #ff7b72 !important; }\n#upl-wga-un .wgun-fn { color: #d2a8ff !important; }\n#upl-wga-un .wgun-s { color: #a5d6ff !important; }\n#upl-wga-un .wgun-c { color: #8b949e !important; }\n#upl-wga-un .wgun-w { color: #e6edf3 !important; }\n#upl-wga-un .wgun-prop { color: #79c0ff !important; }\n\n#upl-wga-un .wgun-cta-wrap { margin-top: 30px !important; }\n#upl-wga-un .wgun-cta {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: #DDDF4C !important; color: #0f2736 !important;\n  padding: 13px 24px !important; border-radius: 8px !important;\n  font-size: 0.9rem !important; font-weight: 600 !important;\n  border: 2px solid #DDDF4C !important; transition: all 0.3s ease !important; cursor: pointer !important;\n}\n#upl-wga-un .wgun-cta:hover { transform: translateY(-5px) !important; }\n#upl-wga-un .wgun-cta svg { width: 15px !important; height: 15px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-un h2 { font-size: 28px !important; }\n  #upl-wga-un .wgun-compliance-grid { grid-template-columns: 1fr !important; }\n}\n@media (max-width: 600px) {\n  #upl-wga-un { padding: 10px 16px 54px !important; }\n  #upl-wga-un h2 { font-size: 25px !important; }\n  #upl-wga-un .wgun-lead, #upl-wga-un .wgun-text { font-size: 15.5px !important; }\n  #upl-wga-un .wgun-pre { font-size: 11.3px !important; padding: 16px !important; }\n  #upl-wga-un .wgun-cta { width: 100% !important; justify-content: center !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-un\">\n  <div class=\"wgun-container\">\n    <div class=\"wgun-badge\"><span class=\"wgun-badge-dot\"><\/span><span>Linked accounts<\/span><\/div>\n    <h2>How do you access WhatsApp groups from a user's own account?<\/h2>\n    <div class=\"wgun-lead\">A WhatsApp account connects through Unipile the same way a person would use WhatsApp Web: by <strong>QR code or pairing code<\/strong>, on behalf of the authenticated user, with <strong>no Meta Business verification<\/strong> required. Once linked, its groups are standard chats, reachable through the same chat and messaging endpoints as any other conversation.<\/div>\n\n    <div class=\"wgun-text\">Unipile acts as an <strong>independent technical intermediary<\/strong> between a product and WhatsApp: every call below executes on behalf of the authenticated user who linked the account, not as a standing integration with WhatsApp or Meta.<\/div>\n\n    <div class=\"wgun-compliance-grid\">\n      <div class=\"wgun-compliance-card\">\n        <div class=\"wgun-compliance-eyebrow\"><span class=\"wgun-compliance-eyebrow-dot\"><\/span><span>Data handling note<\/span><\/div>\n        <div class=\"wgun-compliance-title\">Scoped to the authenticated session<\/div>\n        <div class=\"wgun-compliance-text\">Group data retrieved through a linked WhatsApp account is not stored in a parallel system or kept as an independent archive. Access is scoped to the session of the <strong>authenticated user<\/strong> who linked the account, and every request acts <strong>on behalf of<\/strong> that user.<\/div>\n      <\/div>\n      <div class=\"wgun-compliance-card\">\n        <div class=\"wgun-compliance-eyebrow\"><span class=\"wgun-compliance-eyebrow-dot\"><\/span><span>Platform limits &amp; responsible use<\/span><\/div>\n        <div class=\"wgun-compliance-title\">WhatsApp's own limits, relayed<\/div>\n        <div class=\"wgun-compliance-text\">Unipile relays WhatsApp's own native rate limits on the linked account rather than imposing a separate one. How often a group is messaged, and how many groups an account manages, remains a <strong>customer-side decision<\/strong>, made within WhatsApp's own limits for that account.<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"wgun-text\">Once an account is linked, its groups show up alongside every other chat. Filtering to WhatsApp and paging through them uses the same chat list endpoint as any other conversation:<\/div>\n\n    <div class=\"wgun-code-label\">List every WhatsApp group and chat on a linked account, curl<\/div>\n    <div class=\"wgun-code-wrapper\">\n      <div class=\"wgun-editor-bar\">\n        <span class=\"wgun-dot wgun-dot-r\"><\/span><span class=\"wgun-dot wgun-dot-y\"><\/span><span class=\"wgun-dot wgun-dot-g\"><\/span>\n        <span class=\"wgun-filename\">list-groups.sh<\/span>\n      <\/div>\n      <div class=\"wgun-pre\"><code><span class=\"wgun-k\">curl<\/span> <span class=\"wgun-w\">-X<\/span> <span class=\"wgun-s\">GET<\/span> \\&#10;  <span class=\"wgun-s\">\"https:\/\/&lt;subdomain&gt;.unipile.com:&lt;port&gt;\/api\/v1\/chats?account_type=WHATSAPP&amp;account_id=&lt;ACCOUNT_ID&gt;&amp;limit=50\"<\/span> \\&#10;  <span class=\"wgun-w\">-H<\/span> <span class=\"wgun-s\">\"X-API-KEY: &lt;ACCESS_TOKEN&gt;\"<\/span> \\&#10;  <span class=\"wgun-w\">-H<\/span> <span class=\"wgun-s\">\"accept: application\/json\"<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgun-text\">Starting a new group works the same way as starting any multi-recipient chat: pass more than one entry in <code>attendees_ids<\/code>, formatted the same way WhatsApp identifies contacts internally.<\/div>\n\n    <div class=\"wgun-code-label\">Start a new WhatsApp group, curl<\/div>\n    <div class=\"wgun-code-wrapper\">\n      <div class=\"wgun-editor-bar\">\n        <span class=\"wgun-dot wgun-dot-r\"><\/span><span class=\"wgun-dot wgun-dot-y\"><\/span><span class=\"wgun-dot wgun-dot-g\"><\/span>\n        <span class=\"wgun-filename\">start-group.sh<\/span>\n      <\/div>\n      <div class=\"wgun-pre\"><code><span class=\"wgun-k\">curl<\/span> <span class=\"wgun-w\">-X<\/span> <span class=\"wgun-s\">POST<\/span> \\&#10;  <span class=\"wgun-s\">\"https:\/\/&lt;subdomain&gt;.unipile.com:&lt;port&gt;\/api\/v1\/chats\"<\/span> \\&#10;  <span class=\"wgun-w\">-H<\/span> <span class=\"wgun-s\">\"X-API-KEY: &lt;ACCESS_TOKEN&gt;\"<\/span> \\&#10;  <span class=\"wgun-w\">-F<\/span> <span class=\"wgun-s\">\"account_id=&lt;ACCOUNT_ID&gt;\"<\/span> \\&#10;  <span class=\"wgun-w\">-F<\/span> <span class=\"wgun-s\">\"attendees_ids[]=33600000001@s.whatsapp.net\"<\/span> \\&#10;  <span class=\"wgun-w\">-F<\/span> <span class=\"wgun-s\">\"attendees_ids[]=33600000002@s.whatsapp.net\"<\/span> \\&#10;  <span class=\"wgun-w\">-F<\/span> <span class=\"wgun-s\">\"attendees_ids[]=33600000003@s.whatsapp.net\"<\/span> \\&#10;  <span class=\"wgun-w\">-F<\/span> <span class=\"wgun-s\">\"subject=Acme Client Onboarding\"<\/span> \\&#10;  <span class=\"wgun-w\">-F<\/span> <span class=\"wgun-s\">\"text=Welcome to the group\"<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgun-text\">The Node SDK exposes the same chat surface for reading who is already in a group:<\/div>\n\n    <div class=\"wgun-code-label\">List a group's participants, Node.js SDK<\/div>\n    <div class=\"wgun-code-wrapper\">\n      <div class=\"wgun-editor-bar\">\n        <span class=\"wgun-dot wgun-dot-r\"><\/span><span class=\"wgun-dot wgun-dot-y\"><\/span><span class=\"wgun-dot wgun-dot-g\"><\/span>\n        <span class=\"wgun-filename\">list-participants.js<\/span>\n      <\/div>\n      <div class=\"wgun-pre\"><code><span class=\"wgun-k\">import<\/span> <span class=\"wgun-w\">{<\/span> <span class=\"wgun-w\">UnipileClient<\/span> <span class=\"wgun-w\">}<\/span> <span class=\"wgun-k\">from<\/span> <span class=\"wgun-s\">\"unipile-node-sdk\"<\/span><span class=\"wgun-w\">;<\/span>&#10;&#10;<span class=\"wgun-k\">const<\/span> <span class=\"wgun-w\">client<\/span> <span class=\"wgun-w\">=<\/span> <span class=\"wgun-k\">new<\/span> <span class=\"wgun-fn\">UnipileClient<\/span><span class=\"wgun-w\">(<\/span><span class=\"wgun-w\">BASE_URL,<\/span> <span class=\"wgun-w\">ACCESS_TOKEN<\/span><span class=\"wgun-w\">);<\/span>&#10;&#10;<span class=\"wgun-k\">const<\/span> <span class=\"wgun-w\">attendees<\/span> <span class=\"wgun-w\">=<\/span> <span class=\"wgun-k\">await<\/span> <span class=\"wgun-w\">client.messaging.<\/span><span class=\"wgun-fn\">getAllAttendeesFromChat<\/span><span class=\"wgun-w\">(<\/span><span class=\"wgun-w\">chat_id<\/span><span class=\"wgun-w\">);<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgun-text\">This is where a linked account diverges from the WhatsApp Group API: <code>PATCH \/chats\/{chat_id}<\/code> supports an <strong>addParticipant<\/strong> action, alongside <strong>removeParticipant<\/strong> and <strong>getInviteLink<\/strong>, on WhatsApp and Telegram chats. Adding someone requires the account owner to hold the group's \"Add other members\" permission inside WhatsApp itself, the same permission that would apply if they added that person manually from their phone.<\/div>\n\n    <div class=\"wgun-code-label\">Add, remove, or invite a participant, Node.js SDK<\/div>\n    <div class=\"wgun-code-wrapper\">\n      <div class=\"wgun-editor-bar\">\n        <span class=\"wgun-dot wgun-dot-r\"><\/span><span class=\"wgun-dot wgun-dot-y\"><\/span><span class=\"wgun-dot wgun-dot-g\"><\/span>\n        <span class=\"wgun-filename\">manage-participants.js<\/span>\n      <\/div>\n      <div class=\"wgun-pre\"><code><span class=\"wgun-c\">\/\/ Add a participant (WhatsApp &amp; Telegram only)<\/span>&#10;<span class=\"wgun-k\">await<\/span> <span class=\"wgun-w\">client.messaging.<\/span><span class=\"wgun-fn\">performAction<\/span><span class=\"wgun-w\">({<\/span>&#10;  <span class=\"wgun-prop\">chat_id<\/span><span class=\"wgun-w\">,<\/span>&#10;  <span class=\"wgun-prop\">action<\/span><span class=\"wgun-w\">:<\/span> <span class=\"wgun-s\">\"addParticipant\"<\/span><span class=\"wgun-w\">,<\/span>&#10;  <span class=\"wgun-prop\">value<\/span><span class=\"wgun-w\">:<\/span> <span class=\"wgun-s\">\"33600000009@s.whatsapp.net\"<\/span><span class=\"wgun-w\">,<\/span>&#10;<span class=\"wgun-w\">});<\/span>&#10;&#10;<span class=\"wgun-c\">\/\/ Remove a participant<\/span>&#10;<span class=\"wgun-k\">await<\/span> <span class=\"wgun-w\">client.messaging.<\/span><span class=\"wgun-fn\">performAction<\/span><span class=\"wgun-w\">({<\/span>&#10;  <span class=\"wgun-prop\">chat_id<\/span><span class=\"wgun-w\">,<\/span>&#10;  <span class=\"wgun-prop\">action<\/span><span class=\"wgun-w\">:<\/span> <span class=\"wgun-s\">\"removeParticipant\"<\/span><span class=\"wgun-w\">,<\/span>&#10;  <span class=\"wgun-prop\">value<\/span><span class=\"wgun-w\">:<\/span> <span class=\"wgun-s\">\"33600000009@s.whatsapp.net\"<\/span><span class=\"wgun-w\">,<\/span>&#10;<span class=\"wgun-w\">});<\/span>&#10;&#10;<span class=\"wgun-c\">\/\/ Get the group's invite link<\/span>&#10;<span class=\"wgun-k\">const<\/span> <span class=\"wgun-w\">{<\/span> <span class=\"wgun-w\">invite_link<\/span> <span class=\"wgun-w\">}<\/span> <span class=\"wgun-w\">=<\/span> <span class=\"wgun-k\">await<\/span> <span class=\"wgun-w\">client.messaging.<\/span><span class=\"wgun-fn\">performAction<\/span><span class=\"wgun-w\">({<\/span>&#10;  <span class=\"wgun-prop\">chat_id<\/span><span class=\"wgun-w\">,<\/span>&#10;  <span class=\"wgun-prop\">action<\/span><span class=\"wgun-w\">:<\/span> <span class=\"wgun-s\">\"getInviteLink\"<\/span><span class=\"wgun-w\">,<\/span>&#10;<span class=\"wgun-w\">});<\/span><\/code><\/div>\n    <\/div>\n\n    <div class=\"wgun-text\">There is no published cap on how many people a group can hold once it is managed through a linked account: <strong>the group operates under WhatsApp's native mechanics on the linked account<\/strong>, not the Cloud API's 8-participant ceiling. Unipile does not document or enforce a separate participant limit of its own on top of it.<\/div>\n    <div class=\"wgun-text\">Full parameter reference for these three actions, including the exact provider ID format per platform, is in the Unipile <a href=\"https:\/\/developer.unipile.com\/reference\/chatscontroller_patchchat\" target=\"_blank\" rel=\"noopener\">chat action endpoint<\/a> documentation.<\/div>\n\n    <div class=\"wgun-cta-wrap\">\n      <a class=\"wgun-cta\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Build it with Unipile<\/span>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  var wrapper = document.getElementById('upl-wga-un');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); }\n      else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\">\n<span id=\"wga-decision\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-dec { background: transparent !important; }\n#upl-wga-dec *, #upl-wga-dec *::before, #upl-wga-dec *::after {\n  margin: 0 !important;\n  padding: 0 !important;\n  box-sizing: border-box !important;\n  border: none !important;\n  outline: none !important;\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n  line-height: normal !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n  text-decoration: none !important;\n  list-style: none !important;\n  background: transparent !important;\n  float: none !important;\n}\n#upl-wga-dec br { display: none !important; }\n#upl-wga-dec p { display: contents !important; }\n\n#upl-wga-dec { padding: 20px 20px 76px !important; overflow-x: hidden !important; }\n#upl-wga-dec .wgdc-container { max-width: 1100px !important; margin: 0 auto !important; }\n#upl-wga-dec .wgdc-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: rgba(221,223,76,0.18) !important; color: #8a8c2e !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 20px !important; }\n#upl-wga-dec .wgdc-badge-dot { width: 7px !important; height: 7px !important; background: #DDDF4C !important; border-radius: 50% !important; flex-shrink: 0 !important; }\n#upl-wga-dec h2 { font-family: 'Poppins', sans-serif !important; font-size: 35px !important; font-weight: 700 !important; color: #0f2736 !important; line-height: 1.25 !important; margin-bottom: 20px !important; }\n#upl-wga-dec .wgdc-lead { font-size: 17px !important; line-height: 1.8 !important; color: #1e293b !important; margin-bottom: 34px !important; }\n#upl-wga-dec .wgdc-lead strong { color: #0f2736 !important; font-weight: 700 !important; }\n\n#upl-wga-dec .wgdc-table { border: 1px solid #e5e7eb !important; border-radius: 16px !important; overflow: hidden !important; background: #ffffff !important; margin-bottom: 40px !important; }\n#upl-wga-dec .wgdc-row { display: grid !important; grid-template-columns: 1.35fr 1fr 1fr !important; }\n#upl-wga-dec .wgdc-row.header { background: #0f2736 !important; }\n#upl-wga-dec .wgdc-row:not(.header) { border-top: 1px solid #f0f1f3 !important; }\n#upl-wga-dec .wgdc-cell { padding: 15px 20px !important; display: flex !important; align-items: center !important; }\n#upl-wga-dec .wgdc-row.header .wgdc-cell { font-size: 0.74rem !important; font-weight: 700 !important; color: rgba(255,255,255,0.65) !important; }\n#upl-wga-dec .wgdc-row.header .wgdc-cell.highlight { background: rgba(59,185,139,0.22) !important; color: #ffffff !important; }\n#upl-wga-dec .wgdc-cell.req { font-size: 0.85rem !important; font-weight: 700 !important; color: #0f2736 !important; }\n#upl-wga-dec .wgdc-cell.val { font-size: 0.82rem !important; color: #475569 !important; line-height: 1.5 !important; }\n#upl-wga-dec .wgdc-cell.highlight:not(.header .wgdc-cell) { background: rgba(59,185,139,0.045) !important; color: #0f2736 !important; font-weight: 500 !important; }\n\n@media (max-width: 900px) {\n  #upl-wga-dec h2 { font-size: 28px !important; }\n}\n@media (max-width: 800px) {\n  #upl-wga-dec .wgdc-table { border: none !important; background: transparent !important; }\n  #upl-wga-dec .wgdc-row.header { display: none !important; }\n  #upl-wga-dec .wgdc-row:not(.header) {\n    display: flex !important; flex-direction: column !important; gap: 8px !important;\n    background: #ffffff !important; border: 1px solid #e5e7eb !important; border-radius: 12px !important;\n    padding: 16px 18px !important; margin-bottom: 12px !important;\n  }\n  #upl-wga-dec .wgdc-cell { padding: 0 !important; }\n  #upl-wga-dec .wgdc-cell.val::before { display: block !important; font-size: 0.66rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.4px !important; margin-bottom: 3px !important; color: #94a3b8 !important; }\n  #upl-wga-dec .wgdc-cell.val:nth-of-type(2)::before { content: 'Meta Groups API' !important; }\n  #upl-wga-dec .wgdc-cell.val:nth-of-type(3)::before { content: 'Linked account' !important; }\n  #upl-wga-dec .wgdc-cell.highlight:not(.header .wgdc-cell) { background: transparent !important; padding-left: 10px !important; border-left: 3px solid #3BB98B !important; }\n}\n\n#upl-wga-dec .wgdc-actions { display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; }\n#upl-wga-dec .wgdc-cta-primary {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: #DDDF4C !important; color: #0f2736 !important;\n  padding: 14px 28px !important; border-radius: 8px !important;\n  font-size: 0.95rem !important; font-weight: 600 !important;\n  border: 2px solid #DDDF4C !important; transition: all 0.3s ease !important; cursor: pointer !important;\n}\n#upl-wga-dec .wgdc-cta-primary:hover { transform: translateY(-5px) !important; }\n#upl-wga-dec .wgdc-cta-primary svg { width: 16px !important; height: 16px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }\n#upl-wga-dec .wgdc-cta-secondary {\n  display: inline-flex !important; align-items: center !important; gap: 8px !important;\n  background: transparent !important; color: #0f2736 !important;\n  padding: 12px 24px !important; border-radius: 8px !important;\n  font-size: 0.95rem !important; font-weight: 600 !important;\n  border: 2px solid #0f2736 !important; transition: all 0.3s ease !important; cursor: pointer !important;\n}\n#upl-wga-dec .wgdc-cta-secondary:hover { background: #0f2736 !important; color: #ffffff !important; }\n\n@media (max-width: 600px) {\n  #upl-wga-dec { padding: 10px 16px 54px !important; }\n  #upl-wga-dec h2 { font-size: 25px !important; }\n  #upl-wga-dec .wgdc-lead { font-size: 15.5px !important; }\n  #upl-wga-dec .wgdc-actions { flex-direction: column !important; width: 100% !important; }\n  #upl-wga-dec .wgdc-cta-primary, #upl-wga-dec .wgdc-cta-secondary { width: 100% !important; justify-content: center !important; }\n}\n<\/style>\n\n<div id=\"upl-wga-dec\">\n  <div class=\"wgdc-container\">\n    <div class=\"wgdc-badge\"><span class=\"wgdc-badge-dot\"><\/span><span>Decision<\/span><\/div>\n    <h2>Groups API or linked account: which one fits your product?<\/h2>\n    <div class=\"wgdc-lead\">Both paths, the WhatsApp Group API and a linked account, create and message WhatsApp groups. They fit different products, so the right choice depends on whether the use case can live with an 8-participant, invite-only ceiling or not.<\/div>\n\n    <div class=\"wgdc-table\">\n      <div class=\"wgdc-row header\">\n        <div class=\"wgdc-cell\">Requirement<\/div>\n        <div class=\"wgdc-cell\">Meta Groups API<\/div>\n        <div class=\"wgdc-cell highlight\">Linked account<\/div>\n      <\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Account requirement<\/div><div class=\"wgdc-cell val\">Official Business Account, on the Cloud API<\/div><div class=\"wgdc-cell val highlight\">Existing WhatsApp account, linked by QR or pairing code<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Max participants<\/div><div class=\"wgdc-cell val\">8 per group<\/div><div class=\"wgdc-cell val highlight\">WhatsApp's native group mechanics, no separate Unipile cap<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Add a participant directly<\/div><div class=\"wgdc-cell val\">Not available: invite link and approval only<\/div><div class=\"wgdc-cell val highlight\">Available, via the addParticipant action<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Invite link<\/div><div class=\"wgdc-cell val\">Generate and reset via the API<\/div><div class=\"wgdc-cell val highlight\">Generate via the getInviteLink action<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Read existing group history<\/div><div class=\"wgdc-cell val\">Not part of the API: messages arrive by webhook as they happen<\/div><div class=\"wgdc-cell val highlight\">Full history sync plus message list endpoints<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">List participants<\/div><div class=\"wgdc-cell val\">Participant count only, via group metadata<\/div><div class=\"wgdc-cell val highlight\">Full attendee list, one call<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Message types<\/div><div class=\"wgdc-cell val\">Text, media, template text, template media<\/div><div class=\"wgdc-cell val highlight\">Text, media, and WhatsApp's native message types<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Webhooks<\/div><div class=\"wgdc-cell val\">4 dedicated group fields, each a separate subscription<\/div><div class=\"wgdc-cell val highlight\">Standard chat and message webhooks<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Billing model<\/div><div class=\"wgdc-cell val\">Per message, standard Cloud API conversation pricing<\/div><div class=\"wgdc-cell val highlight\">Unipile subscription, not billed per WhatsApp message<\/div><\/div>\n      <div class=\"wgdc-row\"><div class=\"wgdc-cell req\">Who owns the conversation<\/div><div class=\"wgdc-cell val\">The business, as the Official Business Account holder<\/div><div class=\"wgdc-cell val highlight\">The end user, Unipile acts on their behalf<\/div><\/div>\n    <\/div>\n\n    <div class=\"wgdc-actions\">\n      <a class=\"wgdc-cta-primary\" href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" rel=\"noopener\" data-upl-link=\"https:\/\/dashboard.unipile.com\/signup\/\" data-upl-target=\"_blank\">\n        <span>Start building<\/span>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>\n      <\/a>\n      <a class=\"wgdc-cta-secondary\" href=\"https:\/\/www.unipile.com\/pricing-api\/\" data-upl-link=\"https:\/\/www.unipile.com\/pricing-api\/\"><span>See pricing<\/span><\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  var wrapper = document.getElementById('upl-wga-dec');\n  if (!wrapper) return;\n  wrapper.addEventListener('click', function(e) {\n    var linkEl = e.target.closest('[data-upl-link]');\n    if (linkEl) {\n      e.preventDefault();\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n      var url = linkEl.getAttribute('data-upl-link');\n      var target = linkEl.getAttribute('data-upl-target');\n      if (target === '_blank') { window.open(url, '_blank'); }\n      else { window.location.href = url; }\n      return false;\n    }\n  }, true);\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.3\" background_color=\"transparent\" custom_padding=\"0px|0px|0px|0px|false|false\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.3\" global_colors_info=\"{}\"][et_pb_code _builder_version=\"4.27.3\" global_colors_info=\"{}\"]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@600;700&#038;display=swap\" rel=\"stylesheet\">\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is the WhatsApp Group API deprecated?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. The WhatsApp Group API is active on the WhatsApp Business Platform's Cloud API as of 2026. The confusion comes from the ecosystem side: several third-party messaging platforms have not implemented group support yet, and some help centers and open feature requests still describe WhatsApp API groups as unsupported even though Meta's own documentation confirms otherwise.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I use the WhatsApp Groups API without an Official Business Account?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No, not for Meta's Groups API: an Official Business Account on the Cloud API is required, and numbers on the WhatsApp Business app or in Multi-solution Conversations are excluded. A WhatsApp account linked through Unipile is a different path: it links by QR code or pairing code, on behalf of the authenticated user, with no Meta Business verification at all.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many people can be in a WhatsApp API group?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"8 participants maximum per group on the Cloud API's Groups API, and up to 10,000 groups per business number. A WhatsApp account linked through Unipile follows WhatsApp's native group mechanics on the linked account instead of that cap.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I get a WhatsApp group ID?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Meta returns the group ID when the group is created, through POST \/<BUSINESS_PHONE_NUMBER_ID>\/groups. Existing group IDs are listed with GET \/<BUSINESS_PHONE_NUMBER_ID>\/groups. On a linked account, the same ID appears as the chat_id returned when listing chats or starting a new group.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I read messages from an existing WhatsApp group?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It depends on the path. The Cloud API's Groups API is webhook-driven: messages arrive as they happen, and there is no endpoint to pull a group's past history. A WhatsApp account linked through Unipile can retrieve existing messages and resynchronize a conversation's full history on the authenticated user's behalf.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is Unipile affiliated with WhatsApp or Meta?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. Unipile is an independent technical intermediary and is not affiliated with, endorsed by, or sponsored by WhatsApp or Meta. It connects a user's own WhatsApp account on their behalf and does not operate as a WhatsApp Business Solution Provider for the Cloud API described earlier on this page.\"\n      }\n    }\n  ]\n}\n<\/script>\n<span id=\"wga-faq\" style=\"display:block;position:relative;top:-80px;visibility:hidden;\"><\/span>\n<style>\n#upl-wga-faq { font-family:'Inter',sans-serif; padding:80px 20px; max-width:900px; margin:0 auto; background:transparent!important; overflow-x:hidden!important; }\n#upl-wga-faq *, #upl-wga-faq *::before, #upl-wga-faq *::after { margin:0!important; padding:0!important; box-sizing:border-box!important; }\n#upl-wga-faq br { display: none !important; }\n#upl-wga-faq p { display: contents !important; }\n#upl-wga-faq .upl-faq-header { text-align:center!important; margin-bottom:60px!important; }\n#upl-wga-faq .upl-faq-title { font-family:'Poppins',sans-serif!important; font-size:clamp(32px,5vw,38px)!important; font-weight:700!important; color:#0f2736!important; margin-bottom:16px!important; line-height:1.2!important; }\n#upl-wga-faq .upl-faq-subtitle { font-size:17px!important; color:#383838!important; max-width:700px!important; margin:0 auto!important; line-height:1.6!important; }\n#upl-wga-faq .upl-faq-list { display:flex!important; flex-direction:column!important; gap:12px!important; }\n#upl-wga-faq .upl-faq-item { background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:16px!important; overflow:hidden!important; transition:all 0.3s ease!important; }\n#upl-wga-faq .upl-faq-item:hover { border-color:#3BB98B!important; box-shadow:0 4px 20px rgba(59,185,139,0.08)!important; }\n#upl-wga-faq .upl-faq-item.active { border-color:#3BB98B!important; box-shadow:0 8px 30px rgba(59,185,139,0.12)!important; }\n#upl-wga-faq .upl-faq-question { width:100%!important; display:flex!important; align-items:flex-start!important; justify-content:space-between!important; gap:20px!important; padding:24px 28px!important; background:transparent!important; border:none!important; cursor:pointer!important; text-align:left!important; }\n#upl-wga-faq .upl-faq-question-content { display:flex!important; align-items:flex-start!important; gap:16px!important; flex:1!important; }\n#upl-wga-faq .upl-faq-number { flex-shrink:0!important; padding:6px 12px!important; background:rgba(59,185,139,0.12)!important; color:#3BB98B!important; border-radius:20px!important; font-size:0.8rem!important; font-weight:600!important; }\n#upl-wga-faq .upl-faq-item.active .upl-faq-number { background:rgba(59,185,139,0.2)!important; color:#2a9d6e!important; }\n#upl-wga-faq .upl-faq-question-text { font-family:'Poppins',sans-serif!important; font-size:1.1rem!important; font-weight:600!important; color:#0f2736!important; line-height:1.4!important; padding-top:4px!important; }\n#upl-wga-faq .upl-faq-icon { flex-shrink:0!important; width:36px!important; height:36px!important; background:#f4f5f7!important; border-radius:50%!important; display:flex!important; align-items:center!important; justify-content:center!important; transition:all 0.3s ease!important; margin-top:2px!important; }\n#upl-wga-faq .upl-faq-icon svg { width:18px!important; height:18px!important; color:#64748b!important; transition:all 0.3s ease!important; }\n#upl-wga-faq .upl-faq-item:hover .upl-faq-icon { background:rgba(59,185,139,0.1)!important; }\n#upl-wga-faq .upl-faq-item:hover .upl-faq-icon svg { color:#3BB98B!important; }\n#upl-wga-faq .upl-faq-item.active .upl-faq-icon { background:#3BB98B!important; transform:rotate(45deg)!important; }\n#upl-wga-faq .upl-faq-item.active .upl-faq-icon svg { color:#ffffff!important; }\n#upl-wga-faq .upl-faq-answer { max-height:0!important; overflow:hidden!important; transition:max-height 0.4s ease!important; }\n#upl-wga-faq .upl-faq-item.active .upl-faq-answer { max-height:600px!important; }\n#upl-wga-faq .upl-faq-answer-content { padding:0 28px 28px 76px!important; color:#475569!important; font-size:1rem!important; line-height:1.7!important; }\n#upl-wga-faq .upl-faq-answer-content strong { color:#0f2736!important; font-weight:600!important; }\n#upl-wga-faq .upl-faq-answer-content a { color:#3BB98B!important; text-decoration:underline!important; }\n#upl-wga-faq .upl-faq-answer-content code { font-family:monospace!important; background:#f1f5f9!important; padding:2px 6px!important; border-radius:3px!important; font-size:0.85em!important; }\n#upl-wga-faq .upl-faq-cta { margin-top:50px!important; display:flex!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; padding:20px 28px!important; background:#ffffff!important; border:1px solid #e5e7eb!important; border-radius:12px!important; }\n#upl-wga-faq .upl-faq-cta-text { color:#475569!important; font-size:1rem!important; }\n#upl-wga-faq .upl-faq-cta-button { display:inline-flex!important; align-items:center!important; gap:10px!important; background:#DDDF4C!important; color:#0F2836!important; padding:13px 20px!important; border-radius:8px!important; text-decoration:none!important; font-weight:700!important; font-size:1rem!important; border:none!important; cursor:pointer!important; white-space:nowrap!important; }\n#upl-wga-faq .upl-faq-cta-button:hover { transform:translateY(-2px)!important; }\n@media (max-width:768px) {\n  #upl-wga-faq { padding:60px 16px!important; }\n  #upl-wga-faq .upl-faq-answer-content { padding:0 20px 20px 20px!important; }\n  #upl-wga-faq .upl-faq-question { padding:18px 20px!important; }\n  #upl-wga-faq .upl-faq-cta { flex-direction:column!important; align-items:flex-start!important; }\n}\n<\/style>\n\n<section id=\"upl-wga-faq\">\n  <div class=\"upl-faq-header\">\n    <h2 class=\"upl-faq-title\">WhatsApp Group API - FAQ<\/h2>\n    <div class=\"upl-faq-subtitle\">Answers to the questions Meta's WhatsApp Groups API documentation doesn't spell out directly.<\/div>\n  <\/div>\n  <div class=\"upl-faq-list\">\n\n    <div class=\"upl-faq-item active\">\n      <button class=\"upl-faq-question\" aria-expanded=\"true\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">01<\/span>\n          <span class=\"upl-faq-question-text\">Is the WhatsApp Group API deprecated?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><div>No. The WhatsApp Group API is active on the WhatsApp Business Platform's Cloud API as of 2026. The confusion comes from the ecosystem side: several third-party messaging platforms have not implemented group support yet, and some help centers and open feature requests still describe WhatsApp API groups as unsupported even though Meta's own documentation confirms otherwise.<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">02<\/span>\n          <span class=\"upl-faq-question-text\">Can I use the WhatsApp Groups API without an Official Business Account?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><div>No, not for Meta's Groups API: an <strong>Official Business Account<\/strong> on the Cloud API is required, and numbers on the WhatsApp Business app or in Multi-solution Conversations are excluded. A <a href=\"#wga-unipile\">WhatsApp account linked through Unipile<\/a> is a different path: it links by QR code or pairing code, on behalf of the authenticated user, with no Meta Business verification at all.<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">03<\/span>\n          <span class=\"upl-faq-question-text\">How many people can be in a WhatsApp API group?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><div><strong>8 participants maximum<\/strong> per group on the Cloud API's Groups API, and up to 10,000 groups per business number. A WhatsApp account linked through Unipile follows WhatsApp's native group mechanics on the linked account instead of that cap.<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">04<\/span>\n          <span class=\"upl-faq-question-text\">How do I get a WhatsApp group ID?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><div>Meta returns the group ID when the group is created, through <code>POST \/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/groups<\/code>. Existing group IDs are listed with <code>GET \/&lt;BUSINESS_PHONE_NUMBER_ID&gt;\/groups<\/code>. On a linked account, the same ID appears as the <code>chat_id<\/code> returned when listing chats or starting a new group.<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">05<\/span>\n          <span class=\"upl-faq-question-text\">Can I read messages from an existing WhatsApp group?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><div>It depends on the path. The Cloud API's Groups API is webhook-driven: messages arrive as they happen, and there is no endpoint to pull a group's past history. A WhatsApp account linked through Unipile can retrieve existing messages and resynchronize a conversation's full history on the authenticated user's behalf.<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"upl-faq-item\">\n      <button class=\"upl-faq-question\" aria-expanded=\"false\">\n        <div class=\"upl-faq-question-content\">\n          <span class=\"upl-faq-number\">06<\/span>\n          <span class=\"upl-faq-question-text\">Is Unipile affiliated with WhatsApp or Meta?<\/span>\n        <\/div>\n        <div class=\"upl-faq-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n        <\/div>\n      <\/button>\n      <div class=\"upl-faq-answer\">\n        <div class=\"upl-faq-answer-content\"><div>No. Unipile is an <strong>independent technical intermediary<\/strong> and is <strong>not affiliated with, endorsed by, or sponsored by WhatsApp or Meta<\/strong>. It connects a user's own WhatsApp account on their behalf and does not operate as a WhatsApp Business Solution Provider for the Cloud API described earlier on this page.<\/div><\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n  <div class=\"upl-faq-cta\">\n    <div class=\"upl-faq-cta-text\">Still have questions? Our team is here to help.<\/div>\n    <span class=\"upl-faq-cta-button\" onclick=\"if(window.$crisp){$crisp.push(['do','chat:open'])}\"><span>Talk to an expert<\/span><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><\/span>\n  <\/div>\n<\/section>\n\n<script>\n(function(){\n  function initFaq(){\n    var faq=document.getElementById('upl-wga-faq');\n    if(!faq)return;\n    faq.querySelectorAll('.upl-faq-question').forEach(function(btn){\n      btn.addEventListener('click',function(){\n        var item=btn.closest('.upl-faq-item');\n        var isActive=item.classList.contains('active');\n        faq.querySelectorAll('.upl-faq-item').forEach(function(i){i.classList.remove('active');i.querySelector('.upl-faq-question').setAttribute('aria-expanded','false');});\n        if(!isActive){item.classList.add('active');btn.setAttribute('aria-expanded','true');}\n      });\n    });\n    faq.addEventListener('click',function(e){\n      var el=e.target.closest('[data-upl-link]');\n      if(!el)return;\n      e.preventDefault();\n      window.open(el.getAttribute('data-upl-link'),el.getAttribute('data-upl-target')||'_blank');\n    });\n    faq.querySelectorAll('.upl-faq-answer-content a[href^=\"#\"]').forEach(function(a){\n      a.addEventListener('click', function(e){\n        var href = a.getAttribute('href');\n        var target = document.getElementById(href.substring(1));\n        if (target) {\n          e.preventDefault();\n          var top = target.getBoundingClientRect().top + window.pageYOffset - 80;\n          window.scrollTo({ top: top, behavior: 'smooth' });\n        }\n      });\n    });\n  }\n  if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',initFaq);}else{initFaq();}\n})();\n<\/script>\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>Meta&#8217;s WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.<\/p>","protected":false},"author":4,"featured_media":279714,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[69],"tags":[],"post_folder":[],"class_list":["post-279696","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-guidelines"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives - Unipile<\/title>\n<meta name=\"description\" content=\"Meta&#039;s WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.unipile.com\/nl\/whatsapp-group-api\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives - Unipile\" \/>\n<meta property=\"og:description\" content=\"Meta&#039;s WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.unipile.com\/nl\/whatsapp-group-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Unipile\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/unipilefr\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-06T13:14:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-07T08:27:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2025\/09\/whatsapp-1.svg\" \/>\n<meta name=\"author\" content=\"Damien Girardeau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@UnipileAPI\" \/>\n<meta name=\"twitter:site\" content=\"@UnipileAPI\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Damien Girardeau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/\"},\"author\":{\"name\":\"Damien Girardeau\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/person\\\/a2ac44e22bdc27d497ce8b58716a673e\"},\"headline\":\"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives\",\"datePublished\":\"2026-08-06T13:14:16+00:00\",\"dateModified\":\"2026-08-07T08:27:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/\"},\"wordCount\":4067,\"publisher\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/whatsapp-group-api-featured.png\",\"articleSection\":[\"API Guidelines\"],\"inLanguage\":\"nl-NL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/\",\"name\":\"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives - Unipile\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/whatsapp-group-api-featured.png\",\"datePublished\":\"2026-08-06T13:14:16+00:00\",\"dateModified\":\"2026-08-07T08:27:11+00:00\",\"description\":\"Meta's WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/whatsapp-group-api-featured.png\",\"contentUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/whatsapp-group-api-featured.png\",\"width\":2400,\"height\":1600,\"caption\":\"Meta's WhatsApp Groups API limits, and how a linked account adds participants instead\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/whatsapp-group-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.unipile.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#website\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/\",\"name\":\"Unipile\",\"description\":\"Integrate Messaging &amp; Email, Connect with Ease via API\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.unipile.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\",\"name\":\"Unipile\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/logo-unipile.png\",\"contentUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/logo-unipile.png\",\"width\":200,\"height\":49,\"caption\":\"Unipile\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/unipilefr\",\"https:\\\/\\\/x.com\\\/UnipileAPI\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/unipile\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/person\\\/a2ac44e22bdc27d497ce8b58716a673e\",\"name\":\"Damien Girardeau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"caption\":\"Damien Girardeau\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives - Unipile","description":"Meta's WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.unipile.com\/nl\/whatsapp-group-api\/","og_locale":"nl_NL","og_type":"article","og_title":"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives - Unipile","og_description":"Meta's WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.","og_url":"https:\/\/www.unipile.com\/nl\/whatsapp-group-api\/","og_site_name":"Unipile","article_publisher":"https:\/\/www.facebook.com\/unipilefr","article_published_time":"2026-08-06T13:14:16+00:00","article_modified_time":"2026-08-07T08:27:11+00:00","og_image":[{"url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2025\/09\/whatsapp-1.svg","type":"","width":"","height":""}],"author":"Damien Girardeau","twitter_card":"summary_large_image","twitter_creator":"@UnipileAPI","twitter_site":"@UnipileAPI","twitter_misc":{"Geschreven door":"Damien Girardeau","Geschatte leestijd":"14 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#article","isPartOf":{"@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/"},"author":{"name":"Damien Girardeau","@id":"https:\/\/www.unipile.com\/#\/schema\/person\/a2ac44e22bdc27d497ce8b58716a673e"},"headline":"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives","datePublished":"2026-08-06T13:14:16+00:00","dateModified":"2026-08-07T08:27:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/"},"wordCount":4067,"publisher":{"@id":"https:\/\/www.unipile.com\/#organization"},"image":{"@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/whatsapp-group-api-featured.png","articleSection":["API Guidelines"],"inLanguage":"nl-NL"},{"@type":"WebPage","@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/","url":"https:\/\/www.unipile.com\/whatsapp-group-api\/","name":"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives - Unipile","isPartOf":{"@id":"https:\/\/www.unipile.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#primaryimage"},"image":{"@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/whatsapp-group-api-featured.png","datePublished":"2026-08-06T13:14:16+00:00","dateModified":"2026-08-07T08:27:11+00:00","description":"Meta's WhatsApp Group API is live, but capped at 8 participants, limited to Official Business Accounts, and has no add-participant endpoint. 2026 breakdown.","breadcrumb":{"@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.unipile.com\/whatsapp-group-api\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#primaryimage","url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/whatsapp-group-api-featured.png","contentUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/08\/whatsapp-group-api-featured.png","width":2400,"height":1600,"caption":"Meta's WhatsApp Groups API limits, and how a linked account adds participants instead"},{"@type":"BreadcrumbList","@id":"https:\/\/www.unipile.com\/whatsapp-group-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.unipile.com\/"},{"@type":"ListItem","position":2,"name":"WhatsApp Group API 2026: Limits, Endpoints &amp; Alternatives"}]},{"@type":"WebSite","@id":"https:\/\/www.unipile.com\/#website","url":"https:\/\/www.unipile.com\/","name":"Eenpaal","description":"Integreer berichten en e-mail, maak eenvoudig verbinding via API","publisher":{"@id":"https:\/\/www.unipile.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.unipile.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/www.unipile.com\/#organization","name":"Eenpaal","url":"https:\/\/www.unipile.com\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/www.unipile.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2021\/05\/logo-unipile.png","contentUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2021\/05\/logo-unipile.png","width":200,"height":49,"caption":"Unipile"},"image":{"@id":"https:\/\/www.unipile.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/unipilefr","https:\/\/x.com\/UnipileAPI","https:\/\/www.linkedin.com\/company\/unipile\/"]},{"@type":"Person","@id":"https:\/\/www.unipile.com\/#\/schema\/person\/a2ac44e22bdc27d497ce8b58716a673e","name":"Damien Girardeau","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","caption":"Damien Girardeau"}}]}},"_links":{"self":[{"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/posts\/279696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/comments?post=279696"}],"version-history":[{"count":6,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/posts\/279696\/revisions"}],"predecessor-version":[{"id":279713,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/posts\/279696\/revisions\/279713"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/media\/279714"}],"wp:attachment":[{"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/media?parent=279696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/categories?post=279696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/tags?post=279696"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/www.unipile.com\/nl\/wp-json\/wp\/v2\/post_folder?post=279696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}