Skip to main content
Base URL
v26.0 is the recommended version. Polymorfa forwards the URL version for operations it sends to Meta. Changing it does not change the behavior of Polymorfa’s media, phone-number, or business-profile methods, or Linked Device operations. Check the method reference for its supported versions. Polymorfa-Version does not apply to Graph requests. Authenticate with Authorization: Bearer <token> and keep the method’s Meta-compatible request shape.

Session backends

Graph supports Linked Devices and Meta Cloud API sessions. The selected session determines which backend handles the request. This does not make every Meta operation available on every backend: unsupported operations return a Meta-compatible capability error. Credential scopes and session ownership still apply. Browse the resources under Graph API for method parameters, responses, and backend requirements. The Marketing Messages send method accepts a template request with an explicit STRICT product policy. Meta decides account eligibility and message status; a Campaign send stays on its selected provider path. The WABA status read returns WhatsApp’s Marketing Messages onboarding status, the business portfolio’s terms state, and the Cloud API marketing setting. Terms are accepted in WhatsApp Manager, not through the API. Meta-format webhooks receive the account_update terms notification (MM_LITE_TERMS_SIGNED). Inbound messages that Meta marks with a Click-to-WhatsApp referral preserve the provider’s referral object in Meta-format webhooks. Its click and source identifiers describe the entry point; they are not payment or conversion results. Linked Devices translate validated reply buttons, lists, and HTTPS call-to-action URLs into native messages. Interactive forms without a native equivalent return capability error 131026. Business-profile GET and POST return a saved profile for Linked Devices and simulated numbers. For a real Meta Cloud API number, both operations return capability error 131026; they do not read or change the WhatsApp profile. Structured order-details and order-status interactive sends return 131026 for both backends. Reading an incoming order does not confirm a payment. Template creation, listing, and deletion require a Meta Cloud API session under the requested WABA. A Linked Devices-only WABA returns a Meta-shaped capability error with code 131026; it does not return an empty template list or a successful deletion. A Meta Cloud API WABA with no stored templates returns an empty list. Creation and deletion accept an optional Idempotency-Key. A completed or uncertain attempt keeps the same key fenced for 24 hours, so a repeat does not submit another provider write. A definite provider rejection or a proven pre-dispatch failure releases the key for reuse. A successful request returns a conflict response with X-Polymorfa-Error-Code: idempotency_completed; an unconfirmed result returns idempotency_outcome_unknown. A recorded server error replays its status. Read the template catalog after an uncertain result before deciding whether to submit another write. Product catalog discovery reads the WABA linked to an Official API Number in your project. Meta returns catalog visibility and permission errors from the connected account. The catalog read does not link catalogs or change products. The linked catalog product read lists a small product projection with Meta cursors after checking the same WABA catalog association. It does not establish product send or merchant eligibility. Single-product and multi-product interactive sends require a catalog returned for that Number’s WABA. The send route checks the association before dispatch. Meta validates the product retailer IDs. See Catalogs and commerce.