---
title: "Update purchased number settings"
method: PUT
path: "/api/v2/numbers/purchase"
tags: ["Numbers & Inventory"]
---

# Update purchased number settings

`PUT /api/v2/numbers/purchase`

## Request

- Base URL: `https://app.didlogic.com`
- URL: `https://app.didlogic.com/api/v2/numbers/purchase`
- Auth: HTTP bearer

Update a purchased DID number's identity association or call recording setting.

**Important notes:**
- New identity must contain required documents for the number
- `call_recording_enabled` requires the account-level "Allow call recording" setting to be on; returns 422 otherwise

**Other normalizations applied silently on number purchase/update:**
- Webphone destinations (`transport=10`) are resolved server-side.
- Boolean-like fields are coerced to booleans.
- Destination strings are normalized.
- SMS delivery-receipt (`dlr`) and Sender-ID settings follow account
  defaults when omitted.

## Request body

- object
  - `id` integer: DID ID from numbers_index, numbers_purchase_create
  - `identity_id` integer: Identity ID to associate with the number, from identities_index, identities_create
  - `call_recording_enabled` boolean: Enable or disable inbound call recording for this DID

## Response `200`

updates purchased number

- object
  - `purchase` object, required: Updated purchase details
    - `id` integer, required: DID identifier
    - `number` string, required: Phone number
    - `country` string, required: Country name
    - `area` string, required: City/area name
    - `channels` integer, required: Maximum simultaneous calls
    - `activation` number, float, required: One-time activation fee (USD)
    - `monthly_fee` number, float, required: Monthly recurring fee (USD)
    - `per_minute` number, float, required: Per-minute inbound call rate (USD)
    - `services` unknown[], required: Enabled services for this number
      - unknown
    - `status` 'active' | 'pending_docs', required: Number status
    - `destination_count` integer, required: Number of configured routing destinations
    - `call_recording_enabled` boolean, required: Whether inbound call recording is enabled for this DID
    - `commitment_months` integer: Minimum service term in months (omitted when the commitment policy is disabled)
    - `identity_id` integer, required: Associated identity ID
  - `invalid_doc_types` object, required: Document types that are invalid or missing

## Other responses

- `401`: returns unauthorized
- `422`: returns unprocessable entity with validation error
- `500`: The server could not complete the request. Retry later or contact support if the problem persists.

---

[API](https://skmtc.dev/didlogic/apis/get-started.md) · [All operations](https://skmtc.dev/didlogic/apis/get-started/llms.txt) · [OpenAPI document](https://skmtc.dev/didlogic/apis/get-started/revisions/dc972d592b34?raw)
