Number dormancy and rental spend
A phone number can remain active and billable after its last call or message. Dormancy monitoring gives you a review signal for those numbers; it does not make release decisions for you. This model uses theactive → parked → released release path. It does not change the number lifecycle or add a new number status.
Why dormancy matters on a prepaid meter
A quiet number can continue accruing monthly rental even when it no longer appears in traffic dashboards. Usage views answer how much traffic moved; they do not tell you which rented numbers have gone unused long enough to review. The dormancy signal adds that inventory-level view so you can decide whether to keep or release each number. For how number rental is charged alongside wallet renewals, see Billing and numbers renewal model.How Orbit detects dormancy
Orbit runs a daily sweep at 05:30 UTC. For each tenant, it reads active numbers and derives each number’s last activity from locally stored message and call records. Inbound and outbound activity both count, across SMS and voice. A number with no activity in the selected window is reported only after it has been held for that window; a never-used number is reported once it passes the same age threshold. The window is configured per organization atorganizations.settings.numbers.dormancy_alert_days. The default is 30 days, and the supported range is 1–365 days. If the setting is absent or invalid, Orbit uses the default. You can also pass ?days=<1..365> to the read endpoint to preview a different window without changing the organization setting.
The sweep is tenant-scoped and considers numbers owned by the organization. The activity check uses Orbit’s locally stored messages and call logs, not a live carrier query. Activity that is not represented in those records will not reset the dormancy window.
Two read surfaces
Use the list endpoint when an operator needs to inspect candidates and their estimated monthly cost:GET /api/v1/numbers/dormancy-alerts returns dormancy_days, default_dormancy_days, a summary, and an alerts list. Each alert includes the number, last_activity_at, dormant_days, never_used, monthly_cost, owned_days, threshold_days, and suggested_release. The summary.reclaimable_monthly_spend field totals the candidates’ monthly costs; it is an estimate of potential rental reduction, not a credit or refund. The response also reports dormant_count, never_used_count, the currency, and whether the results were truncated.
For automation-first workflows, subscribe to the number.dormant webhook. Orbit sends one event per dormant number to the tenant’s configured webhook endpoints. Use it to start your own review or approval flow; do not treat receipt as authorization to release a number automatically unless that is your intended policy.
See Webhook events for event vocabulary and Number API reference for the response contract.
What dormancy does not do
Dormancy is a signal only. It never releases, parks, or suspends a number. You choose what to do after reviewing the activity window and the number’s business purpose. Release remains an operator action through the existing scheduled-release lifecycle. Scheduling starts theactive → parked path; the number stays reclaimable during its parking window, then the parking-expiry scheduler advances it to released unless you reclaim it first. For the complete status map and release controls, see Number lifecycle and Number lifecycle operations.
Worked flow: review, then release
-
Receive a
number.dormantevent, or open the dormancy-alerts list. -
Fetch
GET /api/v1/numbers/dormancy-alertsand match the event’s number to its current alert. Checklast_activity_at,dormant_days, andsuggested_release. - Confirm that the quiet period is expected and that the number has no ongoing customer or operational use. A webhook is not a substitute for this review.
-
If you decide to release it, schedule the release using the lifecycle API:
-
The number follows
active→parked→releasedif you take no further action. Reclaim it withPOST /api/v1/numbers/num_abc123/reclaimwhile it is still parked to restore it toactivewithout purchasing again.
released, the row is terminal and the number must be purchased again. Review the grace window before it closes. See Number lifecycle operations for details.
Related number controls
- Number status map — understand the active, parked, and released states and which transitions can be reversed.
- Billing and numbers renewal model — see how number rental interacts with wallet renewal.
- Export number inventory — extract inventory to compare candidates with your own records.
- Webhook events — find the
number.dormantevent details.