List your allocated numbers
GET
/v1/numbers
for await (const held of bird.numbers.list({ country_code: "GB" })) {
// kind tells a number you bought from one Bird manages for several workspaces.
console.log(held.number, held.kind, held.status);
}for held in client.numbers.list(country_code="GB"):
# kind tells a number you bought from one Bird manages for several
# workspaces.
print(held.number, held.kind, held.status)for held, err := range client.Numbers.List(context.Background(), bird.NumbersListParams{
CountryCode: "GB",
}) {
if err != nil {
log.Fatal(err)
}
// Kind tells a number you bought from one Bird manages for several workspaces.
fmt.Println(held.Number, held.Kind, held.Status)
}$page = $bird->numbers->list(['country_code' => 'GB']);
foreach ($page as $held) {
// kind tells a number you bought from one Bird manages for several workspaces.
echo $held->getNumber(), ' ', $held->getKind(), ' ', $held->getStatus(), "\n";
}curl -X GET "https://us1.platform.bird.com/v1/numbers" \
-H "Authorization: Bearer $TOKEN" \
--url-query "limit=25"Response200
{
"data": [
{
"id": "nda_01krdgeqcxet5s7t44vh8rt9mg",
"kind": "dedicated",
"country_code": "US",
"number_type": "mobile",
"capabilities": [
"sms"
],
"status": "active",
"ownership": {
"next": [
{
"kind": "operation"
}
]
}
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns a paginated list of the phone numbers currently allocated to your workspace, newest first. Each entry is either a dedicated number you bought or a shared number managed for you, as its kind field indicates. Pass number to look one up, or narrow the list with country_code, number_type, prefix, and capabilities. Holding a number is not always enough to send from it: some countries also require an approved registration for the sender.
Query पैरामीटर
number
string
Return only the number matching these digits. Give a full number with its country code, however your own records spell it: +12025550188, 12025550188, 0012025550188, and +1 202 555 0188 all resolve to the same number. Spacing and punctuation are fine once a leading + or 00 marks the country code, or when country_code names the country; a grouped spelling without either is refused rather than guessed at, and a national spelling (bare digits without the country code) matches only when country_code names the country. A short code is matched on its bare digits instead, and since the same short code can be allocated in more than one country, pass country_code alongside it to name which one. This filter narrows the list like the others rather than replacing them, so a country or capability filter still applies. To match a range of numbers rather than one, use prefix.
country_code
string
Filter by the country a number belongs to, as an ISO 3166-1 alpha-2 code.
number_type
string
Return only allocated numbers of this physical type after applying the country and prefix filters.
Possible values (may grow over time): mobile, local, national, short_code, short_code_fteu, toll_free
prefix
string
Return only numbers that start with these digits, matched right after the country dial code: with country_code=US, prefix=212 returns the +1 212 area-code numbers allocated to you. Digits only, and country_code is required alongside it, since the digits are national ones. Leave out the country dial code and any national dialing prefix such as a leading 0. Short codes never match a prefix search.
capabilities
array
Filter by channel capability. Repeat the parameter to require several at once: capabilities=sms&capabilities=voice returns only numbers that support both.
limit
integer
Maximum number of items to return per page.
starting_after
string
Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_before
string
Cursor from the prev_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order.
Response Payload
data
array of object
आवश्यक
चाइल्ड एट्रिब्यूट दिखाएँ
data.id
string
आवश्यक
Identifier of this allocated number. Pass it as number_id to read this number, or to release it when kind is dedicated.
data.kind
string
आवश्यक
How this number is allocated to the workspace. dedicated is owned solely by this workspace and billed as a subscription. shared is a shortcode shared across workspaces and managed by us.
Possible values: dedicated, shared
data.number
string
आवश्यक
Phone number in E.164 format.
data.country_code
string
आवश्यक
data.number_type
string
आवश्यक
Physical type of this phone number.
data.capabilities
array of string
आवश्यक
Channel capabilities supported by this number.
data.status
string
आवश्यक
Whether this number can carry traffic.
- active means this number is allocated to your workspace and usable.
- pending_compliance means this number is allocated to your workspace and billed, but it cannot carry traffic until the ownership paperwork its country requires is accepted. Read ownership.next for what advances it, and re-read later if ownership is momentarily null.
- released means this number is no longer allocated to your workspace.
Holding a number is not always enough to send from it: some destination countries
also require an approved registration for the sender.
Possible values: active, pending_compliance, released
data.allocated_at
string
आवश्यक
When this number was allocated to your workspace.
data.released_at
nullable string
When this number was released. null while it is still allocated to your workspace.
data.ownership
nullable object
Where this number stands with the ownership paperwork its country requires. null when the country requires none, which is the usual case: a number with no ownership object is usable as soon as it is allocated. Also null when that standing cannot be established right now; status still reads pending_compliance while the number is blocked, so re-read this field rather than caching its absence. We manage the paperwork for shared short codes, so this field is always null for them.
चाइल्ड एट्रिब्यूट दिखाएँ
data.ownership.satisfied
boolean
आवश्यक
Whether the paperwork is accepted. Read next for what advances it while this is false. Whether sending is currently refused is reported by blocked_at instead: a number bought before its country asked for anything is unsatisfied and still usable until a review says otherwise.
data.ownership.blocked_at
nullable string
When the number stopped being able to carry traffic, and null while it can. Always null when satisfied is true, but null does not imply it: a number whose country began asking after you bought it is usable with its paperwork still outstanding. A number can also arrive blocked, and one that was usable can be blocked again if its approval is withdrawn.
data.ownership.next
array of object
आवश्यक
What you do about it, in the order to do it. Empty only when satisfied is true, so while anything is outstanding there is always at least one step. When what you already sent is being reviewed and nothing is needed from you, that step has kind wait and says so. Re-read it after each call rather than caching the first list you saw.
चाइल्ड एट्रिब्यूट दिखाएँ
data.ownership.next.kind
string
आवश्यक
What you do about this step.
- operation: call the operation named in operation, then read again.
- external: act somewhere this API does not reach, then read again.
- wait: nothing is asked of you, so read again later.
- terminal: nothing you do resolves this, so stop retrying.
Tolerate a value you do not recognize: show the description and
offer no action.
Possible values (may grow over time): operation, external, wait, terminal
data.ownership.next.description
string
आवश्यक
A short, human-readable label for the step, suitable for display.
data.ownership.next.operation
string
The operationId to call. Present only when kind is operation. The operation's own schema says how to call it; this says only which one, and what to address it with.
data.ownership.next.params
object
The parameters that address the operation, by name: {"sender_id": "…"} for an operation on /v1/sms/senders/{sender_id}/requirements. A parameter the operation takes in its query string is given the same way, so an operation addressed as ?subject_id= carries {"subject_id": "…"}. Every parameter the call needs is here, whether its value came from the thing you were acting on or is fixed for this step, so you can make the call from this object alone. Present only when kind is operation and the operation names a subject. A request body, when the operation takes one, is described by the operation's own schema and never appears here.
data.ownership.next.url
string
A URL to open. Present only when kind is external, and only when the step has one. An external step whose description says to go and do something with no URL to open is normal.
next_cursor
nullable string
आवश्यक
Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursor
nullable string
आवश्यक
Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursor
nullable string
आवश्यक
Refresh anchor. Pass back as ending_before later to fetch items that have appeared since this response. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.