Troubleshooting: WhatsApp test number held by another workspace
Setting up the WhatsApp test account starts by requesting a one-time code withPOST /api/v1/whatsapp/test-account/send-otp and completes
with POST /api/v1/whatsapp/test-account/verify-otp. If the phone number
is already the verified test number of a different Orbit workspace, both
calls refuse with a 409 carrying
TEST_PHONE_REGISTERED_IN_OTHER_WORKSPACE. A phone number can bind to
one workspace’s test account at a time, and the refusal is
deterministic: it persists until the number is released or a different
number is registered.
What the rejection looks like
The code arrives on the error envelope of the registration call, in the same shape as every other Orbit API refusal:/api/v1/whatsapp/test-account/*), not from the WABA connect routes. A
failure to connect your own WhatsApp Business Account speaks
WHATSAPP_NOT_CONNECTED or CONNECTION_INVALID instead and is a
different runbook:
WhatsApp connection.
What is happening
The test account is a shared WhatsApp Business Account that Devotel operates so you can verify your integration end to end (sends, inbound replies, delivery receipts, flows) before you connect your own WABA. Inbound replies to the shared account are routed back to the workspace that holds the verified number, so a phone number can bind to exactly one workspace at a time: if a second workspace claimed the same number, the two workspaces’ test traffic would interleave. Registration therefore checks the claim before the one-time code goes out and again when the code is verified, and refuses with this 409 when the number is held elsewhere. Which workspace holds the number is deliberately not disclosed in the refusal.Fixes
1. Register a different phone number
The fastest way through: use any phone number that can receive the verification code on WhatsApp and that no other workspace has verified. Request the code again with the new number; nothing about your workspace’s existing state needs to change.2. Have the holding workspace release the number
If the number is verified in a workspace your team controls (a staging workspace, a previous project’s workspace), an owner of that workspace releases it withPOST /api/v1/whatsapp/test-account/clear-verification,
the same action as the test-account control in their dashboard. The
release takes effect immediately, and your registration then succeeds
on the next attempt. If you do not recognize any workspace that would
hold the number, use the support path below.
3. Stale claim: open a support ticket
If the number was verified in a workspace you no longer control, or you believe the holding claim is stale (for example the number was released from your own organization and registration still refuses), open a ticket with support@devotel.io and include:- The
request_idfrommetaon the refusal. - The phone number exactly as you sent it, in E.164 with the leading
+. - The workspace the number was previously registered under, if known.
What not to do
- Do not keep retrying the same number. The refusal is a claim
check, not a cooldown: repeating
send-otpwith the held number fails identically on every attempt, and no waiting window re-opens it. - Do not attempt the same number on a live WABA expecting a different verdict. The test-account pool is scoped independently of your own WABA; this gate arbitrates ownership of the shared test tier only. Connecting a WABA neither releases the number nor inherits the refusal, and the test account stays available for integration work whether or not you own a WABA.
See also
- WhatsApp connection —
NOT_CONNECTEDvsCONNECTION_INVALIDon your own WABA. - Error Code Reference — the 409 family, including the test-account codes.
- Troubleshooting hub — every runbook in one index.