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

# Node SDK — telephony

> Node SDK reference for Kataven telephony — Twilio/Plivo/Vobiz credentials and phone-number management.

`TelephonyResource` is reachable on every Kataven Node client as `client.telephony`. Each method maps to one HTTP endpoint on the [Hub API](/api-reference/introduction); links to the underlying spec entry are inline below.

Carrier credentials (encrypted) and phone-number management. Pin a number to an agent so inbound calls route to that agent.

## Methods at a glance

| Method           | HTTP                                   | Summary                                 |
| ---------------- | -------------------------------------- | --------------------------------------- |
| `listProviders`  | `GET /api/telephony/providers`         | List telephony provider credentials     |
| `createProvider` | `POST /api/telephony/providers`        | Add a telephony provider credential     |
| `deleteProvider` | `DELETE /api/telephony/providers/{id}` | Delete a telephony provider credential  |
| `listNumbers`    | `GET /api/telephony/numbers`           | List phone numbers                      |
| `createNumber`   | `POST /api/telephony/numbers`          | Register a phone number                 |
| `updateNumber`   | `PATCH /api/telephony/numbers/{id}`    | Pin or unpin a phone number to an agent |
| `deleteNumber`   | `DELETE /api/telephony/numbers/{id}`   | Delete a phone number                   |

## Reference

### `client.telephony.listProviders(...)`

List telephony provider credentials

**HTTP** — `GET /api/telephony/providers` · [API reference →](/api-reference/introduction#tag/Telephony/operation/getApiTelephonyProviders)

```typescript theme={null}
listProviders()
```

Returns metadata about every carrier credential configured for this account. Plaintext credentials are not returned.

### `client.telephony.createProvider(...)`

Add a telephony provider credential

**HTTP** — `POST /api/telephony/providers` · [API reference →](/api-reference/introduction#tag/Telephony/operation/postApiTelephonyProviders)

```typescript theme={null}
createProvider(provider: Provider, label: string, credentials: Record<string, unknown>)
```

Encrypts the credentials JSON via the Secret Encryptor service, then inserts the row. Plaintext is never persisted.

### `client.telephony.deleteProvider(...)`

Delete a telephony provider credential

**HTTP** — `DELETE /api/telephony/providers/{id}` · [API reference →](/api-reference/introduction#tag/Telephony/operation/deleteApiTelephonyProvidersById)

```typescript theme={null}
deleteProvider(id: string)
```

Refuses if any phone-number row still references this credential — detach numbers first.

### `client.telephony.listNumbers(...)`

List phone numbers

**HTTP** — `GET /api/telephony/numbers` · [API reference →](/api-reference/introduction#tag/Telephony/operation/getApiTelephonyNumbers)

```typescript theme={null}
listNumbers(agentId?: string)
```

### `client.telephony.createNumber(...)`

Register a phone number

**HTTP** — `POST /api/telephony/numbers` · [API reference →](/api-reference/introduction#tag/Telephony/operation/postApiTelephonyNumbers)

```typescript theme={null}
createNumber(input: {
  e164: string;
  provider: Provider;
  credentials_id: string;
  agent_id?: string | null;
  inbound_enabled?: boolean;
  outbound_enabled?: boolean;
})
```

Binds an E.164 number to a carrier credential row and (optionally) pins it to one agent. Inbound + outbound default to enabled.

### `client.telephony.updateNumber(...)`

Pin or unpin a phone number to an agent

**HTTP** — `PATCH /api/telephony/numbers/{id}` · [API reference →](/api-reference/introduction#tag/Telephony/operation/patchApiTelephonyNumbersById)

```typescript theme={null}
updateNumber(id: string, agentId: string | null)
```

### `client.telephony.deleteNumber(...)`

Delete a phone number

**HTTP** — `DELETE /api/telephony/numbers/{id}` · [API reference →](/api-reference/introduction#tag/Telephony/operation/deleteApiTelephonyNumbersById)

```typescript theme={null}
deleteNumber(id: string)
```
