Build - the name of the maintenance release build the change was introduced in.

Service - the name of the service/services which is/are affected.

Method - the name of the method/methods which is/are affected.

Message - the message that explains what was changed.

Schema changed - shows whether it is required to rebuild WSDL/XSD-generated stubs for .net, Java and other static typing languages.

TT - a link to a ticket related to the change.

Build

Service

Method

Message

Schema changed

Backward compatible

TT

Resolution for system update

MR131-0

Connection

add_connection
update_connection

"capacity" is no longer mandatory. It is meaningful only for voice connections and is required to be a positive value only when utilization-based routing is enabled; otherwise it may be omitted (a missing value defaults to 0).

NoYesYT:BA-47376


MR131-0

Connection

add_connection
update_connection

Generic connections now accept "node" and "port" configuration and the Messaging service type. The duplicate-connection check for a Generic connection runs only when "port" is set, so multiple port-less Generic connections from different vendors may coexist on the same node.

NoYesYT:BA-47376


MR131-0

Invoice

upload_invoice_pdf

Response field "sucess" renamed to "success" (typo fix)

YesNoYT:BA-47038


MR131-0

DiscountPlan

add_vd_threshold
update_vd_threshold

For a Service Wallet (top-up) bundle item, notify_threshold_type now accepts only remaining_amount; other values (and a non-negative warning_threshold) are rejected with a fault instead of silently saving a zero threshold.

NoNoYT:BA-47513


MR131-0

ServicePolicy

get_attribute_list

A new sip.response_code_overrides attribute for VoIP Calls service policies lets a CSP admin override the SIP response code returned on inbound call rejection per service policy. Each stored value is a UTF-8 JSON object: {"id":"<voice_responses.id>","sip_response_code":<300..699>}. To describe such structured attributes, ServicePolicyAttributeInfo now also surfaces item_type ("string"/"json"), json_schema (field-level shape with dictionaries inlined), and default_values (server-supplied defaults pre-filled per attribute). Existing attributes default to item_type="string" with no json_schema/default_values.

YesYesYT:BA-47205


MR131-0

Service

get_addon_mart_modules

New method was added. It returns the list of Add-on Mart modules available for the current user, together with each module's subscription status, trial and subscription dates, and the minimum PortaSwitch release required.

YesYesYT:BA-47402


MR131-0

Customer

assign_bundle
update_assigned_bundle
unassign_bundle
get_assigned_bundle_list

New API methods

YesYesYT:BA-45352


MR131-0

Customer

get_vd_counter_info

Input: accepts a poolable counter id i_cqvd_counter (one-of with i_cvd_counter). Output: returns i_cqvd_counter

YesYesYT:BA-45352


MR131-0

Customer

get_vd_counter_list

Output: gains i_cqvd_counter and entitled_account_count

YesYesYT:BA-45352


MR131-0

Customer

get_full_vd_counter_info

Output: gains entitled_account_count

YesYesYT:BA-45352


MR131-0

Customer

get_vd_counter_history_list

Input: accepts i_cqvd_counter (one-of with i_cvd_counter). Output: history items return i_cqvd_counter

YesYesYT:BA-45352


MR131-0

Customer

get_vd_counter_aggregate_history

Output: aggregate items return i_cqvd_counter

YesYesYT:BA-45352


MR131-0

Customer

get_vd_notification_list

Input: gains an addon_priority filter (to fetch poolable-bundle notifications). Output: items gain addon_priority; the money counter becomes optional (absent for poolable notifications)

YesYesYT:BA-45352


MR131-0DiscountPlan

get_discount_list

Input: the i_vd_type filter accepts new value 5 = entitlement. Output: bundle items can report item type 5 = entitlement, priority -11 = Poolable Quotas, and the extended exclusive behavior

YesYesYT:BA-45352


MR131-0

DiscountPlan

get_discount_info

Output: a bundle item can report item type 5 = entitlement, priority -11 = Poolable Quotas, and the extended exclusive behavior

YesYesYT:BA-45352


MR131-0

DiscountPlan

get_discount_plan_list

