> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agntix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Phone Numbers

> Returns all phone numbers provisioned for your organization.

<Note>
  Every endpoint on this page requires either a Clerk-issued JWT (`Authorization: Bearer <token>`) or
  an organization API key (`x-api-key: pk_…`). Anonymous calls return `401 Unauthorized`. See
  [Authentication](/authentication) for the full setup.
</Note>

Use this endpoint to discover the `phone_number_id` you need when [triggering an outbound call](/api-reference/phone-numbers/outbound-call). The returned `id` values are stable — cache them on your side.

## Query parameters

<ParamField query="size" type="integer" default="50">
  Maximum number of items to return.
</ParamField>

## Code examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.agntix.ai/api/v1/phone-numbers?size=50" \
    -H "x-api-key: $AGNTIX_API_KEY" \
    -H "Accept: application/json"
  ```

  ```javascript Node.js theme={null}
  const { items } = await fetch(
    "https://api.agntix.ai/api/v1/phone-numbers?size=50",
    { headers: { "x-api-key": process.env.AGNTIX_API_KEY } },
  ).then((r) => r.json());

  for (const n of items) {
    console.log(`${n.phone_number} — ${n.label ?? "(no label)"}`);
  }
  ```

  ```python Python theme={null}
  import os, requests

  result = requests.get(
      "https://api.agntix.ai/api/v1/phone-numbers",
      headers={"x-api-key": os.environ["AGNTIX_API_KEY"]},
      params={"size": 50},
  ).json()

  for n in result["items"]:
      print(f"{n['phone_number']} — {n.get('label', '(no label)')}")
  ```
</CodeGroup>

## Sample response

```json theme={null}
{
  "items": [
    {
      "id": "fba8677f-e464-4362-ba4f-55bbdc3dab94",
      "phone_number": "+9714XXXXXXX",
      "provider": "twilio",
      "label": "Outbound-Dubai"
    }
  ]
}
```
