MS Teams
MS Teams tenants are linked to subscriptions on the Fusion platform in a one to one relation. A MS Teams tenant should be provided through the onboarding process. This section lists all API's that are related to MS Teams tenants.
Check MS Teams tenant status
This endpoint gives information about the MS Teams tenant status. It checks the existence and validity of powershell and MS Graph integrations and of a Fusion valid domain.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/status
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.status.read
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams administrator |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams tenant has been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams tenant found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
msTenantId | string | MS Teams tenant ID as found on MS Azure AD | no |
mode | string | Onboarding mode of the MS Teams tenant, might be direct_routing or operator_connect | no |
status | string | Current status of the MS Teams tenant as seen on Fusion | no |
msApplicationId | string | Application (client) ID as seen in MS Azure AD | yes |
domain | object | Gives information about the registered Fusion domain and its verified state. Not returned if no domain is configured yet | yes |
powershell | object | Gives information about the status of the powershell integration | no |
msGraph | object | Gives information about the status of the MS Graph application integration | no |
About status
In case the MS Teams tenant has been linked to the corresponding DraaS subscription, the returned status will be onboarded
. If no MS Teams tenant has been linked to the corresponding subscription, the status will be not_initiated
. All other status refer to the ongoing step of onboarding process.
Example
{
"msTenantId": "27b418d0-b197-483d-a0b8-da90407a92c4",
"mode": "direct_routing",
"msApplicationId": "cdfd967f-6a92-4234-808a-5dd2047dc61a",
"status": "onboarded",
"powershell": {
"active": true
},
"msGraph": {
"active": true
},
"domain": {
"name": "netaxis-dev.teams.cloudnettest.services",
"verified": true
}
}
Get a MS Teams administrator
This endpoint gives information about the MS Teams administrator if one has been created for the subscription.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/admins
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.admins.read
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams administrator |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams administrator has been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams administrator found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Index of the MS Teams administrator | no |
msUsername | string | Username of the MS Teams administrator | no |
Example
{
"id": 20,
"msUsername": "john.doe@netaxis.onmicrosoft.com"
}
Create or Update a MS Teams administrator
Create a MS Teams administrator for the subscription or update if it already exists.
Request
Endpoint
POST
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/admins
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.admins.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
msUsername | string | Username of the MS Teams administrator | yes |
msPassword | string | Password of the MS Teams administrator | yes |
Example
{
"msUsername": "john.doe@netaxis.onmicrosoft.com",
"msPassword": "VerySecretPassword"
}
Response
Status codes
Parameter | Description |
---|---|
200 | The MS Teams administrator was created successfully |
400 | Error while creating the MS Teams administrator |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Index of the created MS Teams administrator | no |
Example
{
"id": 20
}
Delete a MS Teams administrator
Deletes the MS Teams administrator for the subscription.
Request
Endpoint
DELETE
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/admins
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.admins.delete
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to delete the MS Teams administrator |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | The MS Teams administrator was deleted successfully |
204 | The MS Teams administrator didn't exist, no body is then returned |
400 | Error while deleting the MS Teams administrator |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional |
---|---|---|---|
id | integer | Index of the MS Teams administrator | yes |
msUsername | string | Username of the MS Teams administrator | yes |
Example
{
"id": 20,
"msUsername": "john.doe@netaxis.onmicrosoft.com"
}
Get the complete MS Teams users list
This endpoint lists all active users from a MS Teams tenant. The MS Teams data is enriched with Fusion data if a user is voice enabled and have a phone number assigned.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users
Infinite scrolling vs simple pagination
This API differs from other API's in the way it is paginated. This is due to how Microsoft Graph integration presents results for its users API. Here, we don't know on beforehand the total numbers of records and we cannot directly jump to a specific page. Instead, we get the defined number of records and get a continuation token if there are more. This token has to be used in the next call to fetch following available records. When the last page of records has been reached, no continuation token is available anymore. This may be used by an infinite scrolling component to display records and fetch next ones as the user scrolls down the list.
A caution on the use of the next token
When using the next
token to fetch subsequent records, it is important to use the same page_size
and search
values used on the query that has returned the token. A token sent back by Microsoft Graph integeration is only valid in this specific context. Changing some parameters while using the returned next
token will fail next search. If you want to perform a new query, discard the latest received next
token.
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.list
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams administrator |
URL/Query parameters
Parameter | Type | Description | Required? |
---|---|---|---|
page_size | integer | Used for pagination, determines the maximum number of records on one page of results (defaults to 10) | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
search | string | A case insensitive search on the displayName (that starts with the passed value) | no |
group | string | A group UUID as returned by this API, used to filter the users belonging to this group only | no |
refresh | boolean | Used to refresh users' phone numbers from MS Teams. This operation will run on background. | no |
filters | array | An object representing the conditions to filter out the results. For supported filters see MS Users Filters | no |
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams users have been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams user found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of users has to be continued | yes |
users | array | A list of user objects with their assigned licenses and enriched with Fusion data if any | no |
Example
{
"next": "RFNwdAoAAQAAAAAAAAAAFAAAAKjVyoqLxNlBtsHxKUuhaFYBAAAAAAAAAAAAAAAAAAAXMS4yLjg0MC4xMTM1NTYuMS40LjIzMzEGAAAAAAAB1Kb5zKwLv0m1qYbrTc_qVgFPAAAAAQAAAAA",
"users": [
{
"msTeams": {
"id": "2da785f7-3454-4bfe-9f30-4f368eb9db58",
"userPrincipalName": "thomas.anderson@netaxisdev.onmicrosoft.com",
"displayName": "Thomas Anderson",
"location": "NL",
"licenses": [
{
"skuId": "295a8eb0-f78d-45c7-8b5b-1eed5ed02dff",
"skuPartNumber": "MCOCAP"
},
{
"skuId": "18181a46-0d4e-45cd-891e-60aabd171b4e",
"skuPartNumber": "STANDARDPACK"
}
],
"roles": [
{
"id": "62e90394-69f5-4237-9190-012177145e10",
"displayName": "Global Administrator"
}
]
"voiceEnabled": "yes"
},
"draas": {
"id": 11,
"connectionId": 8,
"customerLicenses": [
"test-sku"
],
"numberId": 441,
"phoneNumber": "+31302861233",
"status": "active"
}
},
{
"msTeams": {
"id": "47502fc5-d254-4e9b-a715-6619706da506",
"userPrincipalName": "john.doe@netaxisdev.onmicrosoft.com",
"displayName": "John Doe",
"location": "BE",
"voiceEnabled": "no"
}
}
]
}
Get a single MS Teams user
This endpoint retrieves a specific user from a MS Teams tenant. The MS Teams data is enriched with Fusion data if a user is voice enabled and have a phone number assigned.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/user/{ms_user_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.read
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams user has been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams user found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
msTeams | object | MS Teams user properties as described by a MS Teams user object | no |
draas | object | Fusion user properties as described by a Fusion user object | yes |
Product names and service plan identifiers for licensing
This Microsoft product names page lists the most commonly used Microsoft online service products and provides their various ID values. When managing licenses in the Azure portal or the Microsoft 365 admin center, you see product names that look something like Office 365 E3
. When you use PowerShell v1.0 cmdlets, the same product is identified using a specific but less friendly name: ENTERPRISEPACK
. When using PowerShell v2.0 cmdlets or Microsoft Graph, the same product is identified using a GUID value: 6fd2c87f-b296-42f0-b197-1e91e994b900
.
Example
{
"msTeams": {
"id": "2da785f7-3454-4bfe-9f30-4f368eb9db58",
"userPrincipalName": "thomas.anderson@netaxisdev.onmicrosoft.com",
"displayName": "Thomas Anderson",
"groups": [
{
"displayName": "vm-bc-jp-tky-0042-adi",
"id": "e54f3c3f-d705-451d-96ff-7fbe7ff15e1e"
}
],
"location": "NL",
"licenses": [
{
"skuId": "295a8eb0-f78d-45c7-8b5b-1eed5ed02dff",
"skuPartNumber": "MCOCAP"
},
{
"skuId": "18181a46-0d4e-45cd-891e-60aabd171b4e",
"skuPartNumber": "STANDARDPACK"
}
],
"voiceEnabled": "yes",
"vrp": "World-DRaaS"
},
"draas": {
"id": 11,
"connectionId": 8,
"customerLicenses": [
"test-sku"
],
"numberId": 441,
"phoneNumber": "+31302861233",
"status": "active"
}
}
Checks if a MS Teams user is voice enabled
Checks an active MS Teams user to see if it is eligible to voice services on Fusion. This service may be used if it is not possible based on current services subscription list of the MS Teams user to determine if it is the case or not.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/check
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.check
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | The MS Teams user eligibility has been determined |
400 | Error while checking the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
voiceEnabled | boolean | Flag returning the eligibility of the MS Teams user | no |
Example
{
"voiceEnabled": true
}
Update MS Teams user
Update MS Teams User properties and enables or disables an active MS Teams user for direct routing voice services on Fusion. Note that to enable a MS Teams user on Fusion, the requesting tenant has to hold a valid subscription with some free phone numbers assigned to it. Trying to enable a MS Teams user with an already linked phone number will result in an error.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
displayName | string | MS Teams Azure AD name | no |
location | string | Country code in ISO 3166 alpha-2 format | no |
phoneNumber | string or null | Phone number to be assigned to the MS Teams user. Set to null to disable voice service and free previously assigned phone number | no |
groups | array | A list of MS Groups Object ID you want to add to the user. Set to null to remove it from all groups | no |
vrp | string | The name of the Voice Routing Policy you want to set, null to disable it. | no |
licenses | array | A list of MS Licenses Object ID you want to assign to the user. Set to null to remove all licenses | no |
customerLicenses | array | A list of Customer Licenses you want to assign to the user. Set to empty array to remove all licenses | no |
Example
{
"displayName": "John Doe",
"location": "NL",
"phoneNumber": "+31302861233",
"groups": [
"e54f3c3f-d705-451d-96ff-7fbe7ff15e1e",
"917ad8c5-8ca6-480b-9a81-045846ba0892"
],
"vrp": "World-DRaaS",
"licenses": [
"18181a46-0d4e-45cd-891e-60aabd171b4e"
],
"customerLicenses": [
"test-sku"
]
}
Response
Status codes
Parameter | Description |
---|---|
200 | The MS Teams user was successfully enabled |
204 | The MS Teams user was successfully disabled |
400 | Error while enabling the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Bulk update MS Teams users
Bulk update MS Teams User properties on Fusion.
Note that not existing MS Teams users on Fusion will be created.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/bulk
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.bulk
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
name | string | Bulk job descriptive name | yes |
data | array | List of MS Teams user objects to be updated | yes |
Example
{
"name": "Bulk update",
"data": [
{
"upn": "test1@netaxisdev.onmicrosoft.com",
"displayName": "bulk test 1",
"number": "+3212345669",
"country": "BE",
"vrp": "Global",
"groups": [
"Security",
"All"
],
"licenses": [
"BusinessPack"
],
"customerLicenses": [
"Call-Bundle"
]
},
{
"upn": "test2@netaxisdev.onmicrosoft.com",
"displayName": "bulk test 2",
"number": null,
"template": "BE-Test"
}
]
}
Response
Status codes
Parameter | Description |
---|---|
200 | All MS Teams users were successfully updated |
207 | Some of MS Teams users were successfully updated |
400 | None of MS Teams users were successfully updated |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
message | string | Descriptive message | no |
details | array | List of MS Teams user update responses | no |
errors | array | List of MS Teams user update errors (not present in case of full success) | yes |
Success example
{
"details": [
{
"details": {},
"upn": "test1@netaxisdev.onmicrosoft.com"
},
{
"details": {},
"upn": "test2@netaxisdev.onmicrosoft.com"
}
],
"message": "Success"
}
Partial success example
{
"details": [
{
"details": {},
"upn": "test1@netaxisdev.onmicrosoft.com"
},
{
"error": {
"code": 2095,
"reason": "The template does not exist"
},
"upn": "test2@netaxisdev.onmicrosoft.com"
}
],
"errors": [
{
"error": {
"code": 2095,
"reason": "The template does not exist"
},
"upn": "test2@netaxisdev.onmicrosoft.com"
}
],
"message": "Some errors detected"
}
Update MS Teams user groups
Update MS Teams user groups.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/groups
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.groups.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
groups | array | A list of MS Groups Object ID you want to add to the user. Set to an empty array to remove all groups. | yes |
Example
{
"groups": [
"e54f3c3f-d705-451d-96ff-7fbe7ff15e1e",
"917ad8c5-8ca6-480b-9a81-045846ba0892"
]
}
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user groups were successfully updated |
400 | Error while enabling the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Update MS Teams user licenses
Update MS Teams user licenses.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/licenses
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.licenses.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
licenses | array | A list of MS Licenses Object ID you want to assign to the user. Set to an empty array to remove all licenses | yes |
Example
{
"licenses": [
"18181a46-0d4e-45cd-891e-60aabd171b4e"
]
}
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user licenses were successfully updated |
400 | Error while enabling the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Update MS Teams user phone number
Update MS Teams user phone number.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/phone_number
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.phone_number.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
phoneNumber | string or null | Phone number to be assigned to the MS Teams user. Set to null to disable voice service and free previously assigned phone number. | yes |
Example
{
"phoneNumber": "+31302861233"
}
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user phone number was successfully updated |
400 | Error while enabling the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Update MS Teams user VRP
Update MS Teams user VRP.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/vrp
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.vrp.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
vrp | string or null | The name of the Voice Routing Policy you want to set. Set to null to disable it. | yes |
Example
{
"vrp": "World-DRaaS"
}
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user vrp was successfully updated |
400 | Error while enabling the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Get the complete MS Teams resource accounts list
This endpoint lists all active resource accounts from a MS Teams tenant. The MS Teams data is enriched with Fusion data if a resource account has been assigned a phone number.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/resource_accounts
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.resource_accounts.list
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams administrator |
URL/Query parameters
Parameter | Type | Description | Required? |
---|---|---|---|
refresh | boolean | Used to refresh users' phone numbers from MS Teams. This operation will run on background. | no |
filters | array | An object representing the conditions to filter out the results. For supported filters see MS Resource Accounts Filters | no |
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams resource accounts have been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams resource account found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
resourceAccounts | array | A list of resource account objects with their assigned licenses, location, phone number and enriched with Fusion data if any | no |
Example
{
"resourceAccounts": [
{
"msTeams": {
"id": "a43939f1-a4c6-4412-b6e3-23365d720129",
"userPrincipalName": "my_call_queue@netaxisdev.onmicrosoft.com",
"displayName": "My First Call Queue",
"location": "BE",
"phoneNumber": "+3225405239",
"accountType": "call-queue",
"licenses": [
{
"skuId": "440eaaa8-b3e0-484b-a8be-62870b9ba70a",
"skuPartNumber": "PHONESYSTEM_VIRTUALUSER"
}
]
},
"draas": {
"id": 117,
"connectionId": 189,
"customerLicenses": [
"test-sku"
],
"numberId": 44,
"phoneNumber": "+3225405239",
"status": "active"
}
},
{
"msTeams": {
"id": "260658ad-b6f9-4fb8-a365-69d862fd450d",
"userPrincipalName": "my_auto_attendant@netaxisdev.onmicrosoft.com",
"displayName": "My First Auto Attendant",
"location": "NL",
"accountType": "auto-attendant",
"licenses": [
{
"skuId": "440eaaa8-b3e0-484b-a8be-62870b9ba70a",
"skuPartNumber": "PHONESYSTEM_VIRTUALUSER"
}
]
}
}
]
}
Create a MS Teams resource account
Creates a MS Teams resource account, with or without an associated phone number. Note that to assign a phone number to the resource account, the requesting tenant has to hold a valid subscription with some free phone numbers assigned to it. It will also need some (free) MICROSOFT 365 PHONE SYSTEM - VIRTUAL USER
licenses available. Trying to assign an already linked phone number (to a user or another resource account) will result in an error.
Asynchronous processes
Due to the asynchronous nature of Microsoft creation and updating processes, this API returns an intermediate status. Use the list API to get final status.
Request
Endpoint
POST
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/resource_accounts
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.resource_accounts.create
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
accountType | string | MS Teams resource account type, can take two distinct values: call-queue or auto-attendant | yes |
userPrincipalName | string | MS Teams Azure AD resource account principal name | yes |
displayName | string | MS Teams Azure AD name | yes |
location | string | Country code in ISO 3166 alpha-2 format | yes |
phoneNumber | string | Phone number to be assigned to the MS Teams resource account | no |
customerLicenses | array | A list of Customer Licenses you want to assign to the user. Set to empty array to remove all licenses | no |
Example
{
"accountType": "call-queue",
"userPrincipalName": "my_call_queue@netaxisdev.onmicrosoft.com",
"displayName": "My First Call Queue",
"location": "BE",
"phoneNumber": "+3225405239"
}
Response
Status codes
Parameter | Description |
---|---|
200 | The MS Teams resource account was successfully created |
400 | Error while creating the MS Teams resource account |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Internal ID of the MS Teams resource account (same table as users) in Fusion | no |
Example
{
"id": 122
}
Modify a MS Teams resource account
Modifies a MS Teams resource account. By using this endpoint, you can modify the display name, the resource account type or the location. You can also change the associated phone number, add or remove the existing one.
Asynchronous processes
Due to the asynchronous nature of Microsoft creation and updating processes, this API returns an intermediate status. Use the list API to get final status.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/resource_accounts/{resource_account_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.resource_accounts.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
resource_account_id | string | MS Teams Azure AD Object ID identifying the resource account |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
accountType | string | MS Teams resource account type, can take two distinct values: call-queue or auto-attendant | no |
displayName | string | MS Teams Azure AD name | no |
location | string | Country code in ISO 3166 alpha-2 format | no |
phoneNumber | string or null | Phone number to be assigned to the MS Teams resource account, you may use value null if you want to remove the phone number | no |
vrp | string or null | The Voice Routing Policy to be assigned to the MS Teams resource account, you may use value null if you want to remove the voice routing policy | no |
customerLicenses | array | A list of Customer Licenses you want to assign to the user. Set to empty array to remove all licenses | no |
Example
{
"accountType": "call-queue",
"displayName": "A Modified Call Queue",
"location": "NL",
"phoneNumber": "+31302004498",
"vrp": "World-DRaaS",
}
Response
Status codes
Parameter | Description |
---|---|
200 | The MS Teams resource account was successfully modified |
400 | Error while modifying the MS Teams resource account |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Internal ID of the MS Teams resource account (same table as users) in Fusion | no |
Example
{
"id": 141
}
Delete an existing MS Teams resource account
Deletes a MS Teams resource account. This includes releasing the free MS Teams license, the phone number if one was assigned and the assigned customer licenses.
Request
Endpoint
DELETE
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/resource_accounts/{resource_account_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.resource_accounts.instance.delete
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
resource_account_id | string | MS Teams Azure AD Object ID identifying the resource account |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams resource account was successfully deleted or not found |
400 | Error while deleting the MS Teams resource account |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Get the list of verified domains
This endpoint lists all verified domains for the MS Teams tenant linked to the subscription.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/domains
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.domains.list
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams verified domains |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams verified domains have been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams user found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
verifiedDomains | array | The list of verified domains for the MS Teams tenant | no |
Example
{
"verifiedDomains": [
"netaxistest.onmicrosoft.com",
"netaxis-test.teams.cloudnettest.services"
]
}
Get the list of licenses
This endpoint lists all Microsoft licenses that have been purchased for the MS Teams tenant linked to the subscription. Only licenses relevant to a user are listed, other kind of licenses are not shown by this API call.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/licenses
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.licenses.list
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams verified domains |
URL/Query parameters
Parameter | Type | Description | Required? |
---|---|---|---|
free_only | string | When set to yes the API will return only the licenses that have at leat one free license. Defaults to no | no |
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams licenses have been found or not |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams user found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
licenses | array | A list of license objects relevant for users purchased for the MS Teams tenant | no |
Example
{
"licenses": [
{
"free": 9998,
"skuDescription": "Microsoft Flow Free",
"skuId": "f30db892-07e9-47e9-837c-80727f46fd3d",
"skuPartNumber": "FLOW_FREE",
"total": 10000
},
{
"free": 6,
"skuDescription": "Microsoft Teams Phone Resoure Account",
"skuId": "440eaaa8-b3e0-484b-a8be-62870b9ba70a",
"skuPartNumber": "PHONESYSTEM_VIRTUALUSER",
"total": 9
},
{
"free": 10000000,
"skuDescription": "Communications Credits",
"skuId": "47794cd0-f0e5-45c5-9033-2eb6b5fc84e0",
"skuPartNumber": "MCOPSTNC",
"total": 10000000
},
{
"free": 1,
"skuDescription": "Office 365 E1",
"skuId": "18181a46-0d4e-45cd-891e-60aabd171b4e",
"skuPartNumber": "STANDARDPACK",
"total": 5
}
]
}
Manage user licenses
Manage user licenses. It must be sent the full list of the licenses (containing the already assigned and the new to be assigned). In case of an already assigned licenses is not sent, that license will be unassigned.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/{ms_user_id}/licenses
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.licenses.instance.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
skuIds | array | List of license IDs to be assigned to the user. | yes |
Example
{
"skuIds": [
"440eaaa8-b3e0-484b-a8be-62870b9ba70a",
"f30db892-07e9-47e9-837c-80727f46fd3d"
]
}
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user was successfully managed |
400 | Error while managing the MS Teams user licenses |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Create MS Teams user
Create a MS Teams user.
Request
Endpoint
POST
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.create
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
displayName | string | MS Teams Azure AD name | yes |
domain | string | MS Teams Azure AD domain | yes |
location | string | Country code in ISO 3166 alpha-2 format | yes |
username | string | MS Teams Azure AD username | yes |
customerLicenses | array | A list of Customer Licenses you want to assign to the user. | no |
NOTE
MS User Principal Name
The fields "username" and "domain" will form the UPN (MS User Principal Name) such as username@domain.
Example
{
"displayName": "Thomas Anderson",
"domain": "netaxissolutions.onmicrosoft.com",
"username": "ThomasA",
"location": "NL",
"customerLicenses": [
"test-sku"
]
}
Response
Status codes
Parameter | Description |
---|---|
201 | The MS Teams user was successfully created |
400 | Error while creating the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
msTeamsId | string | Internal ID of the MS Teams user | no |
Example
{
"msTeamsId": "645474c6-57f2-47b0-b824-1b591cc6873a"
}
Update MS Teams user properties
Update a MS Teams user properties.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/properties
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
displayName | string | MS Teams Azure AD name | no |
location | string | Country code in ISO 3166 alpha-2 format | no |
Example
{
"displayName": "John Doe"
}
{
"location": "BE"
}
{
"displayName": "John Doe",
"location": "BE"
}
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user was successfully updated |
400 | Error while creating the MS Teams user |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Apply a template to a MS Teams user
Update a MS Teams user properties.
Request
Endpoint
PUT
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}/templates/{template_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.template.instance.update
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
template_id | integer | Template ID as returned by this API call |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
override | boolean | Default true. Used in case the template should override or just add the settings | no |
Response
Status codes
Parameter | Description |
---|---|
200 | The template could be completely applied to the MS Teams user |
400 | Error while applying the template. The template was not applied or applied partially |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
before | object | A snapshot of user's properties managed by templating before applying the template | no |
after | object | A snapshot of user's properties managed by templating after applying the template | no |
Example
{
"after": {
"groups": [
"195783c6-c95a-4f74-9efe-352693ddf56d",
"d4dee5ce-d8d5-44af-8cd3-7d8dcaefb65b"
],
"licenses": [
"295a8eb0-f78d-45c7-8b5b-1eed5ed02dff",
"18181a46-0d4e-45cd-891e-60aabd171b4e"
],
"location": "ES",
"vrp": "World-DRaaS"
},
"before": {
"groups": [],
"licenses": [],
"location": "BE",
"vrp": "Global"
}
}
Delete MS Teams user
Delete a MS Teams user.
Request
Endpoint
DELETE
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/{ms_user_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.delete
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
Parameter | Description |
---|---|
204 | The MS Teams user was successfully deleted |
400 | Error while managing the MS Teams user licenses |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Get the available Voice Routing Policies of a MS Teams tenant
This endpoint gives information about all available Voice Routing Policies available for a given MS Teams tenant.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/vrps
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.vrps.read
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams voice routing policy |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams administrator has been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams administrator found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
description | string | Name of the voice routing policy | no |
identity | string | Reference to be used when assigning the voice routing policy to a user | no |
Example
{
"results": [
{
"description": "Global",
"identity": "Global"
},
{
"description": "International",
"identity": "International"
},
{
"description": "Italy",
"identity": "Italy"
},
{
"description": "Netaxis",
"identity": "Netaxis"
},
{
"description": "World-DRaaS",
"identity": "World-DRaaS"
}
]
}
Get the list of groups of a MS Teams tenant
This endpoint gives information about the groups of a given MS Teams tenant. It lists all existing Office 365 groups and give an indication if the group is also created as MS Teams group. It is also used to get the SRE groups filter used to narrow down the list of users that make part of the saved SRE groups filter. This filter is implemented by using this endpoint
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/groups
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.groups.read
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams groups |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | MS Teams administrator has been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams administrator found or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
description | string | The description of the Group | no |
displayName | string | The display name of the Group | no |
id | string | ID of the Group | no |
teamsEnabled | boolean | true if the group is also a MS Teams group | no |
filter | boolean | true if the group is implemented in the SRE filter | no |
orphan | boolean | true if the group is in SRE group filter but has no match in Office 365 anymore | no |
Example
{
"groups": [
{
"description": "All Company",
"displayName": "All Company",
"filter": true,
"id": "00192dff-7c1a-4147-9fc1-c2d26422cbd0",
"teamsEnabled": false
},
{
"description": "Wiki, tip and tricks with Oracle SBC",
"displayName": "SBC Oracle",
"filter": true,
"id": "29016d35-b274-4fc6-847c-278fbf2696aa",
"teamsEnabled": true
},
{
"description": "Share documents on MTN Group projects",
"displayName": "MTN-Group",
"filter": true,
"id": "94af6143-46a7-4a37-8b03-e6480cfec337",
"teamsEnabled": false
},
{
"description": "Check here for organisation announcements and important info.",
"displayName": "Netaxis Solutions S.A.",
"filter": true,
"id": "af0d48e0-f9f7-4e9b-8854-75524d65241a",
"teamsEnabled": true
},
{
"description": "Test for sharing with non-netaxis people",
"displayName": "Test Share External",
"filter": true,
"id": "b1a0ba74-a17e-487c-95c6-a3ac5d984155",
"teamsEnabled": false
},
{
"displayName": "This filter is orphan",
"id": "499ce848-8b9b-4d14-8e99-90ee50ea150b",
"orphan": true
}
]
}
Create a group filter from a list of a MS Teams groups
Create a SRE group filter for a given MS Teams Subscription. The list of users that will be presented will the be restricted to the ones that are belonging to this group filter. Note that this API is in a "delete and recreate" mode, meaning that you have to post the complete filter everytime you use it. For instance, if you want to delete a group from a list of 5 existing ones, you will have to post the 4 remaining groups.
Request
Endpoint
POST
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/groups
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.groups.create
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams groups |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
groups | array | A list of group objects to be created | yes |
Example
{
"groups": [
{
"id": "444ce848-8b9b-4d14-8e99-90ee50ea150b",
"displayName": "Group Test"
},
{
"id": "461fr875-5g6r-5bp01-8h51-68fe90gs182j",
"displayName": "Group Test 2"
}
]
}
Response
Status codes
Parameter | Description |
---|---|
204 | The Group of the MS Teams Subscription was created successfully |
400 | Error while creating the Group of the MS Teams Subscription |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Get the sip address of a MS Teams user
This endpoint retrieves the sip address of a MS Teams user.
Request
Endpoint
GET
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/users/{ms_user_id}/sip_address
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.instance.sip_address.read
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to create or update the MS Teams administrator |
ms_user_id | string | MS Teams Azure AD Object ID identifying the user |
URL/Query parameters
N/A
Response
Status codes
Parameter | Description |
---|---|
200 | The sip address of a MS Teams user has been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No MS Teams administrator found or the path tenant / subscription doesn't exist / MS Teams User doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
sipAddress | string | The sip address of the MS Teams user | no |
Example
{
"sipAddress": "sip:sipAddress@msteams.com"
}
Synchronization of the MSTeams Users' phone numbers
Synchronization of the MSTeams Users' phone numbers for a given MS Teams Subscription.
Request
Endpoint
POST
/api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/sync
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.sync
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription for which you want to get the MS Teams groups |
URL/Query parameters
N/A
Body
Parameter | Type | Description | Required |
---|---|---|---|
type | string | The type of users to be synchronized. Possible values are:
| yes |
Example
{
"type": "normal"
}
Response
Status codes
Parameter | Description |
---|---|
200 | The synchronization of MSTeams users' phone numbers of the MS Teams Subscription was done successfully |
400 | Error while synchronizing the MSTeams users' phone numbers of the MS Teams Subscription |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
msteams_user_ids | array | A list of msteams sync users objects that has been synchronized | no |
{
"msteams_user_ids": [
{
"id": "927af5d9-8b79-4206-8143-c1f8bb0fc602",
"status": "syncing"
}
]
}
Get bulk jobs history
Retrieve the history of MS Teams user update bulk jobs runs related to the given subscription.
Request
Endpoint
GET
/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/bulk
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.bulk.jobs
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription to retrieve the MS Teams user update bulk jobs history for |
URL/Query parameters
Parameter | Type | Description | Required |
---|---|---|---|
page_size | integer | Used for pagination, determines the maximum number of records on one page of results (defaults to 10) | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
search | string | A case insensitive search on the bulk job title or kind (that contains the passed value) | no |
filters | array | An object representing the conditions to filter out the results | no |
Response
Status codes
Parameter | Description |
---|---|
200 | The list of the bulk jobs has been retrieved |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No bulk history found or the path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
bulks | array | The list of the bulk MS Teams user update jobs related to the given subscription_id | no |
results | integer | Total number of bulk jobs retrieved | no |
pages | integer | Total number of pages | no |
page | integer | Current page | no |
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of bulk jobs has to be continued | yes |
Example
{
"bulks": [
{
"id": 43,
"job_id": "1722944248",
"kind": "ms_users",
"title": "Bulk test all fail",
"created_on": "2024-08-06T11:37:28.280607",
"updated_on": "2024-08-06T11:37:28.280607"
},
{
"id": 42,
"job_id": "1722601865",
"kind": "ms_users",
"title": "Bulk test partial",
"created_on": "2024-08-02T12:31:05.856955",
"updated_on": "2024-08-02T12:31:05.856955"
},
"page": 1,
"pages": 1,
"results": 2
}
Get bulk job details
Retrieve the details of the given MS Teams user update bulk job as a list of single user update request results (plus some summary information).
Request
Endpoint
GET
/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/msteams/users/bulk/{bulk_id}
Authorization
Required role
tenants.instance.subscriptions.instance.msteams.users.bulk.jobs.details
Path Parameters
Parameter | Type | Description |
---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
sub_id | integer | Index of a subscription to retrieve the MS Teams user update bulk job details for |
bulk_id | integer | Index of the MS Teams user update bulk job to retrieve details for |
Response
Status codes
Parameter | Description |
---|---|
200 | The details of the bulk job have been successfully retrieved |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No bulk history found or the path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Success
Body
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Database ID | no |
job_id | string | MS Teams user update bulk job unique ID | no |
title | string | Bulk MS Teams user update job title | no |
kind | string | Bulk MS Teams user update job type (one among ms_users and ms_resource_accounts ) | no |
status | string | Global bulk job status (success | partial |
total_count | integer | Total number of bulk job items | no |
success_count | integer | Total number of pages | no |
job_items | array | The list of bulk MS Teams user update job details related to the given bulk_id | no |
created_on | string | Creation date and time | no |
updated_on | string | Last modification date date and time | no |
Example
{
"id": 42,
"job_id": 1722601865,
"title": "Bulk test partial",
"kind": "ms_users",
"status": "partial",
"total_count": 2,
"success_count": 1,
"job_items": [
{
"id": 32,
"upn": "test1@netaxisdev.onmicrosoft.com",
"data": {
"country": "BE",
"displayName": "bulk test 1",
"groups": [
"Security",
"All"
],
"licenses": [
"BusinessPack"
],
"number": "+3212345669",
"upn": "test1@netaxisdev.onmicrosoft.com",
"vrp": "Global"
},
"status": "success",
"created_on": "2024-08-02T12:31:14.812544",
"updated_on": "2024-08-02T12:31:14.812544",
},
{
"id": 33,
"upn": "test2@netaxisdev.onmicrosoft.com",
"data": {
"country": "IT",
"displayName": "bulk test 2",
"number": null,
"template": "BE-Best",
"upn": "test2@netaxisdev.onmicrosoft.com"
},
"status": "error",
"created_on": "2024-08-02T12:31:14.813483",
"updated_on": "2024-08-02T12:31:14.813483"
}
],
"updated_on": "2024-08-08T08:48:54.905978",
"created_on": "2024-08-02T12:31:05.856955"
}
Group Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | Unique ID of the Group as found in Azure AD | no |
displayName | string | The display name of the Group | no |
User Properties Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
location | string | Country code in ISO 3166 alpha-2 format | no |
vrp | string | Voice routing policy | no |
groups | array | A list of MS groups id as returned by this API call | no |
licenses | array | A list of MS licenses skuId as returned by this API call | no |
License Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
skuId | string | GUID of the Microsoft license | no |
skuPartNumber | string | String ID of the Microsoft license | no |
skuDescription | string | Human understandable description of the Microsoft license. This value is taken out of a static local call and only available in English. If no description could be found, the skuPartNumber is re-issued | no |
total | integer | Total number of this license that has been purchased | no |
free | integer | Unused amount of this license that is still free for user assignation | no |
Powershell Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
active | boolean | State of the powershell integration, true if enabled, false otherwise | no |
MS Graph Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
active | boolean | State of the MS Graph application, true if the application is enabled, false otherwise | no |
Domain Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
name | string | Domain created for Fusion integration on MS O365 | no |
verified | boolean | State of the domain as verified by Microsoft, true if verified, false otherwise | no |
User Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
msTeams | object | MS Teams user properties as described by a MS Teams user object | no |
draas | object | Fusion user properties as described by a Fusion user object | yes |
MS Teams User Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | MS Teams Azure AD Object ID | no |
userPrincipalName | string | MS Teams Azure AD User Principal Name | no |
displayName | string | MS Teams Azure AD Name | no |
location | string | Country code in ISO 3166 alpha-2 format | yes |
licenses | array | A list of Microsoft licensing objects | yes |
roles | array | A list of Microsoft role objects | yes |
voiceEnabled | string | Gives an indication if MS Teams user may be voice activated. Possible values are:
| no |
Microsoft licensing Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
skuId | string | GUID of the Microsoft license | no |
skuPartNumber | string | String ID of the Microsoft license | no |
Product names and service plan identifiers for licensing
This Microsoft product names page lists the most commonly used Microsoft online service products and provides their various ID values. When managing licenses in the Azure portal or the Microsoft 365 admin center, you see product names that look something like Office 365 E3
. When you use PowerShell v1.0 cmdlets, the same product is identified using a specific but less friendly name: ENTERPRISEPACK
. When using PowerShell v2.0 cmdlets or Microsoft Graph, the same product is identified using a GUID value: 6fd2c87f-b296-42f0-b197-1e91e994b900
.
Microsoft role Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | GUID of the Microsoft role | no |
displayName | string | Display name of the Microsoft role | no |
Fusion User Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Internal ID of the MS Teams user | no |
connectionId | integer | Internal ID of the connection made between the phone number and the MS Teams user | yes |
customerLicenses | array | A list of Customer licenses | no |
numberId | integer | Internal ID of the phone number linked to the MS Teams user | yes |
phoneNumber | string | Phone number assigned to the MS Teams user | yes |
status | string | Indicates whether or not the configured number is synced into Microsoft Teams. Possible values are:
| no |
MS Teams User Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | MS Teams Azure AD Object ID | no |
userPrincipalName | string | MS Teams Azure AD User Principal Name | no |
displayName | string | MS Teams Azure AD Name | no |
groups | array | A list of Microsoft group objects | no |
location | string | Country code in ISO 3166 alpha-2 format | no |
licenses | array | A list of Microsoft licensing objects | no |
voiceEnabled | string | Gives an indication if MS Teams user may be voice activated. Possible values are:
| no |
MS Teams Users Filters
Parameter | Type | Description | Conditional? |
---|---|---|---|
country | array | A list of country codes. (eg. ["BE","UK"] ). | no |
is_voice_enabled | string | Filters on users that are voice enabled or not. Possible values yes , no or maybe . | no |
have_number | string | Filters on users if they are a number assigned or not. Possible values yes or no . | no |
Microsoft group Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | String ID of the Microsoft group | no |
displayName | string | The name of the group | no |
Resource Account Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
msTeams | object | MS Teams resource account properties as described by a MS Teams resource account object | no |
draas | object | Fusion user properties as described by a Fusion user object | yes |
MS Teams Resource Account Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | MS Teams Azure AD Object ID | no |
userPrincipalName | string | MS Teams Azure AD resource account principal name | no |
displayName | string | MS Teams Azure AD name | no |
location | string | Country code in ISO 3166 alpha-2 format | no |
phoneNumber | string | MS Teams resource account phone number | yes |
accountType | string | MS Teams resource account type, can take two distinct values: call-queue or auto-attendant | no |
licenses | array | A list of Microsoft licensing objects | yes |
MS Teams Resource Accounts Filters
Parameter | Type | Description | Conditional? |
---|---|---|---|
country | array | A list of country codes. (eg. ["BE","UK"] ). | no |
have_number | string | Filters on resource accounts if they are a number assigned or not. Possible values yes or no . | no |
type | string | Filters on resource accounts based on the type. Possible values call-queue or auto-attendant . | no |
MSTeams Sync Users Object
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | string | Unique ID of the User as found in Azure AD | no |
status | string | The synchronization status | no |
MS Teams user update response
Parameter | Type | Description | Conditional? |
---|---|---|---|
upn | string | MS Teams Azure AD User Principal Name | no |
details | object | Response details | no |
MS Teams user update error
Parameter | Type | Description | Conditional? |
---|---|---|---|
upn | string | MS Teams Azure AD User Principal Name | no |
error | object | Error details | no |
MS Teams User Bulk Object
Parameter | Type | Description | Required |
---|---|---|---|
upn | string | MS Teams Azure AD User Principal Name | yes |
displayName | string | MS Teams Azure AD display name | yes |
number | string or null | Phone number to be assigned to the MS Teams user. Set to null to disable voice service and free previously assigned phone number | no |
country | string | Country code in ISO 3166 alpha-2 format | no |
vrp | string | The name of the Voice Routing Policy you want to set, null to disable it. | no |
groups | array | A list of MS Groups name you want to add to the user. Set to null to remove it from all groups | no |
licenses | array | A list of MS Licenses name you want to assign to the user. Set to null to remove all licenses | no |
customerLicenses | array | A list of Customer Licenses SKUs you want to assign to the user. Set to null to remove all customerLicenses | no |
template | string | Template name to be used (see templating); if provided country , vrp , groups and licenses will be overridden | no |
Bulk jobs
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Database ID | no |
job_id | string | MS Teams user update bulk job unique ID | no |
kind | string | Bulk MS Teams user update job type (one among ms_users and ms_resource_accounts ) | no |
title | string | Bulk MS Teams user update job title | no |
created_on | string | Creation date and time | no |
updated_on | string | Last modification date date and time | no |
Job details
Parameter | Type | Description | Conditional? |
---|---|---|---|
id | integer | Database ID | no |
upn | string | MS Teams Azure AD User Principal Name | no |
status | string | MS Teams user update request status (success | error ) |
data | array | MS Teams user update data from original request | no |
created_on | string | Creation date and time | no |
updated_on | string | Last modification date date and time | no |