# List phone numbers

List rented inbox phone numbers and their current channel status.

POST https://api.brigg.app/v1/operations/support.ListPhoneNumbers

## Access & visibility

Allow `support.ListPhoneNumbers` on your API key.

**Acting member required.** Send `Brigg-Act-As` with an [approved member account ID](https://developer.brigg.app/authentication#member-delegation). The key supplies permissions; the member selects whose data is used.

The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.

[Set up authentication](https://developer.brigg.app/authentication) · [Choose permissions](https://developer.brigg.app/permissions)

## Request

No parameters. Send an empty JSON object (`{}`).

## Response

Returns **200 OK** with a JSON body.

This operation has no continuation cursor. An empty `items` array means no matching visible results were returned.

The public API lists team/inbox numbers, not personal assistant lines. Use each e164 value with the configuration and enable operations. Renting or releasing numbers changes billing and is managed by a person in Brigg. An empty list does not prove that the phone service is unavailable; check configured separately.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `configured` | boolean | Yes | Whether the phone service is configured to order numbers in this environment. This is not an individual number's activation status; existing rentals can still be listed when false. |
| `items` | array of [Support phone number](#support-phone-number-response-items) | Yes | Workspace support phone numbers and their configuration state. This operation has no cursor pagination. |

### Support phone number · response.items[]

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `e164` | string | Yes | Telephone number in international E.164 format, including the leading +. Used as the number's identifier in phone operations. |
| `display` | string | No | Human-readable formatting of the phone number. |
| `country` | string | No | Two-letter country code of the telephone number, for example NO for Norway. |
| `region` | string or null | No | Provider region associated with this number, when supplied. |
| `label` | string or null | No | Workspace display label for the number. |
| `status` | string | No | Rental lifecycle: provisioning while setup is pending, active when provisioned, suspended when service is held, releasing during removal, or released after removal. An active rental can still have calling disabled on its inbox. |
| `usage` | string | No | Configured use: own_number is a standalone support number; forward receives calls forwarded from an existing number. Allowed: `"own_number"`, `"forward"`. |
| `monthly_price_nok` | number | No | Monthly rental price in Norwegian kroner. |
| `per_minute_price_nok` | number | No | Call price per minute in Norwegian kroner. |
| `agreed_at` | number or null | No | Time the rental terms were accepted, in Unix milliseconds. |
| `next_rental_charge_at` | number or null | No | Next rental charge time in Unix milliseconds, or null if none is scheduled. |
| `created_at` | number | No | Time the number was added to the workspace, in Unix milliseconds. |

## Errors & retries

This operation reads data. It needs no idempotency key and can be retried after a transient failure.

For rate limits, follow the server’s retry guidance and back off. See [HTTP errors](https://developer.brigg.app/http#errors) and [safe retries and limits](https://developer.brigg.app/reliability).

| HTTP status | Code | What to do |
| --- | --- | --- |
| 400 | `invalid_json` | Send a JSON object with Content-Type: application/json. |
| 400 | `invalid_input` | Check the request fields and types. |
| 401 | `invalid_key` | The workspace API key is missing, invalid or revoked. |
| 403 | `forbidden` | Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply. |
| 404 | `not_found` | The requested operation or resource is not available to this credential. |
| 429 | `rate_limited` | Wait for Retry-After before retrying. |

## Next steps

- [Configure phone number](https://developer.brigg.app/reference/support/ConfigurePhoneNumber)
- [Set phone number enabled](https://developer.brigg.app/reference/support/SetPhoneNumberEnabled)
- [Get phone number quote](https://developer.brigg.app/reference/support/GetPhoneNumberQuote)
- [List inbox channels](https://developer.brigg.app/reference/support/ListInboxChannels)

[Download OpenAPI](https://developer.brigg.app/openapi.json) · [Versioning & retirement](https://developer.brigg.app/versioning)

## Examples

### Example request

Fictional values. Replace IDs and business details with values from your workspace.
#### cURL


```sh
curl 'https://api.brigg.app/v1/operations/support.ListPhoneNumbers' \
  -H "Authorization: Bearer $BRIGG_API_KEY" \
  -H 'Content-Type: application/json' \
  -H "Brigg-Act-As: $BRIGG_ACT_AS" \
  --data-raw '{}'
```

#### TypeScript


```typescript
const actAs = process.env.BRIGG_ACT_AS;
if (!actAs) throw new Error("Set BRIGG_ACT_AS to an approved member account ID.");

const response = await fetch("https://api.brigg.app/v1/operations/support.ListPhoneNumbers", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BRIGG_API_KEY}`,
    "Content-Type": "application/json",
    "Brigg-Act-As": actAs,
  },
  body: JSON.stringify({}),
});
const result = await response.json();
if (!response.ok) throw new Error(`${response.status}: ${result.error} — ${result.message}`);
console.log(result);
```

#### Python


```python
import json
import os
from urllib.request import Request, urlopen
from urllib.error import HTTPError

payload = {}
request = Request(
    "https://api.brigg.app/v1/operations/support.ListPhoneNumbers",
    data=json.dumps(payload).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {os.environ['BRIGG_API_KEY']}",
        "Content-Type": "application/json",
        "Brigg-Act-As": os.environ["BRIGG_ACT_AS"],
    },
    method="POST",
)
try:
    with urlopen(request) as response:
        print(json.load(response))
except HTTPError as error:
    print(error.code, json.load(error))
    raise
```

#### Response example


```json
{
  "configured": false,
  "items": [
    {
      "e164": "+4721001234",
      "display": "+47 21 00 12 34",
      "country": "NO",
      "region": "Oslo",
      "label": "Customer support",
      "status": "active",
      "monthly_price_nok": 99,
      "per_minute_price_nok": 1.5
    }
  ]
}
```

## JSON schemas


```json-schema-request
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "examples": [
    {}
  ]
}
```


```json-schema-response
{
  "type": "object",
  "properties": {
    "configured": {
      "type": "boolean",
      "description": "Whether the phone service is configured to order numbers in this environment. This is not an individual number's activation status; existing rentals can still be listed when false."
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "e164": {
            "type": "string",
            "description": "Telephone number in international E.164 format, including the leading +. Used as the number's identifier in phone operations.",
            "examples": [
              "+4721001234"
            ]
          },
          "display": {
            "type": "string",
            "description": "Human-readable formatting of the phone number.",
            "examples": [
              "+47 21 00 12 34"
            ]
          },
          "country": {
            "type": "string",
            "description": "Two-letter country code of the telephone number, for example NO for Norway.",
            "examples": [
              "NO"
            ]
          },
          "region": {
            "type": [
              "string",
              "null"
            ],
            "description": "Provider region associated with this number, when supplied.",
            "examples": [
              "Oslo"
            ]
          },
          "label": {
            "type": [
              "string",
              "null"
            ],
            "description": "Workspace display label for the number.",
            "examples": [
              "Customer support"
            ]
          },
          "status": {
            "type": "string",
            "description": "Rental lifecycle: provisioning while setup is pending, active when provisioned, suspended when service is held, releasing during removal, or released after removal. An active rental can still have calling disabled on its inbox.",
            "examples": [
              "active"
            ]
          },
          "usage": {
            "type": "string",
            "enum": [
              "own_number",
              "forward"
            ],
            "description": "Configured use: own_number is a standalone support number; forward receives calls forwarded from an existing number."
          },
          "monthly_price_nok": {
            "type": "number",
            "description": "Monthly rental price in Norwegian kroner.",
            "examples": [
              99
            ]
          },
          "per_minute_price_nok": {
            "type": "number",
            "description": "Call price per minute in Norwegian kroner.",
            "examples": [
              1.5
            ]
          },
          "agreed_at": {
            "type": [
              "number",
              "null"
            ],
            "description": "Time the rental terms were accepted, in Unix milliseconds."
          },
          "next_rental_charge_at": {
            "type": [
              "number",
              "null"
            ],
            "description": "Next rental charge time in Unix milliseconds, or null if none is scheduled."
          },
          "created_at": {
            "type": "number",
            "description": "Time the number was added to the workspace, in Unix milliseconds."
          }
        },
        "required": [
          "e164"
        ],
        "additionalProperties": false,
        "title": "Support phone number"
      },
      "description": "Workspace support phone numbers and their configuration state. This operation has no cursor pagination."
    }
  },
  "required": [
    "items",
    "configured"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "configured": false,
      "items": [
        {
          "e164": "+4721001234",
          "display": "+47 21 00 12 34",
          "country": "NO",
          "region": "Oslo",
          "label": "Customer support",
          "status": "active",
          "monthly_price_nok": 99,
          "per_minute_price_nok": 1.5
        }
      ]
    }
  ]
}
```

