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:
Status Codes:

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 false

Note

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: