Skip to main content
Codes need nothing from the merchant: your backend sends them and you pay. WhatsApp is different. A WhatsApp Business Account belongs to the merchant’s Meta business, only the merchant can connect it, and only the merchant’s people should read their customers’ conversations. So an application that needs WhatsApp is handed to its owner, the way Meta’s solution partners onboard a customer: you invite, the merchant accepts under your configuration, and the application stays yours.

Who does what after a handover

The owner’s dashboard shows the application as coming through your partner name, and its brand line reads their name with yours beside it.

The flow

1

Invite by phone

POST /v1/partner/applications/{external_id}/owner with the person’s name and Saudi mobile, optionally their email and the locale of the message (ar by default).
The answer is 201 with the invitation and, once only, the link:
Tawked sends the same link by SMS to the invited phone, under Tawked’s name, naming you and the application. Show accept_url in your own app too if you like; it is not returned again.
2

The merchant accepts

The link opens a page that names you, the application and the masked phone. The merchant signs in to Tawked with that very phone through the ordinary one-time code, and the acceptance happens on sign-in. A phone new to Tawked gets an account with the name and email from the invitation and skips the onboarding wizard: the handed-over application is its first, and you already reviewed the brand. A forwarded link is useless to anyone else, because the invited phone is the credential.
3

You are told

service.owner_accepted arrives at your partner webhook with the owner’s name, phone and accepted_at, and GET /v1/partner/applications/{external_id}/owner answers accepted from then on. The merchant lands on the application’s WhatsApp tab and connects their number.

Read the state

GET /v1/partner/applications/{external_id}/owner answers one of three states:

The rules

  • One pending invitation per application. Inviting again supersedes the pending one; only the newest link works.
  • The invitation expires after 7 days. After that the link says so and the state goes back to none. Invite again.
  • The phone is the credential. It must be a Saudi mobile in an accepted format. It may be new to Tawked or belong to the owner of a client account, never to one of your own users or to a member of another team (409 phone_not_eligible).
  • Nothing changes hands while a WhatsApp number is connected, in either direction (409 number_connected). The inbox belongs to the team that runs the application, so the number is disconnected first, or you invite before it is connected. Accepting is refused too if a number was connected after the invitation went out.
  • One owner at a time. Inviting someone else while an owner is in place answers 409 owner_already_assigned; revoke first.
  • Each invitation is an SMS, capped at 3 an hour per application and 100 a day per partner (429 rate_limited). Nothing is written or sent over the cap.

Take it back

DELETE /v1/partner/applications/{external_id}/owner withdraws a pending invitation, or removes an accepted owner: their account and its agents lose access to the application at once, and service.owner_revoked fires. Billing and keys never moved, so nothing else changes. Refused with 409 number_connected while a number is live.

Errors

The same handover is available in the partner console, on the application’s Owner card.