We are an agency on HighLevel and we automate client offboarding. When a client cancels, our workflow pauses the sub-account with POST /saas/pause/{locationId}, which works with an agency Private Integration token.
The step we cannot automate is releasing the sub-account's LC Phone numbers. The phone-system API only lets us list numbers, buy numbers and list number pools. The pause screen in the app warns that a paused sub-account with numbers keeps incurring charges, so every cancellation needs someone to delete numbers by hand.
What we need, either one works:
  1. DELETE /phone-system/numbers/{numberSid} for a location, with a scope like phonenumbers.write, usable with agency and location Private Integration tokens.
  2. Or a closeLcPhoneAccount: true option on the public POST /saas/pause/{locationId}, the same thing the "Pause Sub-Account" screen already does.
Today the only way is the internal endpoint the web app uses, which needs a logged-in user session, so it cannot run on a server.