---
title: "List voice-capable workspace numbers and their inbound agent assignments"
description: "Admin or manager only. Credentials are never returned. Missing assignment schema preserves workspace-default routing and sets assignment_unavailable. No profiles are created."
---

> Documentation Index
> Fetch the complete documentation index at: https://developer.channelautomations.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Channel Automation API › Twilio

`GET /api/workspaces/{workspaceId}/voice-ai/numbers`

Admin or manager only. Credentials are never returned. Missing assignment schema preserves workspace-default routing and sets assignment_unavailable. No profiles are created.

## Authentication

- `BearerAuth`, http, header `Authorization`, format `JWT`

## Path parameters

- `workspaceId` (`get/api/workspaces/workspaceId/voice-ai/numbers.path.workspaceId`; string, required)

## Code samples

### cURL

```bash
curl --request GET \
  --url 'https://api.channelautomation.com/api/workspaces/<workspaceId>/voice-ai/numbers' \
  --header 'Authorization: Bearer <token>'
```

### TypeScript

```typescript
const url = 'https://api.channelautomation.com/api/workspaces/<workspaceId>/voice-ai/numbers';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.channelautomation.com/api/workspaces/<workspaceId>/voice-ai/numbers"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

Voice numbers with agent metadata or null, available agents and profile visibility

#### Example

```json
{
  "success": true,
  "has_profiles": true,
  "assignment_unavailable": true,
  "agents": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "purpose": "string",
      "enabled": true,
      "set_up": true
    }
  ],
  "numbers": [
    {
      "phone_number": "string",
      "friendly_name": "string",
      "agent": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "purpose": "string",
        "enabled": true
      }
    }
  ]
}
```

- `success` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.success`; boolean, optional)
- `has_profiles` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.has_profiles`; boolean, optional)
- `assignment_unavailable` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.assignment_unavailable`; boolean, optional)
- `agents` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.agents`; array<object>, optional)
  - `id` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.agents.id`; string, optional)
    - format `uuid`
  - `name` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.agents.name`; string, optional)
  - `purpose` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.agents.purpose`; string, optional)
  - `enabled` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.agents.enabled`; boolean, optional)
  - `set_up` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.agents.set_up`; boolean, optional)
- `numbers` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers`; array<object>, optional)
  - `phone_number` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.phone_number`; string, optional)
  - `friendly_name` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.friendly_name`; string, optional, nullable)
  - `agent` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.agent`; object, optional, nullable)
    - `id` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.agent.id`; string, optional)
      - format `uuid`
    - `name` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.agent.name`; string, optional)
    - `purpose` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.agent.purpose`; string, optional)
    - `enabled` (`get/api/workspaces/workspaceId/voice-ai/numbers.response.200.numbers.agent.enabled`; boolean, optional)

### 400

Invalid request

### 401

Authentication required

### 403

Admin or manager role required

### 503

Administration unavailable


Source: https://developer.channelautomations.com/api/get-api-workspaces-workspace-id-voice-ai-numbers/index.md
