Service Licenses¶
List services licenses available¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/licenses/
¶ List the services licenses available into the group.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/licenses/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "userServices" : [ {"name": "Call Forwarding Always", "allocated": {"unlimited": true}, "inUse": 2}, {"name": "Call Forwarding Busy", "allocated": {"unlimited": false, "maximum": 7}, "inUse": 4}, {"name": "Anonymous Call Rejection", "allocated": {"unlimited": false, "maximum": 0}} ], "groupServices" : [ {"name": "Hunt Group", "allocated": {"unlimited": true, "noInstance" : false}, "inUse": 4}, {"name": "Voice Messaging Group", "allocated": {"unlimited": false, "maximum": 1, "noInstance" : true}, "inUse": 0} ] }
- Response JSON Object:
userServices (array) – A list of services available at user level. See Service License Management List Item.
groupServices (array) – A list of services available at group level. See Service License Management List Item.
servicePacks (array) – A list of service packs (pack of user services) available at group level. See Service License Management List Item.
- Status Codes:
200 OK – no error
Note
The combination of the flag unlimited set to false and the attribute maximum set to 0 means that the service is not licensed to this group.
Update available services licenses¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/licenses/
¶ - Update the services licenses available into the group.It is a partial update meaning that the licenses not mentioned in the PUT request will not be modified.It is also possible to authorize and then auto assign the groupServices to the Group by using the flag auto_assign.
Note
When the flag unlimited is set to false, the attribute maximum is mandatory.To remove the licensing on a service, its maximum is set to 0 with a unlimited set to falseNote
The auto assignation doesn’t not work with provisioning templates.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/licenses/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "userServices" : [ {"name": "Call Forwarding Always", "allocated": {"unlimited": true}} ], "groupServices" : [ {"name": "Hunt Group", "allocated": {"unlimited": false, "maximum": 5}} ], "servicePacks" : [ {"name": "Basic CFx", "allocated": {"unlimited": false, "maximum": 5}} ] }
Example request with auto assign:
PUT /api/v1/tenants/foo/groups/foogroup/licenses/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "userServices" : [ {"name": "Call Forwarding Always", "allocated": {"unlimited": true}} ], "groupServices" : [ {"name": "Hunt Group", "allocated": {"unlimited": false, "maximum": 5}} ], "servicePacks" : [ {"name": "Basic CFx", "allocated": {"unlimited": false, "maximum": 5}} ], "auto_assign": true }
- Request JSON Object:
userServices (object) – (Optional) A list of services at user level for which the licensing information must be changed. See Service License Management List Item.
groupServices (object) – (Optional) A list of services at group level which the licensing information must be changed. See Service License Management List Item.
servicePacks (object) – (Optional) A list of services packs at user level for which the licensing information must be changed. See Service License Management List Item.
auto_assign (boolean) – (Optional) To auto assign the groupServices to the Group.
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "userServices" : [ {"name": "Call Forwarding Always", "status": "updated"} ], "groupServices" : [ {"name": "Hunt Group", "status": "updated"} ], "servicePacks" : [ {"name": "Basic CFx", "status": "updated"} ] }
- Status Codes:
200 OK – request was processed without error
207 Multi Status – request was processed but with some errors
400 Bad Request – request was processed and fully in error