Add a DID

Adds a single DID number to the tenant and binds it to one or more trunks.

Request URL

POST {base_url}/uc-cconfig/api/v1/dids

Request parameters

Headers
Parameter Required Type Description
Authorization Yes String The access token used for authentication.

Format: Bearer {access_token}.

x-tenant-code No String The tenant name.
Note: You can obtain tenant name using the Query Tenants interface.
Body parameters
Parameter Required Type Description
countryCode Yes String The ISO 3166-1 country code, for example CN, US. Use XX for Unknown Country to bypass country identification and save the number directly.
didNumber Yes String The DID number. Supports formatting characters, maximum 31 characters.
didName No String The DID name, maximum 127 characters. Chinese characters are weighted 3:1 against English.
numberType No String The number type. Supports custom values, for example Local, Mobile, Toll-free. Maximum 127 characters.
trunkIds Yes Array<String> The list of trunk IDs to bind. Each ID must be greater than 0.
destination No String The DID call destination, for example extension:1001. Maximum 128 characters.
remark No String The remark. Maximum 1024 characters. Chinese characters are weighted 3:1 against English.

Response parameters

Parameter Type Description
requestId String The unique ID of the request, which can be used to quickly locate the request.
code String The HTTP status code of the request.
  • 200: Request succeeded.
  • Non-200 value: Request failed.
message String The status message of the request.
detailMessage String The detailed error information.

When the request is successful, this parameter returns empty.

result Object<DID_Data> The created DID data.
DID_Data
Parameter Type Description
id String The DID ID.
didNumber String The DID number (original input, may contain formatting characters).
didName String The DID name.
destination String The DID call destination, for example extension:1001, ivr:sales.
creator String The user ID of the creator.
assignedTenant String The tenant currently assigned to this DID (null = unassigned).
trunkIds Array<String> The list of bound trunk IDs.
createdAt String The creation time as a millisecond timestamp.
updatedAt String The update time as a millisecond timestamp.
didE164 String The full E.164 format number. For Unknown Country, stores nationalNumber.
countryCode String The ISO 3166-1 country code, for example CN, US. XX indicates Unknown Country.
countryCallingCode String The country calling code, for example 86, 1. Empty for Unknown Country.
nationalNumber String The local number (country code stripped, cleaned digits only).
numberType String The number type, for example Local, Mobile, Toll-free. Supports custom values.
defaultDisplayFormat String The default display format, for example (261) 111-1127.
remark String The remark.
assignedReseller String The assigned reseller ID (empty = My Tenant).
ownerType String The ownership type (admin or reseller). Immutable after creation.
resellerResetWarning Object<Reseller_Reset_Warning> The reseller reset warning details. Present only when the operation would cause a reseller to lose access.
Reseller_Reset_Warning
Parameter Type Description
saved Boolean Whether the operation was saved. Always false when a warning exists.
items Array<Reseller_Reset_Item> The list of affected DID entries.
Reseller_Reset_Item
Parameter Type Description
didDisplay String The affected DID number (default display format).
resellerEmail String The email of the currently assigned reseller.
tenantName String The tenant occupancy name (returned when the DID has been assigned to a tenant; empty otherwise).

Example

Request example

POST /uc-cconfig/api/v1/dids HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkaXN0cmlidXRvcmV4YW1wbGVAb3V0bG9vay5jb20iLCJhcHBfa2V5Ijoic2xOdnQzaHc1NXB2Vm5HRlNhR2ZOVTNmMWxYQ3lpa08iLCJncmFudF90eXBlIjoib3BlbmFwaSIsImNsaWVudF9leHQiOnsiZGVzY3JpcHRpb24iOiLnrKzkuInmlrnlkIjkvZzkvJnkvLTlupTnlKgiLCJwYXJ0bmVyIjoi56S65L6L5ZCI5L2c5LyZ5Ly0In0sImNsaWVudF90eXBlIjoib3BlbmFwaSIsImV4cCI6MTc5MzYzODk1MywiaWF0IjoxNzkzNjE3MzUzLCJqdGkiOiIzMTg2YTYxNi0yOTdjLTRkNzMtODRkZC1lNzNkODE1ZDRmYmYiLCJjbGllbnRfaWQiOiJub3ZvLW9wZW4tcGxhdGZvcm0iLCJ1c2VyX2V4dCI6eyJyb2xlSWRzIjpbM10sInN0eXBlIjoiQURNSU4iLCJ0ZW5hbnRDb2RlIjpudWxsLCJ0eXBlIjoiUF9BQ0NPVU5UIiwidXNlcklkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJlbWFpbCI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInVzZXJuYW1lIjoiZGlzdHJpYnV0b3JleGFtcGxlQG91dGxvb2suY29tIiwidWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5Nn19.FR6Pir4F-5uDAVqebnXRnVymCoQlN5je95U9NywVCtrMLYnEjMNH1cw20Gz81DothBN4jXNzWT6A1V-DcghGQyjNjAAqfwTLYxAeksE_h8myiynhB67sB0VS6EPv8MTkEdVk4dmujjkQXU2yFVzlpQNvLwQhFDqpxlwpsom-Uk5jNh-JpWzpWJs9JP9Bn3oIZAwv847fXkvG_rSkBc2AAHf3y-zpRZ8nEZF4WDSCoEMfbsTdT5qahecCcThvJesTGFWyA1eW4xEUDplwZpnO-s7DIsbUrSO_123ylqOz0YZm2EirVJwr7j4KPzXFtTZdcvZ6t5mI9ofDbXG0woeTOw
Content-Type: application/json
{
  "countryCode": "US",
  "didNumber": "19995554001",
  "didName": "doc-did-a",
  "numberType": "Local",
  "trunkIds": [
    "343306926664237056"
  ],
  "destination": "extension:1001",
  "remark": "doc-test"
}

Response example

HTTP/1.1 200 OK
{
  "requestId": "ef285e4b4c954053e9e40a71ead78bc0",
  "code": "200",
  "message": "SUCCESS",
  "detailMessage": "",
  "result": {
    "id": "375602272973185024",
    "didNumber": "19995554001",
    "didName": "doc-did-a",
    "destination": "extension:1001",
    "creator": "3076913644915998720",
    "assignedTenant": "",
    "trunkIds": [
      "343306926664237056"
    ],
    "createdAt": "1793617760229",
    "updatedAt": "1793617760229",
    "didE164": "+19995554001",
    "countryCode": "US",
    "countryCallingCode": "1",
    "nationalNumber": "9995554001",
    "numberType": "Local",
    "defaultDisplayFormat": "(999) 555-4001",
    "remark": "doc-test",
    "assignedReseller": "",
    "ownerType": "admin"
  }
}