Administrations
Manage PBX System.
Get network configurations.
OK
Error
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.
trueThe private IPv6 of system.
The public IPv6 of system.
The primary DNS server.
The secondary DNS server.
OK
No content
Error
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.
OK
Error
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.
OK
No content
Error
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.
OK
No content
Error
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.
OK
Error
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 UCThe semicolon separated list of blocked user agents.
Enable Shared Address Space Address Range or not (RFC 6598).
trueIndicates if DIGEST authentication would be enabled.
trueIndicates if PortSIP PBX requires authentication against all subsequent requests originated from one calling.
falseIndicates if auth-int DIGEST authentication mode would be enabled.
falseAllow external calls recording.
trueWhen 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.
falseInterval for statistics logs, in seconds.
600Close the session if no RTP packets received within specified duration, in seconds.
600Indicates if session timer (RFC 4028) would be enabled. This also requires client support.
trueDuration recorded by Session timer. Precondition: "enable_session_timer" MUST be set to true.
3600Indicates if "to" tag is allowed in REGISTER message.
falseIndicates if congestion management would be enabled.
truePrecondition: "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.
600Indicates 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.
falseEnable prack or not.
falseWhether to enable tenant-level trunk.
trueEnable Diversion support or not (RFC 5806).
falseEnable History-Info support (RFC 7044).
falseEnable Outbound Support or not (RFC 5626).
trueThe flow timer interval in seconds.
0The register expiration time in seconds.
300Enable call-info header for auto answer or not.
falseAlert-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".
trueEnable Require Answer Mode (RFC 5373) for auto answer.
falseEnable WWW authentication or not.
falseUser equal required for authentication name.
trueTracer 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
80Block if failed to login PortSIP PBX Web more than this times.
5The web blocked time in seconds.
3600The number of authentication failures.
50DOS 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.
1000The sip blocked time in seconds.
3600The detection period in seconds.
10If the amount of packets is exceeded, the PBX will block the source IP for "Level 1 blacklist time interval" seconds.
5000This is the time interval in seconds that an abusive IP Address remains in the blacklist
3600If the amount of packets is exceeded, the PBX will block the source IP for "Level 2 blacklist time interval" seconds.
2000This is the time interval in seconds that an abusive IP Address remains in the blacklist
30Content 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.
OK
No content
Error
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.
OK
Error
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.MS365Use Microsoft 365 email service.GMAILUse 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
80A 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.PLAINUse PLAIN authentication mechanism.
AUTOPossible values: Whether to enable TLS/SSL.
trueWhether StartTLS is automatically enabled.
falseComma-separated list of email address that should receive notifications.
Allow up to 15 email addresses.
Apply the email server settings to all tenants.
trueThe hard disk threshold for email warning.
0.9Send a notification email when specified hard disk threshold is exceeded.
falseThe CPU threshold for email warning.
0.9Send a notification email when specified CPU threshold is exceeded.
falseThe memory threshold for email warning.
0.9Send an email notification when specified memory threshold is exceeded.
falseSend a notification email when ip blocked.
falseSend a notification email when license limit reached.
falseSend a notification email when some service disconnected.
falseSend a notification email when push notification certificates update failed.
falseOK
No content
Error
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.
OK
No content
Error
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.
OK
Error
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.
8882A 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
80The SBC web port fot https.
8883A 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
80OK
No content
Error
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 SBC token
OK
Error
GET /api/sbc/token HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "text"
}Regenerate SBC token
OK
Error
POST /api/sbc/token HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "text"
}Destroy SBC Token.
No Content
Error
POST /api/sbc/token/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve settings of IM server.
OK
Error
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.
OK
No content
Error
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
Retrieve IM server token
OK
Error
GET /api/im/token HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "text"
}Regenerate IM server token
OK
Error
POST /api/im/token HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "text"
}Destroy IM server Token.
No Content
Error
POST /api/im/token/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
List a collection of dealers.
OK
Error
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.
trueDealer 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.
100The maximum number of extensions that the dealer is allowed to create.
50000Whether 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.
trueSuccess
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwEnable this dealer or not.
trueThe 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.
100The maximum number of extensions that the dealer is allowed to create.
50000Whether 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.
trueOK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe password of dealer.
OK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
Error
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.
0Use the top query parameter to specify the page size of the result set.
100OK
Error
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:28ZRemarks for the IP rule.
OK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe 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:28ZRemarks for the IP rule.
OK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
Invalid rule ID supplied.
POST /api/ip_filters/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Export a collection of IP rules to file.
OK
Error
GET /api/ip_filters/export HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
binaryRetrieve 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.
0Use the top query parameter to specify the page size of the result set.
100OK
Error
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
80Indicates 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.
Created transport
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe 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
80Indicates 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.
OK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
Error
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:
Success
Error
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.
0Use the top query parameter to specify the page size of the result set.
100OK
Error
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).
USDA 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.
trueAllow extension video recording.
falseAllow extension audio recording.
falseAllow dual track recording for calls.
falseEnable call billing or not.
falseEnable call billing feature or not.
falseEnable call statistics feature or not.
trueEnable contact center feature or not.
trueEnable message channels feature or not.
trueEnable Microsoft Teams feature or not.
trueEnable trunks feature or not.
trueEnable WhatsApp feature or not.
trueWhether to enable night mode.
falseWhether to enable two-factor authentication.
falseSome custom configuration options serialized as json string
The maximum number of users that the tenant is allowed to create.
1000The maximum number of concurrent calls that the tenant is allowed to have.
20The maximum number of ring groups that the tenant is allowed to create.
20The maximum number of virtual receptionists that the tenant is allowed to create.
20The maximum number of call queues that the tenant is allowed to create.
20The maximum number of conference rooms that the tenant is allowed to be online at the same time.
20The 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.
1GBThe retention period in days of recordings.
180The retention period in days of call report files.
30The retention period in days of audit logs and event logs.
180The retention period in days of temporary files.
30The match method of contact:
Can be either:
DISABLE: Disable match.MATCH_EXACTLY: Match exactly.MATCH_LENGTH: Match at least specified number of characters.
MATCH_EXACTLYPossible 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.
APPENDPossible values: The interval for synchronizing contacts from the server, in minutes.
720Comma-separated list of email address that should receive notifications.
Allow up to 15 email addresses.
Whether to force reset the initial password.
falseCreated
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe 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).
USDA 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.
trueAllow extension video recording.
falseAllow extension audio recording.
falseAllow dual track recording for calls.
falseEnable call billing or not.
falseEnable call billing feature or not.
falseEnable call statistics feature or not.
trueEnable contact center feature or not.
trueEnable message channels feature or not.
trueEnable Microsoft Teams feature or not.
trueEnable trunks feature or not.
trueEnable WhatsApp feature or not.
trueWhether to enable night mode.
falseWhether to enable two-factor authentication.
falseSome custom configuration options serialized as json string
The maximum number of users that the tenant is allowed to create.
1000The maximum number of concurrent calls that the tenant is allowed to have.
20The maximum number of ring groups that the tenant is allowed to create.
20The maximum number of virtual receptionists that the tenant is allowed to create.
20The maximum number of call queues that the tenant is allowed to create.
20The maximum number of conference rooms that the tenant is allowed to be online at the same time.
20The 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.
1GBThe retention period in days of recordings.
180The retention period in days of call report files.
30The retention period in days of audit logs and event logs.
180The retention period in days of temporary files.
30The match method of contact:
Can be either:
DISABLE: Disable match.MATCH_EXACTLY: Match exactly.MATCH_LENGTH: Match at least specified number of characters.
MATCH_EXACTLYPossible 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.
APPENDPossible values: The interval for synchronizing contacts from the server, in minutes.
720Comma-separated list of email address that should receive notifications.
Allow up to 15 email addresses.
Whether to force reset the initial password.
falseOK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of dealer.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
Invalid name supplied
Tenant not found
POST /api/tenants/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve license information
OK
Error
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.
OK
No content
Error
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
Retrieve content of certificate key.
OK
Error
GET /api/key HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"crt": "text",
"key": "text"
}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.
No Content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of file from your file library.
This file will be used as the favicon image.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYwThe 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.
OK
No content
Error
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.
OK
Error
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.
OK
No content
Error
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.
OK
Error
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.
OK
No content
Error
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.
OK
No content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Not Found
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYwThe 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.
No Content
Error
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.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of tenant.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
Error
POST /api/providers/{id}/assignees/{tenant_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated