Add a Tenant
Add a tenant.
Request URL
POST {base_url}/uc-tenant/api/v1/tenants
Request parameters
- Headers
-
Parameter Required Type Description Authorization Yes String The access token used for authentication. Format: Bearer
{access_token}.
- Body parameters
-
Parameter Required Type Description basic Yes Object<Tenant_Basic> The basic information of the tenant. defaultConfig Yes Object<Tenant_Preference> The preferences of the tenant. limitations Yes Object<Tenant_Limitation> The resource limits of the tenant. assignments No Array<Tenant_DID> The DID assignment information. codecConfig No Object<Tenant_Codec> The codec configuration. defaultOutboundCallerIds No Array<Default_Outbound_Caller_ID> The list of default outbound caller IDs. customHeaderValues No Array<Custom_Header> The list of custom SIP header values.
- Tenant_Basic
-
Parameter Required Type Description owner Yes Integer The user ID of the tenant owner. Note: You can obtain the ID using the Get a User interface.status No String The status of the tenant.
Valid value:
ACTIVE: The tenant is active.SUSPENDED: The tenant is suspended.
name Yes String The name of the tenant. description No String The description of the tenant. brandId No Integer The brand ID. Note: You can obtain brand ID using the Get the Branding List interface.
- Tenant_Preference
-
Parameter Required Type Description country Yes String The country or region where the tenant is located. Note: You can obtain the country/region code using the Get Country List interface.nameDisplayFormat Yes String The format used to display names. Valid value:
fls: First Name Last Name with Space Inbetweenlfs: Last Name First Name with Space Inbetweenlf: Last Name First Name without Space Inbetween
toneRegion Yes String The short code of the tone region. Note: You can obtain the tone region code using the Get Tone Region List (Tenant-Level) interface.timeZone Yes String The time zone. Note: You can obtain the time zone code using the Get Time Zone List interface.daylightSavingTime Yes String Whether to enable daylight saving time. Valid value:
DisabledAutomatic
dateDisplayFormat Yes String The date display format. Valid value:
yyyy/mm/dd: Year/Month/Daymm/dd/yyyy: Month/Day/Yeardd/mm/yyyy: Day/Month/Year
timeDisplayFormat Yes String The time display format. Valid value:
hh:mm:ss A: 12-hour format.HH:mm:ss: 24-hour format.
systemPromptLanguage No String The language used for system prompts. Note: You can obtain the available system prompt options using the Get System Prompt Options interface.emailNotificationLanguage No String The language used for email notifications. Note: You can obtain the available language options using the Query Dictionary Items interface.displayCountryCode No Boolean The format used to display phone numbers. Valid value:
INTERNATIONAL: Display numbers in international format, starting with a plus sign (+) followed by the country code, area code, and local number.DOMESTIC: Display numbers in domestic format, using the area code and local number without the country code.
callerIdResolution No Array<String> The sources used to determine the Caller ID name. Valid values:
system_contacts: Display the matched contact name when an incoming call matches an internal user or external contact.caller_id_name: Display the name carried in the From header of the SIP message.
displayCallFeature No Boolean Whether to include the call feature name in the Caller ID Name for incoming calls routed through a ring group, queue, or IVR. Valid value:truefalse
displayDidName No Boolean Whether to display the associated DID name when receiving incoming calls through a DID number. Valid value:
truefalse
- Tenant_Limitations
-
Parameter Required Type Description maxUsers Yes Object<Resource_Quota> The maximum number of users. maxConcurrentCalls Yes Object<Resource_Quota> The maximum number of concurrent calls. maxCallDurations Yes Object<Resource_Quota> The maximum duration of a single call. recordingUsers No Array<Recording_User> The list of recording user assignments. maxQueues Yes Integer The maximum number of queues. maxRingGroups No Integer The maximum number of ring groups. maxIvrs No Integer The maximum number of IVRs. maxMessageTime No Integer The maximum message duration. minMessageTime No Integer The minimum message duration. maxVoicemailMessages No Integer The maximum number of voicemail messages each voicemail box can store. maxMobileClients Yes Object<Resource_Quota> The maximum number of NovoOne Mobile Clients. maxDesktopClients Yes Object<Resource_Quota> The maximum number of NovoOne Desktop Clients. maxWebClients Yes Object<Resource_Quota> The maximum number of NovoOne Web Clients. maxAwsTranscriptionUsers No Object<Resource_Quota> The maximum number of transcription users. maxReceptionistMinutes No Object<Resource_Quota> The maximum number of AI Receptionist minutes. maxReceptionistPackMinutes No Object<Resource_Quota> The maximum number of AI Receptionist monthly minute pack.
- Resource_Quota
-
Parameter Required Type Description limited Yes Boolean Whether the quota is limited.
Valid value:
true: The quota is limited. Specifytotalto set the quota.false: The quota is unlimited.
total Yes Integer The total quota.
- Recording_User
-
Parameter Required Type Description allocatedValue No Integer The number of recording users allocated to the tenant for the specified recording retention period. unitValue No Integer The value of the recording retention period. The minimum value is 1. unit Yes String The unit of the recording retention period.
Valid value:
day: Days.month: Months.year: Years.
- Tenant_DID
-
Parameter Required Type Description trunkId Yes Integer The trunk ID. Note: You can obtain trunk ID using the Search Trunks interface.dids Yes Array<Integer> The list of DID IDs. Note: You can obtain DID ID using the List Assignable Trunks interface.inboundLimit Yes Integer The inbound call limit. outboundLimit Yes Integer The outbound call limit. totalLimit Yes Integer The total call limit.
- Tenant_Codec
-
Note: You can obtain available codecs using the Get Codec Options interface.
Parameter Required Type Description audioCodecs No Array<String> The list of audio codecs. audioCodecsWifi No Array<String> The list of audio codecs used over Wi-Fi networks. audioCodecsCellular No Array<String> The list of audio codecs used over cellular networks.
- Default_Outbound_Caller_ID
-
Parameter Required Type Description trunkId Yes Integer The trunk ID. Note: You can obtain trunk ID using the Search Trunks interface.didId Yes Integer The DID ID. Note: You can obtain DID ID using the List Assignable Trunks interface.
- Custom_Header
-
Parameter Required Type Description trunkId Yes Integer The trunk ID. Note: You can obtain trunk ID using the Search Trunks interface.values No Array<Custom_Header_Value> The list of custom SIP header values.
- Custom_Header_Value
-
Parameter Required Type Description id Yes String The header ID. Note: You can obtain the ID using the Get a Trunk interface.
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.
|
| 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<Creation_Result> | The ID of the newly created tenant. |
- Creation_Result
-
Parameter Type Description tenantId String The ID of the newly created tenant.
Example
Request example
POST /uc-tenant/api/v1/tenants HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkaXN0cmlidXRvcmV4YW1wbGVAb3V0bG9vay5jb20iLCJhcHBfa2V5Ijoic2xOdnQzaHc1NXB2Vm5HRlNhR2ZOVTNmMWxYQ3lpa08iLCJncmFudF90eXBlIjoib3BlbmFwaSIsImNsaWVudF9leHQiOnsiZGVzY3JpcHRpb24iOiLnrKzkuInmlrnlkIjkvZzkvJnkvLTlupTnlKgiLCJwYXJ0bmVyIjoi56S65L6L5ZCI5L2c5LyZ5Ly0In0sImNsaWVudF90eXBlIjoib3BlbmFwaSIsImV4cCI6MTc5MTk4NTEyOSwiaWF0IjoxNzkxOTYzNTI5LCJqdGkiOiI4OWEzZGNjZi0xODUwLTQ4ODQtOGFmOS1mNGFmY2I2MzljNWIiLCJjbGllbnRfaWQiOiJub3ZvLW9wZW4tcGxhdGZvcm0iLCJ1c2VyX2V4dCI6eyJyb2xlSWRzIjpbM10sInN0eXBlIjoiQURNSU4iLCJ0ZW5hbnRDb2RlIjpudWxsLCJ0eXBlIjoiUF9BQ0NPVU5UIiwidXNlcklkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJlbWFpbCI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInVzZXJuYW1lIjoiZGlzdHJpYnV0b3JleGFtcGxlQG91dGxvb2suY29tIiwidWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5Nn19.M6uGO4Ocer4JKJLJ5ZIafLRIs5yqPMa0Y_RIiwQTb2bWsr5DViU0jgbjca91VukjmGNplQV0U0QoX17I6Y6EhytUkHWTjW1FkEWJiu7CPCob_qDcta9RyT-Hio36HViBsoU1fewmFyufrl5Li1KLxnuREIWklyImMH4-JJwsni7-19l537NIog150PtePm5RalOLCcvE0a4DbD9MV7aPaHaBfWhxXgZJvAB_13tG_ELkVny7Mpwcui-b1kGeis9gWL878M0ZpIJ20OHk578BeL60PDh3IiInYeQMrmCT2p04KQqDyFI6KuIz85I85a6bJKa9ntzJJv3q-s9lBZuELw
Content-Type: application/json
{
"basic": {
"owner": 3076913644915998720,
"name": "ait-doc-test-02",
"description": "API doc test tenant"
},
"defaultConfig": {
"country": "China",
"nameDisplayFormat": "fls",
"toneRegion": "cn",
"timeZone": "UTC+8 Asia/Shanghai",
"daylightSavingTime": "Disabled",
"dateDisplayFormat": "yyyy/mm/dd",
"timeDisplayFormat": "HH:mm:ss"
},
"limitations": {
"maxUsers": {
"limited": true,
"total": 10
},
"maxConcurrentCalls": {
"limited": true,
"total": 10
},
"maxCallDurations": {
"limited": true,
"total": 3600
},
"maxQueues": 5,
"maxMobileClients": {
"limited": true,
"total": 5
},
"maxDesktopClients": {
"limited": true,
"total": 5
},
"maxWebClients": {
"limited": true,
"total": 5
}
}
}
Response example
HTTP/1.1 200 OK { "result": { "tenantId": "2110275024254992385" }, "requestId": "93c7a2451efb33e9d7e88b2868f268f2", "code": "200", "message": "SUCCESS" }