diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 921fa07..0dcd79b 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -43,6 +43,9 @@ * [🚰 GET - Group Trunk Groups](docs/methods/trunk-groups/get-group-trunk-groups.md) * [🚿 GET - Service Provider Trunk Group Call Capacity](docs/methods/trunk-groups/get-service-provider-trunk-group-call-capacity.md) * [📂 GET - Service Provider Call Capacity Report](docs/methods/trunk-groups/get-service-provider-call-capacity-report.md) + * [📞 PUT - Group Trunk Groups Call Capacity](docs/methods/trunk-groups/put-group-trunk--groups-call-capacity.md) + * [☎️ PUT - Group Trunk Group](docs/methods/trunk-groups/put-group-trunk--group.md) + * [🚿 POST - Group Trunk Groupy](docs/methods/trunk-groups/post-group-trunk--group.md) * [🤵 User](docs/methods/user/README.md) * [🆔 GET - User By ID](docs/methods/user/get-user-by-id.md) * [👯 GET - Users](docs/methods/user/get-users.md) @@ -67,6 +70,8 @@ * [🟢 PUT - User Call Center](docs/methods/call-centers/user-call-center.md) * [🙋‍♂️ PUT - User Call Center Agents Update](docs/methods/call-centers/user-call-center-agents-update.md) * [🛑 PUT - User Call Center Agent Sign Out](docs/methods/call-centers/user-call-center-agent-sign-out.md) + * [📞 Call Processing Policies](docs/methods/call-processing-policies/README.md) + * [🗃️ PUT - User Call Processing Policy](docs/methods/call-processing-policy.md) * [☎️ Devices](docs/methods/devices/README.md) * [📱 PUT - Group Devices](docs/methods/devices/group-devices.md) * [📞 PUT - Service Provider Device](docs/methods/devices/service-provider-device.md) @@ -85,6 +90,7 @@ * [🟢 PUT - Group Hunt Groups Status](docs/methods/hunt-groups/group-hunt-groups-status.md) * [🍏 PUT - Group Hunt Group](docs/methods/hunt-groups/group-hunt-group.md) * [💯 PUT - Group Hunt Group Weighted Call Distribution](docs/methods/hunt-groups/group-hunt-group-weighted-call-distribution.md) + * [🙋‍♂️ POST - Group Hunt Group](docs/methods/hunt-groups/post-group-hunt-group.md) * [🍒 Services](docs/methods/services/README.md) * [🧍 PUT - User Services](docs/methods/services/user-services.md) * [🛑 Do Not Disturb](docs/methods/do-not-disturb/README.md) diff --git a/docs/docs/methods/call-processing-policies/README.md b/docs/docs/methods/call-processing-policies/README.md new file mode 100644 index 0000000..fd98f37 --- /dev/null +++ b/docs/docs/methods/call-processing-policies/README.md @@ -0,0 +1 @@ +# 🗃️ Call Processing POlicies \ No newline at end of file diff --git a/docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md b/docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md new file mode 100644 index 0000000..950311d --- /dev/null +++ b/docs/docs/methods/call-processing-policies/put-user-call-processing-policy.md @@ -0,0 +1,84 @@ +--- +description: my_api.put.user_call_processing_policy() +--- + +# 🗃️ PUT - User Call Processing Policy + +Update the Call Processing Policies for a specified user. + +### Parameters + +* user\_id (str): The user ID of the user whose call processing policies need updating. +* updates (dict): Updates to apply to the specified user. + +### Returns + +* Dict: Returns the updated call processing policies. + +### How To Use: + +The below code will set the AA to deactivated. + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.user_call_processing_policy( + "userID@domain.com", + updates = { + "clidPolicy": "Use DN", + "emergencyClidPolicy": "Use DN", + "allowAlternateNumbersForRedirectingIdentity": "true", + "useGroupName": "false" + } +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "useUserCLIDSetting": False, + "useUserMediaSetting": False, + "useUserCallLimitsSetting": False, + "useUserDCLIDSetting": False, + "useUserTranslationRoutingSetting": False, + "useMaxSimultaneousCalls": True, + "maxSimultaneousCalls": 5, + "useMaxSimultaneousVideoCalls": True, + "maxSimultaneousVideoCalls": 5, + "useMaxCallTimeForAnsweredCalls": True, + "maxCallTimeForAnsweredCallsMinutes": 1440, + "useMaxCallTimeForUnansweredCalls": False, + "maxCallTimeForUnansweredCallsMinutes": 2, + "mediaPolicySelection": "No Restrictions", + "useMaxConcurrentRedirectedCalls": True, + "maxConcurrentRedirectedCalls": 5, + "useMaxFindMeFollowMeDepth": True, + "maxFindMeFollowMeDepth": 2, + "maxRedirectionDepth": 5, + "useMaxConcurrentFindMeFollowMeInvocations": True, + "maxConcurrentFindMeFollowMeInvocations": 2, + "clidPolicy": "Use DN", + "emergencyClidPolicy": "Use DN", + "allowAlternateNumbersForRedirectingIdentity": True, + "useGroupName": False, + "blockCallingNameForExternalCalls": False, + "enableDialableCallerID": False, + "allowConfigurableCLIDForRedirectingIdentity": True, + "allowDepartmentCLIDNameOverride": False, + "useUserPhoneListLookupSetting": False, + "enablePhoneListLookup": False, + "useMaxConcurrentTerminatingAlertingRequests": False, + "maxConcurrentTerminatingAlertingRequests": 10, + "includeRedirectionsInMaximumNumberOfConcurrentCalls": False, + "allowMobileDNForRedirectingIdentity": False, + "userId": "userID@domain.com" +} + +``` + diff --git a/docs/docs/methods/devices/post-group_device.md b/docs/docs/methods/devices/post-group_device.md new file mode 100644 index 0000000..9d567b1 --- /dev/null +++ b/docs/docs/methods/devices/post-group_device.md @@ -0,0 +1,100 @@ +# 🗃️ POST - Group Device + +Adds a new device to a group. + +### Parameters + +* service\_provider\_id (str): Service provider ID where the device should be built. +* group\_id (str): Group ID where the device should be built +* device\_name (str): Name of the new device +* device\_type (str): Type of device. +* payload (dict, optional): Device configuration data. + +### Returns + +* Dict: Returns the device profile. + +### How To Use: + +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +payload = { + "deviceType": "Polycom Soundpoint IP 4000", + "deviceName": "my-new-device-name", + "deviceLevel": "Group", + "useCustomUserNamePassword": true, + "accessDeviceCredentials": { + "userName": "9871515000", + "password": "ym7#zIuA" + }, + "netAddress": "111.111.111.111", + "port": "2222", + "outboundProxyServerNetAddress": "222.222.222.222", + "stunServerNetAddress": "333.333.333.333", + "macAddress": "CBFB0EBBF325", + "serialNumber": "123456789", + "description": "description", + "physicalLocation": "usa", + "transportProtocol": "UDP", + "groupId": "grp.odin", + "serviceProviderId": "ent.odin", + "profile": "Intelligent Proxy Addressing", + "staticRegistrationCapable": "false", + "configType": "3 File Configuration", + "protocolChoice": [ + "SIP 2.0" + ], + "isIpAddressOptional": "true", + "useDomain": "true", + "isMobilityManagerDevice": "false", + "deviceConfigurationOption": "Device Management", + "staticLineOrdering": "false", + "deviceTypeLevel": "System", + "tags": [], + "relatedServices": [], + "protocol": "SIP 2.0", + "userName": "9871515000" +} + + +my_api.post.group_device( + "service_provider_id", + "group_id", + "device_name", + "device_type", + payload=payload +) +``` +{% endcode %} + +### Example Returned Data of Device (Formatted) + +```json +{ + { + "deviceType": "device_type", + "protocol": "SIP 2.0", + "numberOfPorts": { + "unlimited": "true" + }, + "numberOfAssignedPorts": 0, + "status": "Online", + "transportProtocol": "Unspecified", + "useCustomUserNamePassword": false, + "deviceName": "device_name", + "serviceProviderId": "service_provider_id", + "groupId": "group_id", + "macAddress": "", + "deviceLevel": "Group", + "accessDeviceCredentials": { + "userName": null + }, + "tags": [], + "relatedServices": [] +} +} +``` \ No newline at end of file diff --git a/docs/docs/methods/hunt-groups/post-group-hunt-group.md b/docs/docs/methods/hunt-groups/post-group-hunt-group.md new file mode 100644 index 0000000..f43e633 --- /dev/null +++ b/docs/docs/methods/hunt-groups/post-group-hunt-group.md @@ -0,0 +1,127 @@ +# 🙋‍♂️ POST - Group Hunt Group + +Builds a hunt group (HG) in the specified group. + +### Parameters + +* service\_provider\_id (str): The service provider ID in which the target group is built. +* group\_id (str): The group ID where the HG should be built. +* service\_user\_id (str): The service user ID for the new HG. This must include the domain of the user. +* clid\_first\_name (str): The Calling Line ID first name. +* clid\_last\_name (str): The Calling Line ID last name. +* extension (str): The extension number for the HG. This must be entered as a string. +* payload (dict, optional): HG configuration data. +* agents (list, optional): List of user IDs (str) that should be assigned to the new HG. The user(s) must already exist in the group. +* policy (str, optional): Regular, Circular, Simultaneous, Uniform, Weighted. Defaults to Regular. +* no\_answer\_number\_of\_rings (int, optional): Defaults to 5. +* forward\_timeout\_seconds (int, optional): Defaults to 0. + +### Returns + +* None: This method does not return any specific value. + +### How To Use: + +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +hunt_group_agents= [ + "hunt_group_user1@microv-works.com", + "hunt_group_user2@microv-works.com" +] + +my_api.post.group_hunt_group( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + service_user_id = "odin.mock.hg.2@microv-works.com", + clid_first_name = "odin", + clid_last_name = "mock.hg.2", + hunt_group_extension = "1234", + agents = hunt_group_agents, + policy = "Regular" +) +``` +### Example Returned Data of Hunt Group (Formatted) + +```json +{ + "serviceInstanceProfile": { + "name": "odin mock.hg.2", + "callingLineIdLastName": "mock.hg.2", + "callingLineIdFirstName": "odin", + "hiraganaLastName": "odin mock.hg.2", + "hiraganaFirstName": "Hunt Group", + "extension": "1234", + "language": "English", + "timeZone": "Europe/London", + "timeZoneDisplayName": "(GMT+01:00) Greenwich Mean Time", + "aliases": [] + }, + "policy": "Regular", + "huntAfterNoAnswer": False, + "noAnswerNumberOfRings": 5, + "forwardAfterTimeout": False, + "forwardTimeoutSeconds": 0, + "allowCallWaitingForAgents": False, + "useSystemHuntGroupCLIDSetting": False, + "includeHuntGroupNameInCLID": False, + "enableNotReachableForwarding": False, + "makeBusyWhenNotReachable": False, + "allowMembersToControlGroupBusy": False, + "enableGroupBusy": False, + "applyGroupBusyWhenTerminatingToAgent": False, + "serviceUserId": "odin.mock.hg.2@microv-works.com", + "resellerId": None, + "serviceProviderId": "ServiceProviderID", + "groupId": "GroupID", + "isEnterprise": True, + "agents": [ + { + "userId": "hunt_group_user1@microv-works.com", + "lastName": "1", + "firstName": "hunt_group_user", + "hiraganaLastName": "1", + "hiraganaFirstName": "hunt_group_user", + "weight": None, + "phoneNumber": None, + "extension": "111111", + "department": None, + "emailAddress": None, + "isPhoneNumberActivated": None, + "countryCode": None, + "nationalPrefix": None, + "departmentName": None, + "departmentType": None, + "parentDepartment": None, + "parentDepartmentType": None, + "groupId": "GroupID", + "groupName": "Group Name" + }, + { + "userId": "hunt_group_user2@microv-works.com", + "lastName": "2", + "firstName": "hunt_group_user", + "hiraganaLastName": "2", + "hiraganaFirstName": "hunt_group_user", + "weight": None, + "phoneNumber": None, + "extension": "222222", + "department": None, + "emailAddress": None, + "isPhoneNumberActivated": None, + "countryCode": None, + "nationalPrefix": None, + "departmentName": None, + "departmentType": None, + "parentDepartment": None, + "parentDepartmentType": None, + "groupId": "GroupID", + "groupName": "Group Name" + } + ] +} + +``` \ No newline at end of file diff --git a/docs/docs/methods/trunk-groups/post-group-trunk-group.md b/docs/docs/methods/trunk-groups/post-group-trunk-group.md new file mode 100644 index 0000000..1a2219b --- /dev/null +++ b/docs/docs/methods/trunk-groups/post-group-trunk-group.md @@ -0,0 +1,118 @@ +--- +description: api.post.group_trunk_group() +--- + +# 🚿 POST - Group Trunk Group + +Builds a Trunk Group (TG) in the specified group. Please note, several fields are set to have default values. Please see below. + +### Parameters + +* service\_provider\_id (str): Service provider ID for which the max active calls needs to be updated +* group\_id (str): The group ID where the HG should be built. +* trunk\_name (str): The name of the new TG. +* max\_active\_calls (str): The maximum active calls to be set on the TG. +* payload (dict, optional): Configuration for the TG. +* sip\_authentication\_username (str, optional): The SIP authentication username for the TG. This field is required if "requireAuthentication" in the payload is set to "true". +* sip\_authentication\_password (str, optional): The SIP authentication password for the TG. You can generate a password for this using get.sip_password_generator. This field is required if "requireAuthentication" in the payload is set to "true". + +### Returns + +* Dict: Returns the Trunk Group profile. + +### Default Fields + +* "capacityExceededTrapInitialCalls":0, +* "capacityExceededTrapOffsetCalls":0, +* "clidSourceForScreenedCallsPolicy":"Profile Name Profile Number", +* "continuousOptionsSendingIntervalSeconds":30, +* "failureOptionsSendingIntervalSeconds":10, +* "failureThresholdCounter":1, +* "invitationTimeout":6, +* "inviteFailureThresholdCounter":1, +* "inviteFailureThresholdWindowSeconds":30, +* "pilotUserCallOptimizationPolicy":"Optimize For User Services", +* "pilotUserCallingLineAssertedIdentityPolicy":"Unscreened Originating Calls", +* "pilotUserCallingLineIdentityForEmergencyCallsPolicy":"No Calls", +* "pilotUserCallingLineIdentityForExternalCallsPolicy":"No Calls", +* "pilotUserChargeNumberPolicy":"No Calls", +* "requireAuthentication":"false", +* "successThresholdCounter":1, +* "useSystemUserLookupPolicy":"true", +* "userLookupPolicy":"Basic" + + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.group_trunk_group( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + my_trunk_group_name = "Odin Test Trunk" + max_active_calls = 2 +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "maxActiveCalls": 2, + "enableBursting": False, + "capacityExceededTrapInitialCalls": 0, + "capacityExceededTrapOffsetCalls": 0, + "invitationTimeout": 6, + "requireAuthentication": False, + "allowTerminationToTrunkGroupIdentity": False, + "allowTerminationToDtgIdentity": False, + "includeTrunkGroupIdentity": False, + "includeDtgIdentity": False, + "includeTrunkGroupIdentityForNetworkCalls": False, + "includeOtgIdentityForNetworkCalls": False, + "enableNetworkAddressIdentity": False, + "allowUnscreenedCalls": False, + "allowUnscreenedEmergencyCalls": False, + "pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls", + "pilotUserChargeNumberPolicy": "No Calls", + "routeToPeeringDomain": False, + "prefixEnabled": False, + "statefulReroutingEnabled": False, + "sendContinuousOptionsMessage": False, + "continuousOptionsSendingIntervalSeconds": 30, + "failureOptionsSendingIntervalSeconds": 10, + "failureThresholdCounter": 1, + "successThresholdCounter": 1, + "inviteFailureThresholdCounter": 1, + "inviteFailureThresholdWindowSeconds": 30, + "trunkGroupState": "Available", + "pilotUserCallingLineAssertedIdentityPolicy": "Unscreened Originating Calls", + "useSystemCallingLineAssertedIdentityPolicy": False, + "totalActiveIncomingCalls": 0, + "totalActiveOutgoingCalls": 0, + "pilotUserCallOptimizationPolicy": "Optimize For User Services", + "clidSourceForScreenedCallsPolicy": "Profile Name Profile Number", + "useSystemCLIDSourceForScreenedCallsPolicy": False, + "userLookupPolicy": "Basic", + "useSystemUserLookupPolicy": True, + "pilotUserCallingLineIdentityForEmergencyCallsPolicy": "No Calls", + "implicitRegistrationSetSupportPolicy": "Disabled", + "useSystemImplicitRegistrationSetSupportPolicy": True, + "sipIdentityForPilotAndProxyTrunkModesPolicy": "User", + "useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy": True, + "useSystemSupportConnectedIdentityPolicy": True, + "supportConnectedIdentityPolicy": "Disabled", + "useSystemOptionsMessageResponseStatusCodes": True, + "serviceProviderId": "ServiceProviderID", + "groupId": "GroupID", + "name": "Odin Test Trunk", + "users": [] +} + +``` diff --git a/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md b/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md new file mode 100644 index 0000000..1aa56c0 --- /dev/null +++ b/docs/docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md @@ -0,0 +1,54 @@ +--- +description: api.put.group_trunk_groups_call_capacity() +--- + +# 📞 PUT - Group Trunk Groups Call Capacity + +Updates the trunking call capacity in the specified group. +NOTE: The max available active calls cannot be changed here. Please see service_providers_trunk_group_call_capacity to update this. + +### Parameters + +* service\_provider\_id (str): Service provider ID where the target group is built +* group\_id (str): Group ID whose trunk group call capacity needs updating +* max_active_calls (int, optional): The max active calls for the group. +* bursting_max_active_calls (int, optional): The bursting max active calls for the group. +* number_of_bursting_btlus (int, optional): The number of Business Trunking License Units for bursting. + +### Returns + +* Dict: Returns the updated state of the trunk group call capacity. + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.group_trunk_groups_call_capacity( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + max_active_calls = 5, + bursting_max_active_calls = -1, + number_of_bursting_btlus = 1 +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ +"maxActiveCalls": 5, +"maxAvailableActiveCalls": 10, +"burstingMaxActiveCalls": -1, +"burstingMaxAvailableActiveCalls": -1, +"serviceProviderId": "ServiceProviderID", +"groupId": "GroupID", +"maxAvailableNumberOfBurstingBTLUs": 1, +"numberOfBurstingBTLUs": 1 +} +``` diff --git a/docs/docs/methods/trunk-groups/put-group_trunk_group.md b/docs/docs/methods/trunk-groups/put-group_trunk_group.md new file mode 100644 index 0000000..d2ad118 --- /dev/null +++ b/docs/docs/methods/trunk-groups/put-group_trunk_group.md @@ -0,0 +1,100 @@ +--- +description: api.put.group_trunk_group() +--- + +# ☎️ PUT - Group Trunk Group + +Updates trunk group (TG) information. + +### Parameters + +* service\_provider\_id (str): Service provider ID where the target group is built +* group\_id (str): Group ID whose trunk group call capacity needs updating +* trunk\_group\_name (str): The name of the trunk group that is being updated. +* updates (dict): Updates to be applied to the TG. + +### Returns + +* Dict: Returns the updated Trunk Group profile. + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.group_trunk_group( + my_service_provider_id = "ServiceProviderID", + my_group_id = "GroupID", + my_trunk_group = "Odin Test Trunk + updates = { + "maxActiveCalls": 1, + "maxIncomingCalls": 0, + "maxOutgoingCalls": 0, + "enableBursting": false + } +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "maxActiveCalls": 1, + "maxIncomingCalls": 0, + "maxOutgoingCalls": 0, + "enableBursting": False, + "capacityExceededTrapInitialCalls": 0, + "capacityExceededTrapOffsetCalls": 0, + "invitationTimeout": 6, + "requireAuthentication": False, + "allowTerminationToTrunkGroupIdentity": False, + "allowTerminationToDtgIdentity": False, + "includeTrunkGroupIdentity": False, + "includeDtgIdentity": False, + "includeTrunkGroupIdentityForNetworkCalls": False, + "includeOtgIdentityForNetworkCalls": False, + "enableNetworkAddressIdentity": False, + "allowUnscreenedCalls": False, + "allowUnscreenedEmergencyCalls": False, + "pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls", + "pilotUserChargeNumberPolicy": "No Calls", + "routeToPeeringDomain": False, + "prefixEnabled": False, + "statefulReroutingEnabled": False, + "sendContinuousOptionsMessage": False, + "continuousOptionsSendingIntervalSeconds": 30, + "failureOptionsSendingIntervalSeconds": 10, + "failureThresholdCounter": 1, + "successThresholdCounter": 1, + "inviteFailureThresholdCounter": 1, + "inviteFailureThresholdWindowSeconds": 30, + "trunkGroupState": "Available", + "pilotUserCallingLineAssertedIdentityPolicy": "Unscreened Originating Calls", + "useSystemCallingLineAssertedIdentityPolicy": True, + "totalActiveIncomingCalls": 0, + "totalActiveOutgoingCalls": 0, + "pilotUserCallOptimizationPolicy": "Optimize For User Services", + "clidSourceForScreenedCallsPolicy": "Profile Name Profile Number", + "useSystemCLIDSourceForScreenedCallsPolicy": True, + "userLookupPolicy": "Basic", + "useSystemUserLookupPolicy": True, + "pilotUserCallingLineIdentityForEmergencyCallsPolicy": "No Calls", + "implicitRegistrationSetSupportPolicy": "Disabled", + "useSystemImplicitRegistrationSetSupportPolicy": True, + "sipIdentityForPilotAndProxyTrunkModesPolicy": "User", + "useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy": True, + "useSystemSupportConnectedIdentityPolicy": True, + "supportConnectedIdentityPolicy": "Disabled", + "useSystemOptionsMessageResponseStatusCodes": True, + "serviceProviderId": "ServiceProviderID", + "groupId": "GroupID", + "name": "Odin Test Trunk", + "users": [] +} + +``` diff --git a/docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md b/docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md new file mode 100644 index 0000000..0551b5e --- /dev/null +++ b/docs/docs/methods/trunk-groups/put-service-providers-trunk-group-call-capacity.md @@ -0,0 +1,46 @@ +--- +description: api.put.service_provider_trunk_group_call_capacity() +--- + +# 🚿 PUT - Service Provider Trunk Group Call Capacity + +Updates the max active calls and the bursting max active calls for the given service provider. + +### Parameters + +* service\_provider\_id (str): Service provider ID for which the max active calls needs to be updated +* updates (dict): The updates to be applied to the service provider's trunking call capacity + +### Returns + +* Dict: Returns the updated call capacity for the service provider + +### How To Use: + +{% code overflow="wrap" %} +```python +from odins_spear import api + +my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1") +my_api.authenticate() + +my_api.put.service_provider_trunk_group_call_capacity( + my_service_provider_id = "ServiceProviderID", + updates = { + "maxActiveCalls": 30, + "burstingMaxActiveCalls": -1 + } +) +``` +{% endcode %} + +### Example Data Returned (Formatted) + +```json +{ + "serviceProviderId": "odin.mock.clone.ent1", + "maxActiveCalls": 10, + "burstingMaxActiveCalls": 10, + "numberOfBurstingBTLUs": 0 +} +```