# Phone

Manage phone numbers and call logs. Search for available numbers to purchase.

**Base URL:** `https://api.trustpager.com/functions/v1/api/v1`

## Endpoints

### GET /phone/numbers

List company phone numbers.

**Scopes:** `phone:read` — [full detail](./phone/get-phone-numbers.md)

### POST /phone/numbers/search

Search available phone numbers to purchase.

**Scopes:** `phone:read` — [full detail](./phone/post-phone-numbers-search.md)

### POST /phone/numbers/buy

Purchase a phone number.

**Scopes:** `phone:write` — [full detail](./phone/post-phone-numbers-buy.md)

### DELETE /phone/numbers/:id

Release a phone number.

**Scopes:** `phone:write` — [full detail](./phone/delete-phone-numbers-id.md)

### GET /phone/numbers/:id

Get a specific phone number by ID.

**Scopes:** `phone:read` — [full detail](./phone/get-phone-numbers-id.md)

### PATCH /phone/numbers/:id

Update phone number settings. Settable fields: friendly_name, transfer_number, inbound_voice_agent_config_id (voice_agent_config UUID or null), outbound_voice_agent_config_id (voice_agent_config UUID or null). When either agent assignment field is included, the API immediately pushes the change to Retell and returns retell_last_synced_at / retell_last_sync_error. Retell sync failure does NOT roll back the DB write.

**Scopes:** `phone:write` — [full detail](./phone/patch-phone-numbers-id.md)

### POST /phone/numbers/:id/release

Release a phone number.

**Scopes:** `phone:write` — [full detail](./phone/post-phone-numbers-id-release.md)

### GET /phone/call-logs

List phone call logs.

**Scopes:** `calls:read` — [full detail](./phone/get-phone-call-logs.md)

### GET /phone/addresses

List regulatory addresses for phone compliance.

**Scopes:** `phone:read` — [full detail](./phone/get-phone-addresses.md)

### POST /phone/addresses

Create a regulatory address for phone compliance.

**Scopes:** `phone:write` — [full detail](./phone/post-phone-addresses.md)

### GET /phone/bundles

List regulatory bundles for phone compliance.

**Scopes:** `phone:read` — [full detail](./phone/get-phone-bundles.md)

### POST /phone/bundles

Create a regulatory bundle.

**Scopes:** `phone:write` — [full detail](./phone/post-phone-bundles.md)

### POST /phone/bundles/:id/submit

Submit a regulatory bundle for review.

**Scopes:** `phone:write` — [full detail](./phone/post-phone-bundles-id-submit.md)

### GET /phone/bundles/:id

Get a single regulatory bundle with live compliance state. Returns the DB record plus live provider detail and evaluation history (per-requirement pass/fail breakdown). Use this to diagnose why a bundle was rejected and see which compliance requirements failed.

**Scopes:** `phone:read` — [full detail](./phone/get-phone-bundles-id.md)