Input: the vd_bundle_type filter accepts quotas and poolable quotas. Output: bundle info can report those bundle types

YesYesYT:BA-45352


MR131-0

DiscountPlan

get_discount_plan_info

Output: bundle info can report bundle types quotas and poolable quotas

YesYesYT:BA-45352


MR131-0

Product

add_product
update_product

Enabling a service feature whose service is not included in the product is now rejected with a fault (e.g. "emergency" on a product without the Voice Calls service). Disabling, clearing, or inheriting such a feature is still allowed.

NoNoYT:BA-47586

Stop enabling service features for services the product does not include.

MR131-0

Account

add_account
update_account

Enabling a service feature whose service is not covered by the account's product or add-ons is now rejected with a fault. Disabling, clearing, or inheriting such a feature is still allowed.

NoNoYT:BA-47586

Stop enabling service features for services not included by the account's product or add-ons.

MR131-0

Invoice

review_invoice
review_invoice_list

Added a new value pdf_regenerate to the action field. It regenerates the invoice PDF from the current template for an invoice under review (e.g. after the invoice template was changed), without recalculating charges or payments — the invoice stays under review. The existing approve and regenerate actions are unchanged.

YesYesYT:BA-47673
MR131-0

BundlePromotion

delete_bundle_promotion

delete_bundle_promotion is now allowed for the reseller realm — a reseller/sub-reseller can delete a bundle promotion they own (previously admin-only). Deletion is still rejected when the promotion is in use.

YesYesYT:BA-47704
MR131-0

DID

get_vendor_batch_list
get_vendor_batch_info

These two methods were removed from the reseller realm and are now available to the admin realm only. Resellers can no longer read DID vendor batches — the reseller access was legacy (from the retired demo signup portal) and had no operational purpose. The admin-realm contract is unchanged.

YesNoYT:BA-37261

Reseller integrations that read DID vendor batches should switch to the admin realm.

MR131-0

Generic

get_config_data

Extended with Security section and EncryptSIMCardKeyMaterial option inside. Visible only for admin and reseller realms. The UI must warn the users that SIM card
key material is stored in plain text when key material encryption is disabled.

YesYesYT:BA-47773


MR131-0

XDRMediator

get_xdr_list

Output: gains a new "disconnect_time" field — the date and time when the billing session was disconnected, analogous to "connect_time". It is taken from the stored disconnect timestamp or derived from connect time plus session length, and is empty for records with no voice-style session (e.g. non-voice or error records).

YesYesYT:BA-47741


MR131-0

Generic

get_session_data

Output: gains a new operating_mode field reporting the operating mode of the PortaSwitch site that served the request, so an integration can poll it out-of-band and detect when it is safe to route API traffic back to the main site. Possible values:

  • normal — the main site, operating in the normal mode;
  • secondary — a secondary site in the normal mode (a replica of the main site);
  • standalone — a secondary site running in the standalone (delta) mode while the main site is unavailable;
  • read_only — the main site, operating in the read-only mode.
YesYesYT:BA-47641


MR131-0

Account

get_emergency_details

Added an optional with_inheritance flag ('Y'/'N', default 'N'). When 'Y', the endpoint inherited via the address cascade (account → customer site → customer) is returned instead of only the account's own endpoint.
The response gains a new level field indicating the tier of the returned endpoint ('Accounts', 'CustomerSites', 'Customers').

YesYesYT:BA-47635
MR131-0

IPTV

get_channel_package_list
get_service_package_list
get_provider_list

The IPTV methods get_channel_package_list, get_service_package_list and get_provider_list are now available on the reseller, distributor and representative realms (previously admin-only), so those realms can read the IPTV channel/service package and provider catalog. The admin-realm contract is unchanged.

YesYesYT:BA-47840


MR131-0

Destination

get_dest_group_set_list
get_dest_group_set_info

Input structures were extended with a new flag - "get_group_count". If set to '1', the "group_count" field is returned in the DestGroupSetInfo structure. It holds the number of top-level code groups in the destination group set.

YesYesYT:BA-46855


MR131-0

Account

