Administrations
Manage PBX System.
Get network configurations.
GET /api/network HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"web_domain": "text",
"private_ipv4": "text",
"public_ipv4": "text",
"enable_ipv6": true,
"private_ipv6": "text",
"public_ipv6": "text",
"primary_dns_server": "text",
"secondary_dns_server": "text"
}
Update network configurations for PortSIP PBX.
The web domain for PortSIP PBX
The private IPv4 of system.
The public IPv4 of system.
Indicates if IPv6 would be enabled.
true
The private IPv6 of system.
The public IPv6 of system.
The primary DNS server.
The secondary DNS server.
POST /api/network HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 184
{
"web_domain": "text",
"private_ipv4": "text",
"public_ipv4": "text",
"enable_ipv6": true,
"private_ipv6": "text",
"public_ipv6": "text",
"primary_dns_server": "text",
"secondary_dns_server": "text"
}
No content
Get current status of system.
GET /api/admin/status HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"version": "text",
"news": "text",
"license_key": "text",
"license_type": "text",
"maintenance_expires_at": "2017-07-21T17:32:28Z",
"max_concurrent_calls": 1,
"licensed_users": 1,
"current_users": 1,
"online_users": 1,
"current_tenants": 1,
"current_dealers": 1,
"current_calls": 1,
"current_trunks": 1,
"current_conference_servers": 1,
"current_media_servers": 1,
"current_call_queue_servers": 1,
"current_ivr_servers": 1,
"calls_in_24_hours": [
{
"time": "2017-07-21T17:32:28Z",
"count": 1
}
]
}
Change system admin username.
The user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin
, system
, administrator
, and root
are reserved names for system admin only with case ignored.
POST /api/admin/username HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
No content
Reset system admin password.
The old password of system admin.
The password of system admin.
The new password pf system admin.
The password of system admin.
POST /api/admin/password HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"old_password": "text",
"new_password": "text"
}
No content
Retrieve settings for PortSIP PBX.
GET /api/admin/settings HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"user_agent": "PortSIP UC",
"blocked_user_agents": "text",
"enable_shared_address_space_address_range": true,
"enable_digest_auth": true,
"enable_auth_mid_dialog": false,
"enable_digest_auth_int": false,
"enable_external_recording": true,
"enable_reject_bad_nonce": false,
"statistics_log_interval": 600,
"dead_session_timeout": 600,
"enable_session_timer": true,
"session_timer_duration": 3600,
"enable_to_tag_in_register": false,
"enable_congestion_management": true,
"congestion_management_metric": "WAIT_TIME",
"congestion_management_tolerance": 600,
"enable_create_non_exist_extension": false,
"enable_prack": false,
"enable_tenant_level_trunk": true,
"enable_diversion_support": false,
"enable_history_info_support": false,
"enable_outbound_support": true,
"flow_timer": 0,
"register_expiration_time": 300,
"enable_auto_answer_alert_info_header": false,
"auto_answer_alert_info_header": "INTERCOM",
"enable_auto_answer_call_info_header": true,
"enable_require_answer_mode": false,
"enable_www_auth": false,
"user_equal_required_for_auth_name": true,
"trace_server_host": "text",
"trace_server_port": 80,
"web_failed_auth_amount": 5,
"web_blacklist_time_interval": 3600,
"sip_failed_auth_amount": 50,
"sip_failed_challenge_requests_amount": 1000,
"sip_blacklist_time_interval": 3600,
"sip_detection_period": 10,
"sip_barrier_1_packets": 5000,
"sip_barrier_1_blocking_time": 3600,
"sip_barrier_2_packets": 2000,
"sip_barrier_2_blocking_time": 30,
"stir_shaken_cert": "text",
"stir_shaken_key": "text",
"custom_options": "text"
}
Update settings for PortSIP PBX
User agent.
PortSIP UC
The semicolon separated list of blocked user agents.
Enable Shared Address Space Address Range or not (RFC 6598).
true
Indicates if DIGEST authentication would be enabled.
true
Indicates if PortSIP PBX requires authentication against all subsequent requests originated from one calling.
false
Indicates if auth-int DIGEST authentication mode would be enabled.
false
Allow external calls recording.
true
When a client sends a bad nonce in their credentials, return 403 message if this parameter is true, or send a new challenge if this parameter is false.
false
Interval for statistics logs, in seconds.
600
Close the session if no RTP packets received within specified duration, in seconds.
600
Indicates if session timer (RFC 4028) would be enabled. This also requires client support.
true
Duration recorded by Session timer. Precondition: "enable_session_timer" MUST be set to true.
3600
Indicates if "to" tag is allowed in REGISTER message.
false
Indicates if congestion management would be enabled.
true
Precondition: "enable_congestion_management" parameter MUST be set to true. The recommended is WAIT_TIME based on the expected wait time for each FIFO.
WAIT_TIME
:TIME_DEPTH
:SIZE
:
Precondition: "enable_congestion_management" parameter MUST be set to true. Congestion management tolerance for the given metric. This parameter determines when the Rejection Behavior changes.
600
Indicates if the extension would be automatically created when a non-existent extension try to register. If it is set to true, when a non-included extension tries to send registry message to PBX, the PBX will create the extension with default password "portsip" automatically.
false
Enable prack or not.
false
Whether to enable tenant-level trunk.
true
Enable Diversion support or not (RFC 5806).
false
Enable History-Info support (RFC 7044).
false
Enable Outbound Support or not (RFC 5626).
true
The flow timer interval in seconds.
0
The register expiration time in seconds.
300
Enable call-info header for auto answer or not.
false
Alert-info header to be added in INVITE message when PBX is forwarding the page/intercom. Values includes:
INTERCOM
: info=intercom.ALERT_AUTO_ANSWER
: Alert-Info:;info=alert-autoanswer;delay=0.AUTO_ANSWER
: info=Auto Answer.
Enable call-info header for auto answer. The value is "sip:portsip.com;answer-after=0".
true
Enable Require Answer Mode (RFC 5373) for auto answer.
false
Enable WWW authentication or not.
false
User equal required for authentication name.
true
Tracer server host.
The tracer server port.
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80
Block if failed to login PortSIP PBX Web more than this times.
5
The web blocked time in seconds.
3600
The number of authentication failures.
50
DOS attacks can send REGISTER/INVITE requests but do not reply to Challenge (407). Configure the amount of "fake" requests that PortSIP PBX will accept per IP Address. If this value is exceeded in "Detection Period" interval the source IP address is put in the Blacklist. IP will remain blacklisted till "SIP Blacklist time interval" expires.
1000
The sip blocked time in seconds.
3600
The detection period in seconds.
10
If the amount of packets is exceeded, the PBX will block the source IP for "Level 1 blacklist time interval" seconds.
5000
This is the time interval in seconds that an abusive IP Address remains in the blacklist
3600
If the amount of packets is exceeded, the PBX will block the source IP for "Level 2 blacklist time interval" seconds.
2000
This is the time interval in seconds that an abusive IP Address remains in the blacklist
30
Content of this certificate file for STIR/SHAKEN support.
Content of this private certificate file for STIR/SHAKEN support.
Some custom configuration options serialized as json string.
POST /api/admin/settings HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1443
{
"user_agent": "PortSIP UC",
"blocked_user_agents": "text",
"enable_shared_address_space_address_range": true,
"enable_digest_auth": true,
"enable_auth_mid_dialog": false,
"enable_digest_auth_int": false,
"enable_external_recording": true,
"enable_reject_bad_nonce": false,
"statistics_log_interval": 600,
"dead_session_timeout": 600,
"enable_session_timer": true,
"session_timer_duration": 3600,
"enable_to_tag_in_register": false,
"enable_congestion_management": true,
"congestion_management_metric": "WAIT_TIME",
"congestion_management_tolerance": 600,
"enable_create_non_exist_extension": false,
"enable_prack": false,
"enable_tenant_level_trunk": true,
"enable_diversion_support": false,
"enable_history_info_support": false,
"enable_outbound_support": true,
"flow_timer": 0,
"register_expiration_time": 300,
"enable_auto_answer_alert_info_header": false,
"auto_answer_alert_info_header": "INTERCOM",
"enable_auto_answer_call_info_header": true,
"enable_require_answer_mode": false,
"enable_www_auth": false,
"user_equal_required_for_auth_name": true,
"trace_server_host": "text",
"trace_server_port": 80,
"web_failed_auth_amount": 5,
"web_blacklist_time_interval": 3600,
"sip_failed_auth_amount": 50,
"sip_failed_challenge_requests_amount": 1000,
"sip_blacklist_time_interval": 3600,
"sip_detection_period": 10,
"sip_barrier_1_packets": 5000,
"sip_barrier_1_blocking_time": 3600,
"sip_barrier_2_packets": 2000,
"sip_barrier_2_blocking_time": 30,
"stir_shaken_cert": "text",
"stir_shaken_key": "text",
"custom_options": "text"
}
No content
Retrieve details of system notification settings.
GET /api/admin/notification HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"type": "SMTP",
"server": "text",
"port": 80,
"reply_to": "text",
"username": "text",
"auth": "AUTO",
"enable_tls_ssl": true,
"enable_starttls_auto": false,
"recipients": "text",
"enable_tenant_access": true,
"hard_disk_threshold": 0.9,
"notify_hard_disk_exceeded_threshold": false,
"cpu_threshold": 0.9,
"notify_cpu_exceeded_threshold": false,
"memory_threshold": 0.9,
"notify_memory_exceeded_threshold": false,
"notify_ip_blocked": false,
"notify_license_limited": false,
"notify_service_disconnected": false,
"notify_push_certs_update_failed": false
}
Update system notification settings.
The email server type.
Can be either:
SMTP
: Use generic SMTP server.MS365
Use Microsoft 365 email service.GMAIL
Use Google Gmail service.
SMTP server used for sending mails.
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80
A Reply-To address is identified by inserting the Reply-To header in your email.
It is the email address that the reply message is sent
when you want the reply to go to an email address that is different than the From: address.
Username or email address.
Password for email account.
The authentication protocols.
Can be either:
DISABLE
: Skip authentication mechanism.AUTO
: Use auto-selected authentication algorithms by server (Currently only supports LOGIN and PLAIN).LOGIN
: Use LOGIN authentication mechanism.PLAIN
Use PLAIN authentication mechanism.
AUTO
Possible values: Whether to enable TLS/SSL.
true
Whether StartTLS is automatically enabled.
false
Comma-separated list of email address that should receive notifications.
Allow up to 15 email addresses.
Apply the email server settings to all tenants.
true
The hard disk threshold for email warning.
0.9
Send a notification email when specified hard disk threshold is exceeded.
false
The CPU threshold for email warning.
0.9
Send a notification email when specified CPU threshold is exceeded.
false
The memory threshold for email warning.
0.9
Send an email notification when specified memory threshold is exceeded.
false
Send a notification email when ip blocked.
false
Send a notification email when license limit reached.
false
Send a notification email when some service disconnected.
false
Send a notification email when push notification certificates update failed.
false
POST /api/admin/notification HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 533
{
"type": "SMTP",
"server": "text",
"port": 80,
"reply_to": "text",
"username": "text",
"password": "text",
"auth": "AUTO",
"enable_tls_ssl": true,
"enable_starttls_auto": false,
"recipients": "text",
"enable_tenant_access": true,
"hard_disk_threshold": 0.9,
"notify_hard_disk_exceeded_threshold": false,
"cpu_threshold": 0.9,
"notify_cpu_exceeded_threshold": false,
"memory_threshold": 0.9,
"notify_memory_exceeded_threshold": false,
"notify_ip_blocked": false,
"notify_license_limited": false,
"notify_service_disconnected": false,
"notify_push_certs_update_failed": false
}
No content
Check email server configurations by sending testing email.
The recipient's e-mail address.
Mail subject.
Mail content.
POST /api/admin/notification/test_email HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"recipient": "text",
"subject": "text",
"content": "text"
}
No content
Retrieve settings for SBC.
GET /api/sbc HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"domain": "text",
"http_port": 8882,
"https_port": 8883,
"transports": [
{
"protocol": "UDP",
"port": 80
}
]
}
Update SBC configuration.
The SBC domain.
The SBC web port for http.
8882
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80
The SBC web port fot https.
8883
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80
POST /api/sbc HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 96
{
"domain": "text",
"http_port": 8882,
"https_port": 8883,
"transports": [
{
"protocol": "UDP",
"port": 80
}
]
}
No content
Retrieve settings of IM server.
GET /api/im HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"private_ipv4": "text",
"private_ipv6": "text",
"public_ipv4": "text",
"public_ipv6": "text"
}
Update IM server configuration.
Host IPV4 address.
Host IPV6 address.
Host IPV4 address.
Host IPV6 address.
POST /api/im HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 87
{
"private_ipv4": "text",
"private_ipv6": "text",
"public_ipv4": "text",
"public_ipv6": "text"
}
No content
List a collection of dealers.
GET /api/dealers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 100,
"items": [
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"enabled": true,
"level": "DISTRIBUTOR",
"name": "text",
"email": "[email protected]",
"display_name": "text",
"website": "text",
"phone": "text",
"address": "text",
"description": "text",
"max_tenants": 100,
"max_extensions": 50000,
"tenant_full_access": true
}
]
}
Create a dealer.
Enable this dealer or not.
true
Dealer level includes:
DISTRIBUTOR
: the first level of dealers.SUB_DISTRIBUTOR
: the second level of dealers.RESELLER
: the third level of dealers.
The user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin
, system
, administrator
, and root
are reserved names for system admin only with case ignored.
The password of dealer.
The email address of user.
The display name of user.
The website of user.
The mobile phone number of user.
The address.
The description of dealer.
The maximum number of tenants that the dealer is allowed to create.
100
The maximum number of extensions that the dealer is allowed to create.
50000
Whether or not the reseller is allowed to have full control over the tenant.
This attribute is not valid if not modified by first level dealer.
true
POST /api/dealers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 259
{
"enabled": true,
"level": "DISTRIBUTOR",
"name": "text",
"password": "text",
"email": "[email protected]",
"display_name": "text",
"website": "text",
"phone": "text",
"address": "text",
"description": "text",
"max_tenants": 100,
"max_extensions": 50000,
"tenant_full_access": true
}
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}
Get details of the dealer by it's unique ID.
The unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/dealers/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"enabled": true,
"level": "DISTRIBUTOR",
"name": "text",
"email": "[email protected]",
"display_name": "text",
"website": "text",
"phone": "text",
"address": "text",
"description": "text",
"max_tenants": 100,
"max_extensions": 50000,
"tenant_full_access": true
}
Modify the settings of the dealer.
The unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
Enable this dealer or not.
true
The email address of user.
The display name of user.
The website of user.
The mobile phone number of user.
The address.
The description of dealer.
The maximum number of tenants that the dealer is allowed to create.
100
The maximum number of extensions that the dealer is allowed to create.
50000
Whether or not the reseller is allowed to have full control over the tenant.
This attribute is not valid if not modified by first level dealer.
true
POST /api/dealers/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 205
{
"enabled": true,
"email": "[email protected]",
"display_name": "text",
"website": "text",
"phone": "text",
"address": "text",
"description": "text",
"max_tenants": 100,
"max_extensions": 50000,
"tenant_full_access": true
}
No content
Reset dealer's password.
The unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The password of dealer.
POST /api/dealers/{id}/password HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"password": "text"
}
No content
Delete a dealer by it's unique ID.
The unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/dealers/{id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of IP blacklist entries or whitelist entries.
Use the filter
query parameter to retrieve just a subset of a collection.
Use the search
query parameter to restrict the results of a request to match a search criterion.
Use the orderby
query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip
query parameter to set the number of items to skip at the start of a collection.
0
Use the top
query parameter to specify the page size of the result set.
100
GET /api/ip_filters HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 100,
"items": [
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"cidr": "text",
"target": "ACCEPT",
"expire_at": "2017-07-21T17:32:28Z",
"description": "text"
}
]
}
Add a new IP blacklist entry or whitelist entry to the system.
The CIDR
notation IP address and prefix length,
like "192.0.2.0/24" or "2001:db8::/32", as defined in RFC 4632 and RFC 4291.
IP rule's target:
ACCEPT
: An accepted rule.DENY
: A rejection rule.
IP rule's expire time.
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28Z
Remarks for the IP rule.
POST /api/ip_filters HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 89
{
"cidr": "text",
"target": "ACCEPT",
"expire_at": "2017-07-21T17:32:28Z",
"description": "text"
}
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}
Retrieve IP blacklist entry or whitelist entry.
The unique ID of IP rule.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/ip_filters/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"cidr": "text",
"target": "ACCEPT",
"expire_at": "2017-07-21T17:32:28Z",
"description": "text"
}
Update IP blacklist entry or whitelist entry that already exists.
The unique ID of IP rule.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The CIDR
notation IP address and prefix length,
like "192.0.2.0/24" or "2001:db8::/32", as defined in RFC 4632 and RFC 4291.
IP rule's target:
ACCEPT
: An accepted rule.DENY
: A rejection rule.
IP rule's expire time.
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28Z
Remarks for the IP rule.
POST /api/ip_filters/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 89
{
"cidr": "text",
"target": "ACCEPT",
"expire_at": "2017-07-21T17:32:28Z",
"description": "text"
}
No content
Destroy a certain IP rule.
The unique ID of IP rule.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/ip_filters/{id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of transports
Use the filter
query parameter to retrieve just a subset of a collection.
Use the search
query parameter to restrict the results of a request to match a search criterion.
Use the orderby
query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip
query parameter to set the number of items to skip at the start of a collection.
0
Use the top
query parameter to specify the page size of the result set.
100
GET /api/transports HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 100,
"items": [
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"protocol": "UDP",
"port": 80,
"verification": "DISABLE"
}
]
}
Add a new transport.
The transport protocol:
Can be either:
UDP
:TCP
:TLS
:
The port of transport.
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80
Indicates if PBX wishes (Optional) or requires (Mandatory) TLS clients to present a client certificate:
DISABLE
: disable client certificate.OPTIONAL
: client authentication optional.MANDATORY
: force client authentication.
POST /api/transports HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"protocol": "UDP",
"port": 80,
"verification": "DISABLE"
}
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}
Retrieve a transport by it's unique ID.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/transports/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"protocol": "UDP",
"port": 80,
"verification": "DISABLE"
}
Update a new transport.
The unique ID of transport.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The port of transport.
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80
Indicates if PBX wishes (Optional) or requires (Mandatory) TLS clients to present a client certificate:
DISABLE
: disable client certificate.OPTIONAL
: client authentication optional.MANDATORY
: force client authentication.
POST /api/transports/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 36
{
"port": 80,
"verification": "DISABLE"
}
No content
Destroy transport
The unique ID of transport.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/transports/{id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Query transport's status
The transport protocol:
Can be either:
UDP
:TCP
:TLS
:
GET /api/transports/{id}/status HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "ACTIVATED"
}
Returns a list of tenant summary information. Note that it uses a different, smaller representation of a tenant than retrieving a single tenant.
Use the filter
query parameter to retrieve just a subset of a collection.
Use the search
query parameter to restrict the results of a request to match a search criterion.
Use the orderby
query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip
query parameter to set the number of items to skip at the start of a collection.
0
Use the top
query parameter to specify the page size of the result set.
100
GET /api/tenants HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 100,
"items": [
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"name": "text",
"domain": "text",
"max_extensions": 1000,
"max_concurrent_calls": 20,
"enabled": true,
"website": "text",
"timezone": "text",
"currency": "USD",
"region": "text",
"avatar_file_name": "text",
"avatar_file_size": 0,
"avatar_file_url": "/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK",
"created_at": "2017-07-21T17:32:28Z"
}
]
}
Create an new tenant.
The name of the tenant.
The SIP domain of tenant.
It is usually a fully qualified domain name (FQDN).
If there is no FQDN, you can also use the IP address of the PBX server as the SIP domain.
The SIP domain name is only used for SIP message authentication and does not require analysis.
The official website of tenant.
Timezone for tenant.
The IANA Time Zone names, such as "Asia/Shanghai".
The Currency code (ISO 4217).
USD
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Enable this tenant or not.
true
Allow extension video recording.
false
Allow extension audio recording.
false
Allow dual track recording for calls.
false
Enable call billing or not.
false
Enable call billing feature or not.
false
Enable call statistics feature or not.
true
Enable contact center feature or not.
true
Enable message channels feature or not.
true
Enable Microsoft Teams feature or not.
true
Enable trunks feature or not.
true
Enable WhatsApp feature or not.
true
Whether to enable night mode.
false
Whether to enable two-factor authentication.
false
Some custom configuration options serialized as json string
The maximum number of users that the tenant is allowed to create.
1000
The maximum number of concurrent calls that the tenant is allowed to have.
20
The maximum number of ring groups that the tenant is allowed to create.
20
The maximum number of virtual receptionists that the tenant is allowed to create.
20
The maximum number of call queues that the tenant is allowed to create.
20
The maximum number of conference rooms that the tenant is allowed to be online at the same time.
20
The maximum size of disk space that the tenant is allowed to have.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
""
The maximum size of disk space that the tenant is allowed to have for IM service.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
""
The maximum size of disk space that the extension user is allowed to have for IM service.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
1GB
The retention period in days of recordings.
180
The retention period in days of call report files.
30
The retention period in days of audit logs and event logs.
180
The retention period in days of temporary files.
30
The match method of contact:
Can be either:
DISABLE
: Disable match.MATCH_EXACTLY
: Match exactly.MATCH_LENGTH
: Match at least specified number of characters.
MATCH_EXACTLY
Possible values: The matched length of characters when contact_match_type is MATCH_LENGTH
.
Method for adding Group, Queue or DID/DDI Names to Caller ID:
Can be either:
DISABLE
: Do not add.APPEND
: Append names.PREPEND
: Prepend names.
APPEND
Possible values: The interval for synchronizing contacts from the server, in minutes.
720
Comma-separated list of email address that should receive notifications.
Allow up to 15 email addresses.
Whether to force reset the initial password.
false
POST /api/tenants HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2015
{
"name": "text",
"domain": "text",
"website": "text",
"timezone": "text",
"currency": "USD",
"region": "text",
"enabled": true,
"enable_video_recording": false,
"enable_audio_recording": false,
"enable_dual_track_recording": false,
"enable_billing": false,
"enable_feature_billing": false,
"enable_feature_call_statistics": true,
"enable_feature_contact_center": true,
"enable_feature_message_channels": true,
"enable_feature_microsoft_teams": true,
"enable_feature_trunks": true,
"enable_feature_whats_app": true,
"enable_night_mode": false,
"enable_two_factor_authentication": false,
"custom_options": "text",
"max_extensions": 1000,
"max_concurrent_calls": 20,
"max_ring_groups": 20,
"max_virtual_receptionists": 20,
"max_call_queues": 20,
"max_conference_rooms": 20,
"disk_quota": "",
"im_disk_quota": "",
"extension_im_disk_quota": "1GB",
"recording_retention": 180,
"call_report_retention": 30,
"log_retention": 180,
"temp_file_retention": 30,
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"e164": {
"enabled": false,
"international_code": "text",
"country": "Angola(244)",
"area_code": "text",
"national_code": "text",
"prefix": "text",
"remove_special_chars": false,
"remove_duplicate_countries": true,
"remove_duplicate_area_codes": true
},
"cdr_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"extension_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"contact_match_type": "MATCH_EXACTLY",
"contact_match_length": 1,
"contact_append_type": "APPEND",
"contact_update_interval": 720,
"email_recipients": "text",
"password_force_reset": false
}
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}
Get detailed properties for a tenant.
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/tenants/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"name": "text",
"domain": "text",
"website": "text",
"timezone": "text",
"currency": "USD",
"region": "text",
"enabled": true,
"enable_video_recording": false,
"enable_audio_recording": false,
"enable_dual_track_recording": false,
"enable_billing": false,
"enable_feature_billing": false,
"enable_feature_call_statistics": true,
"enable_feature_contact_center": true,
"enable_feature_message_channels": true,
"enable_feature_microsoft_teams": true,
"enable_feature_trunks": true,
"enable_feature_whats_app": true,
"enable_night_mode": false,
"enable_two_factor_authentication": false,
"custom_options": "text",
"max_extensions": 1000,
"max_concurrent_calls": 20,
"max_ring_groups": 20,
"max_virtual_receptionists": 20,
"max_call_queues": 20,
"max_conference_rooms": 20,
"disk_quota": "",
"used_disk_quota": "text",
"im_disk_quota": "",
"extension_im_disk_quota": "1GB",
"recording_retention": 180,
"call_report_retention": 30,
"log_retention": 180,
"temp_file_retention": 30,
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"outbound_caller_ids": [
{
"provider_id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"caller_id": "text",
"description": "text"
}
],
"e164": {
"enabled": false,
"international_code": "text",
"country": "Angola(244)",
"area_code": "text",
"national_code": "text",
"prefix": "text",
"remove_special_chars": false,
"remove_duplicate_countries": true,
"remove_duplicate_area_codes": true
},
"cdr_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"extension_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"contact_match_type": "MATCH_EXACTLY",
"contact_match_length": 1,
"contact_append_type": "APPEND",
"contact_update_interval": 720,
"email_recipients": "text",
"password_force_reset": false,
"created_at": "2017-07-21T17:32:28Z",
"avatar_file_name": "text",
"avatar_file_size": 0,
"avatar_file_url": "/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK"
}
Update tenant properties by it's unique ID.
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The SIP domain of tenant.
It is usually a fully qualified domain name (FQDN).
If there is no FQDN, you can also use the IP address of the PBX server as the SIP domain.
The SIP domain name is only used for SIP message authentication and does not require analysis.
The official website of tenant.
Timezone for tenant.
The IANA Time Zone names, such as "Asia/Shanghai".
The Currency code (ISO 4217).
USD
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Enable this tenant or not.
true
Allow extension video recording.
false
Allow extension audio recording.
false
Allow dual track recording for calls.
false
Enable call billing or not.
false
Enable call billing feature or not.
false
Enable call statistics feature or not.
true
Enable contact center feature or not.
true
Enable message channels feature or not.
true
Enable Microsoft Teams feature or not.
true
Enable trunks feature or not.
true
Enable WhatsApp feature or not.
true
Whether to enable night mode.
false
Whether to enable two-factor authentication.
false
Some custom configuration options serialized as json string
The maximum number of users that the tenant is allowed to create.
1000
The maximum number of concurrent calls that the tenant is allowed to have.
20
The maximum number of ring groups that the tenant is allowed to create.
20
The maximum number of virtual receptionists that the tenant is allowed to create.
20
The maximum number of call queues that the tenant is allowed to create.
20
The maximum number of conference rooms that the tenant is allowed to be online at the same time.
20
The maximum size of disk space that the tenant is allowed to have.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
""
The maximum size of disk space that the tenant is allowed to have for IM service.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
""
The maximum size of disk space that the extension user is allowed to have for IM service.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
1GB
The retention period in days of recordings.
180
The retention period in days of call report files.
30
The retention period in days of audit logs and event logs.
180
The retention period in days of temporary files.
30
The match method of contact:
Can be either:
DISABLE
: Disable match.MATCH_EXACTLY
: Match exactly.MATCH_LENGTH
: Match at least specified number of characters.
MATCH_EXACTLY
Possible values: The matched length of characters when contact_match_type is MATCH_LENGTH
.
Method for adding Group, Queue or DID/DDI Names to Caller ID:
Can be either:
DISABLE
: Do not add.APPEND
: Append names.PREPEND
: Prepend names.
APPEND
Possible values: The interval for synchronizing contacts from the server, in minutes.
720
Comma-separated list of email address that should receive notifications.
Allow up to 15 email addresses.
Whether to force reset the initial password.
false
POST /api/tenants/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2001
{
"domain": "text",
"website": "text",
"timezone": "text",
"currency": "USD",
"region": "text",
"enabled": true,
"enable_video_recording": false,
"enable_audio_recording": false,
"enable_dual_track_recording": false,
"enable_billing": false,
"enable_feature_billing": false,
"enable_feature_call_statistics": true,
"enable_feature_contact_center": true,
"enable_feature_message_channels": true,
"enable_feature_microsoft_teams": true,
"enable_feature_trunks": true,
"enable_feature_whats_app": true,
"enable_night_mode": false,
"enable_two_factor_authentication": false,
"custom_options": "text",
"max_extensions": 1000,
"max_concurrent_calls": 20,
"max_ring_groups": 20,
"max_virtual_receptionists": 20,
"max_call_queues": 20,
"max_conference_rooms": 20,
"disk_quota": "",
"im_disk_quota": "",
"extension_im_disk_quota": "1GB",
"recording_retention": 180,
"call_report_retention": 30,
"log_retention": 180,
"temp_file_retention": 30,
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"e164": {
"enabled": false,
"international_code": "text",
"country": "Angola(244)",
"area_code": "text",
"national_code": "text",
"prefix": "text",
"remove_special_chars": false,
"remove_duplicate_countries": true,
"remove_duplicate_area_codes": true
},
"cdr_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"extension_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"contact_match_type": "MATCH_EXACTLY",
"contact_match_length": 1,
"contact_append_type": "APPEND",
"contact_update_interval": 720,
"email_recipients": "text",
"password_force_reset": false
}
No content
Switch between tenants.
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/tenants/switch HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Get the dealer to which the tenant belongs.
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/tenants/{id}/dealers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"enabled": true,
"level": "DISTRIBUTOR",
"name": "text",
"display_name": "text"
}
]
}
Designate tenant to dealer.
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/tenants/{id}/dealers/{dealer_id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Remove tenant from dealer.
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/tenants/{id}/dealers/{dealer_id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/tenants/{id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve license information
GET /api/license HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"api_version": "text",
"product_name": "PortSIP PBX",
"max_sim_calls": 1,
"license_key": "text",
"company_name": "text",
"contact_email": "text"
}
Update license
License key of PortSIP PBX.
POST /api/license HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 22
{
"license_key": "text"
}
No content
Update certificate key.
Content of this certificate file for TLS or WSS transport protocol. The certificate file MUST be PEM-encoded with X.509.
Content of this private certificate file for TLS or WSS transport protocol.
POST /api/key HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 27
{
"crt": "text",
"key": "text"
}
No content
Update brand information.
The color scheme:
Can be either:
BLUE
: BlueDARK
: DarkGREEN
: GreenLIGHT_BLUE
: Light BluePURPLE
: Purple
The unique ID of file from your file library.
This file will be used as the logo image.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The unique ID of file from your file library.
This file will be used as the favicon image.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The title text.
This text will be displayed as the title.
The copyright text.
This text will be displayed as the copyright.
The product name text.
This text will be displayed as the product name.
The website text.
This text will be displayed as the product website.
The forum url.
This text will be displayed as the forum url.
The bottom text, maximum size is 256 characters. This text will be displayed at the bottom of the login page. It can be either plain text or HTML code.
POST /api/brand HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 191
{
"theme": "BLUE",
"logo": "NzAwNTUxOTA5NzczMTQ4MTYw",
"favicon": "NzAwNTUxOTA5NzczMTQ4MTYw",
"title": "text",
"copyright": "text",
"product": "text",
"website": "text",
"forum": "text",
"bottom_text": "text"
}
No content
Get details of current dealer.
GET /api/dealer HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"enabled": true,
"level": "DISTRIBUTOR",
"name": "text",
"email": "[email protected]",
"display_name": "text",
"website": "text",
"phone": "text",
"address": "text",
"description": "text",
"max_tenants": 100,
"max_extensions": 50000
}
Modify the settings of the current dealer.
The email address of user.
The display name of user.
The website of user.
The mobile phone number of user.
The address.
The description of dealer.
POST /api/dealer HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 123
{
"email": "[email protected]",
"display_name": "text",
"website": "text",
"phone": "text",
"address": "text",
"description": "text"
}
No content
Get status of current dealer.
GET /api/dealer/status HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"version": "text",
"max_dealers": 1,
"current_dealers": 1,
"max_users": 1,
"current_users": 1,
"max_tenants": 1,
"current_tenants": 1
}
Change current dealer username.
The user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin
, system
, administrator
, and root
are reserved names for system admin only with case ignored.
POST /api/dealer/username HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
No content
Reset current dealer password.
The password of dealer.
The password of dealer.
POST /api/dealer/password HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"old_password": "text",
"new_password": "text"
}
No content
Get a collection of assignees of provider.
The unique ID of trunk.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/providers/{id}/assignees HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"tenant_id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"did_numbers": "text",
"concurrency": 1
}
]
}
Check if a provider is assigned to the tenant.
The unique ID of trunk.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/providers/{id}/assignees/{tenant_id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"did_numbers": "text",
"concurrency": 1
}
Assign provider to tenant.
The unique ID of trunk.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The semicolon-separated list of DID/DDI pool number range or DID/DDI number. Assign a DID/DDI pool number range or DID/DDI number to the tenant. For example: 3000;12000-18000. The DID/DDI pool number range should not overlap with other tenant DID/DDI pool number ranges and numbers.
The max number of concurrent calls.
POST /api/providers/{id}/assignees/{tenant_id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"did_numbers": "text",
"concurrency": 1
}
No content
Unassign provider from tenant.
The unique ID of trunk.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/providers/{id}/assignees/{tenant_id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content