Skip to main content

Announcements hub and the provisioning-capability inventory

The announcements hub carries a new entry, Provisioning-capable country numbers, that names what the Numbers → Buy a number picker has been reading all along: the per-country capability inventory behind the GET /numbers/country-capabilities endpoint. This guide explains what the announcement anchors, what the inventory actually contains, and how to run the same check yourself before you buy.

What the rebuilt page contains

The announcement has two halves, and both are on the hub entry:
  1. The inventory counts themselves — provisioning-capable bucket counts by country, announced as generally available on every workspace. Line types (mobile, local, toll-free) are counted separately, and voice and SMS capability are counted per type.
  2. The hub-style subject — the announcements hub is the surface that now pins this read. Before the entry shipped, the capability inventory existed and powered the picker, but no announcement anchor ever named it; the hub entry is the record that closes that gap.
The hub is a marketing surface, so it does not render live counts. It links the country capabilities docs page, which is where the inventory is described field by field.

Per-country capability inventory breakdown

Each country summary breaks into the following buckets: Counts clamp at 100 per bucket — read 100 as “plenty in stock”, not an exact count — and each probe sums across every carrier that serves the country without attributing a provider name to any bucket.

Pre-purchase workflow

In the dashboard:
  1. Open Numbers → Buy a number and pick a country.
  2. The picker issues one summary read for that country and pre-dims the buckets that would come back empty — a Germany-local SMS option appears dimmed instead of returning an empty search.
  3. Run the live search inside a bucket that has stock. The search is uncached and returns the specific numbers, prices, and regulatory requirements the summary deliberately omits.
The summary read and the live search are separate calls: the summary tells you which buckets to aim at, and the search enumerates individual numbers inside them.

Relationship to GET /numbers/country-capabilities

The picker reads the same endpoint you can call directly:
The response carries the bucket table above plus a last_updated timestamp. Two properties of the contract matter for how you use it:
  • Counts are inventory checks, not pricing quotes. A non-zero bucket tells you stock exists; it never tells you what a number costs, its monthly or setup price, or its regulatory requirements. All three come from the live number search and the regulatory preview.
  • The result is cached for 5 minutes server-side (degraded aggregates self-heal in about 20 seconds). Refetching more often than the TTL re-reads the cache, so cache client-side at the same cadence.

Check before buying

The field-by-field meanings, the clamping and caching contract, and the worked UK/Germany/US scenarios are documented on the country capabilities page — also reachable at https://orbit.devotel.io/docs/numbers/country-capabilities. Read that page before encoding any bucket logic into your own tooling; the two scenarios most often misread are a non-zero toll_free_sms alongside a zero two_way_sms (send-only toll-free) and a zero local_sms in European countries (carrier-level, not a stock outage).

See also