add_followme_number
add_followme_number_list
update_followme_number_list

"redirect_number", "name" and "domain" are no longer mandatory when a follow-me number is created, matching the update path which already allowed them to be empty. A follow-me number can now exist with call forwarding enabled and no destination configured. The format of a supplied "domain" is still validated, and a non-UDP transport without a domain falls back to UDP.

NoYesYT:BA-47489


MR131-0

Account

get_account_followme

"redirect_number", "name" and "domain" are now nillable in the FollowMeNumberInfo structure - when empty they are returned as null instead of being omitted from the response, matching "period", "period_description" and "max_sim_calls".

YesYesYT:BA-47489


MR131-0

Account

update_followme_number_list

Pushing more than one brand new entry (without "i_follow_me_number") in a single request is now rejected for the Simple forwarding and Forward to SIP URI modes, which allow only one follow-me number per account. Previously this limit was not enforced for new entries added through this method.

NoNoYT:BA-47489

Add follow-me numbers one per request for these forward modes.

MR131-0

DiscountPlan

add_discount
update_discount

Quota bundle items a not allowed for discount bundle type anymore (existing bundles with quota items are not affected)

Add - returns a fault when adding a quota item with a usage_period to a discount ("volume discount") bundle.
Update - same fault when an update would make an item a real quota in a discount bundle (e.g. setting usage_period on an existing wallet item).

NoNoYT:BA-47846


MR131-1

Template

clone_template

A reseller can now clone a rate upload template under a name that is already used by an administrator - the new name is checked only within the owner's own namespace instead of across the whole environment, and the clone is stored under the reseller's own ownership. Templates of other types keep the administrator namespace and are unchanged.

NoYesYT:BA-47229


MR131-1

Template

update_template

Renaming a template to a name already taken within the same owner namespace is now refused with the "update_template.not_unique_name" fault instead of failing on a database constraint. Changing only the letter case of the current name is allowed.

NoYesYT:BA-47229


MR131-1

AccessControl

generate_mfa_config
confirm_mfa_config

A user who must enroll in two-factor authentication before signing in can now complete the mandatory enrollment while holding only the Read permission on their own two-factor authentication (Auth_Parameters.mfa). Previously these methods required the Modify permission, which also let the user disable two-factor authentication for themselves. The permission check is waived only while the mandatory enrollment is still pending (two-factor authentication enabled but not yet configured); disabling it via set_mfa still requires Modify.

NoYesYT:BA-47923


MR131-1

Notification

add_notification_preset

A notification preset of the "user" type can no longer be created with an owner ("i_customer") - such a preset could never be assigned to anyone, because only a preset without an owner can belong to an administrator. A reseller session is offered the "customer_class" type only; an administrator can still create a "user" preset without an owner.

NoNoYT:BA-47853

Create user-type notification presets without an owner; use the customer class type for presets managed by a reseller.

MR131-1

User

get_user_info
get_user_list
add_user
update_user
delete_user
get_notification_list
get_notification_category_list
update_notification_list
get_rt_ticket_list

Administrators whose login is listed in the "Superusers" configuration option are now protected from API users that are not superusers. "get_user_info" and "get_user_list" return such a record reduced to "i_user", "login", "description", "email", "status", "class", "i_acl", "i_role", "role_name", "hide_personal_info" and "is_super_user" - the remaining fields, including "api_token", are withheld. "update_user", "delete_user", "get_notification_list", "get_notification_category_list", "update_notification_list" and "get_rt_ticket_list" return the "Access to the superuser is enabled only for superusers" fault. "add_user" and "update_user" additionally refuse a login listed in that option with the "Only a superuser can assign a login from the Superusers list" fault.

NoNoYT:BA-47946

An integration that has to read or manage superuser records must authenticate as a superuser.

MR131-1

WebLog

get_web_log_list

The web log records about an administrator whose login is listed in the "Superusers" configuration option are no longer returned to API users that are not superusers, for any filter and for a request with no filter. What a superuser did to other entities stays visible to every administrator of the environment.

NoNoYT:BA-47946



  • No labels