Skip to content

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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams administrator

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200MS Teams tenant has been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams tenant found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
msTenantIdstringMS Teams tenant ID as found on MS Azure ADno
modestringOnboarding mode of the MS Teams tenant, might be direct_routing or operator_connectno
statusstringCurrent status of the MS Teams tenant as seen on Fusionno
msApplicationIdstringApplication (client) ID as seen in MS Azure ADyes
domainobjectGives information about the registered Fusion domain and its verified state. Not returned if no domain is configured yetyes
powershellobjectGives information about the status of the powershell integrationno
msGraphobjectGives information about the status of the MS Graph application integrationno

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
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams administrator

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200MS Teams administrator has been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams administrator found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerIndex of the MS Teams administratorno
msUsernamestringUsername of the MS Teams administratorno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
msUsernamestringUsername of the MS Teams administratoryes
msPasswordstringPassword of the MS Teams administratoryes

Example

json
{
  "msUsername": "john.doe@netaxis.onmicrosoft.com",
  "msPassword": "VerySecretPassword"
}

Response

Status codes

ParameterDescription
200The MS Teams administrator was created successfully
400Error while creating the MS Teams administrator
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerIndex of the created MS Teams administratorno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to delete the MS Teams administrator

URL/Query parameters

N/A

Body

N/A

Response

Status codes

ParameterDescription
200The MS Teams administrator was deleted successfully
204The MS Teams administrator didn't exist, no body is then returned
400Error while deleting the MS Teams administrator
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional
idintegerIndex of the MS Teams administratoryes
msUsernamestringUsername of the MS Teams administratoryes
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams administrator

URL/Query parameters

ParameterTypeDescriptionRequired?
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno
searchstringA case insensitive search on the displayName (that starts with the passed value)no
groupstringA group UUID as returned by this API, used to filter the users belonging to this group onlyno
refreshbooleanUsed to refresh users' phone numbers from MS Teams. This operation will run on background.no
filtersarrayAn object representing the conditions to filter out the results. For supported filters see MS Users Filtersno

Response

Status codes

ParameterDescription
200MS Teams users have been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams user found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
nextstringA 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 continuedyes
usersarrayA list of user objects with their assigned licenses and enriched with Fusion data if anyno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200MS Teams user has been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams user found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
msTeamsobjectMS Teams user properties as described by a MS Teams user objectno
draasobjectFusion user properties as described by a Fusion user objectyes

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
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body

N/A

Response

Status codes

ParameterDescription
200The MS Teams user eligibility has been determined
400Error while checking the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
voiceEnabledbooleanFlag returning the eligibility of the MS Teams userno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
displayNamestringMS Teams Azure AD nameno
locationstringCountry code in ISO 3166 alpha-2 formatno
phoneNumberstring or nullPhone number to be assigned to the MS Teams user. Set to null to disable voice service and free previously assigned phone numberno
groupsarrayA list of MS Groups Object ID you want to add to the user. Set to null to remove it from all groupsno
vrpstringThe name of the Voice Routing Policy you want to set, null to disable it.no
licensesarrayA list of MS Licenses Object ID you want to assign to the user. Set to null to remove all licensesno
customerLicensesarrayA list of Customer Licenses you want to assign to the user. Set to empty array to remove all licensesno

Example

json
{
  "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

ParameterDescription
200The MS Teams user was successfully enabled
204The MS Teams user was successfully disabled
400Error while enabling the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
namestringBulk job descriptive nameyes
dataarrayList of MS Teams user objects to be updatedyes

Example

json
{
  "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

ParameterDescription
200All MS Teams users were successfully updated
207Some of MS Teams users were successfully updated
400None of MS Teams users were successfully updated
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncaught error on server side

Body

ParameterTypeDescriptionConditional?
messagestringDescriptive messageno
detailsarrayList of MS Teams user update responsesno
errorsarrayList of MS Teams user update errors (not present in case of full success)yes
Success example
json
{
  "details": [
    {
      "details": {},
      "upn": "test1@netaxisdev.onmicrosoft.com"
    },
    {
      "details": {},
      "upn": "test2@netaxisdev.onmicrosoft.com"
    }
  ],
  "message": "Success"
}
Partial success example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
groupsarrayA list of MS Groups Object ID you want to add to the user. Set to an empty array to remove all groups.yes

Example

json
{
  "groups": [
    "e54f3c3f-d705-451d-96ff-7fbe7ff15e1e",
    "917ad8c5-8ca6-480b-9a81-045846ba0892"
  ]
}

Response

Status codes

ParameterDescription
204The MS Teams user groups were successfully updated
400Error while enabling the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
licensesarrayA list of MS Licenses Object ID you want to assign to the user. Set to an empty array to remove all licensesyes

Example

json
{
  "licenses": [
    "18181a46-0d4e-45cd-891e-60aabd171b4e"
  ]
}

Response

Status codes

ParameterDescription
204The MS Teams user licenses were successfully updated
400Error while enabling the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
phoneNumberstring or nullPhone number to be assigned to the MS Teams user. Set to null to disable voice service and free previously assigned phone number.yes

Example

json
{
  "phoneNumber": "+31302861233"
}

Response

Status codes

ParameterDescription
204The MS Teams user phone number was successfully updated
400Error while enabling the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
vrpstring or nullThe name of the Voice Routing Policy you want to set. Set to null to disable it.yes

Example

json
{
  "vrp": "World-DRaaS"
}

Response

Status codes

ParameterDescription
204The MS Teams user vrp was successfully updated
400Error while enabling the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams administrator

URL/Query parameters

ParameterTypeDescriptionRequired?
refreshbooleanUsed to refresh users' phone numbers from MS Teams. This operation will run on background.no
filtersarrayAn object representing the conditions to filter out the results. For supported filters see MS Resource Accounts Filtersno

Response

Status codes

ParameterDescription
200MS Teams resource accounts have been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams resource account found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
resourceAccountsarrayA list of resource account objects with their assigned licenses, location, phone number and enriched with Fusion data if anyno
Example
json
{
    "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
accountTypestringMS Teams resource account type, can take two distinct values: call-queue or auto-attendantyes
userPrincipalNamestringMS Teams Azure AD resource account principal nameyes
displayNamestringMS Teams Azure AD nameyes
locationstringCountry code in ISO 3166 alpha-2 formatyes
phoneNumberstringPhone number to be assigned to the MS Teams resource accountno
customerLicensesarrayA list of Customer Licenses you want to assign to the user. Set to empty array to remove all licensesno

Example

json
{
    "accountType": "call-queue",
    "userPrincipalName": "my_call_queue@netaxisdev.onmicrosoft.com",
    "displayName": "My First Call Queue",
    "location": "BE",
    "phoneNumber": "+3225405239"
}

Response

Status codes

ParameterDescription
200The MS Teams resource account was successfully created
400Error while creating the MS Teams resource account
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerInternal ID of the MS Teams resource account (same table as users) in Fusionno
Example
json
{
    "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
resource_account_idstringMS Teams Azure AD Object ID identifying the resource account

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
accountTypestringMS Teams resource account type, can take two distinct values: call-queue or auto-attendantno
displayNamestringMS Teams Azure AD nameno
locationstringCountry code in ISO 3166 alpha-2 formatno
phoneNumberstring or nullPhone number to be assigned to the MS Teams resource account, you may use value nullif you want to remove the phone numberno
vrpstring or nullThe Voice Routing Policy to be assigned to the MS Teams resource account, you may use value nullif you want to remove the voice routing policyno
customerLicensesarrayA list of Customer Licenses you want to assign to the user. Set to empty array to remove all licensesno

Example

json
{
    "accountType": "call-queue",
    "displayName": "A Modified Call Queue",
    "location": "NL",
    "phoneNumber": "+31302004498",
    "vrp": "World-DRaaS",
}

Response

Status codes

ParameterDescription
200The MS Teams resource account was successfully modified
400Error while modifying the MS Teams resource account
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerInternal ID of the MS Teams resource account (same table as users) in Fusionno
Example
json
{
    "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
resource_account_idstringMS Teams Azure AD Object ID identifying the resource account

URL/Query parameters

N/A

Body

N/A

Response

Status codes

ParameterDescription
204The MS Teams resource account was successfully deleted or not found
400Error while deleting the MS Teams resource account
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams verified domains

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200MS Teams verified domains have been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams user found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
verifiedDomainsarrayThe list of verified domains for the MS Teams tenantno
Example
json
{
    "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams verified domains

URL/Query parameters

ParameterTypeDescriptionRequired?
free_onlystringWhen set to yes the API will return only the licenses that have at leat one free license. Defaults to nono

Response

Status codes

ParameterDescription
200MS Teams licenses have been found or not
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams user found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
licensesarrayA list of license objects relevant for users purchased for the MS Teams tenantno
Example
json
{
    "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
skuIdsarrayList of license IDs to be assigned to the user.yes

Example

json
{
    "skuIds": [
        "440eaaa8-b3e0-484b-a8be-62870b9ba70a",
        "f30db892-07e9-47e9-837c-80727f46fd3d"
    ]
}

Response

Status codes

ParameterDescription
204The MS Teams user was successfully managed
400Error while managing the MS Teams user licenses
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
displayNamestringMS Teams Azure AD nameyes
domainstringMS Teams Azure AD domainyes
locationstringCountry code in ISO 3166 alpha-2 formatyes
usernamestringMS Teams Azure AD usernameyes
customerLicensesarrayA 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

json
{
  "displayName": "Thomas Anderson",
  "domain": "netaxissolutions.onmicrosoft.com",
  "username": "ThomasA",
  "location": "NL",
  "customerLicenses": [
    "test-sku"
  ]
}

Response

Status codes

ParameterDescription
201The MS Teams user was successfully created
400Error while creating the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
msTeamsIdstringInternal ID of the MS Teams userno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
displayNamestringMS Teams Azure AD nameno
locationstringCountry code in ISO 3166 alpha-2 formatno

Example

json
{
  "displayName": "John Doe"
}
json
{
  "location": "BE"
}
json
{
  "displayName": "John Doe",
  "location": "BE"
}

Response

Status codes

ParameterDescription
204The MS Teams user was successfully updated
400Error while creating the MS Teams user
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user
template_idintegerTemplate ID as returned by this API call

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
overridebooleanDefault true. Used in case the template should override or just add the settingsno

Response

Status codes

ParameterDescription
200The template could be completely applied to the MS Teams user
400Error while applying the template. The template was not applied or applied partially
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
beforeobjectA snapshot of user's properties managed by templating before applying the templateno
afterobjectA snapshot of user's properties managed by templating after applying the templateno
Example
json
{
    "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Body

N/A

Response

Status codes

ParameterDescription
204The MS Teams user was successfully deleted
400Error while managing the MS Teams user licenses
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams voice routing policy

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200MS Teams administrator has been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams administrator found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
descriptionstringName of the voice routing policyno
identitystringReference to be used when assigning the voice routing policy to a userno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams groups

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200MS Teams administrator has been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams administrator found or the path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
descriptionstringThe description of the Groupno
displayNamestringThe display name of the Groupno
idstringID of the Groupno
teamsEnabledbooleantrue if the group is also a MS Teams groupno
filterbooleantrue if the group is implemented in the SRE filterno
orphanbooleantrue if the group is in SRE group filter but has no match in Office 365 anymoreno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams groups

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
groupsarrayA list of group objects to be createdyes

Example

json
{
  "groups": [
    {
      "id": "444ce848-8b9b-4d14-8e99-90ee50ea150b",
      "displayName": "Group Test"
    },
    {
      "id": "461fr875-5g6r-5bp01-8h51-68fe90gs182j",
      "displayName": "Group Test 2"
    }
  ]
}

Response

Status codes

ParameterDescription
204The Group of the MS Teams Subscription was created successfully
400Error while creating the Group of the MS Teams Subscription
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched 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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to create or update the MS Teams administrator
ms_user_idstringMS Teams Azure AD Object ID identifying the user

URL/Query parameters

N/A

Response

Status codes

ParameterDescription
200The sip address of a MS Teams user has been found
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No MS Teams administrator found or the path tenant / subscription doesn't exist / MS Teams User doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
sipAddressstringThe sip address of the MS Teams userno
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription for which you want to get the MS Teams groups

URL/Query parameters

N/A

Body
ParameterTypeDescriptionRequired
typestringThe type of users to be synchronized. Possible values are:
  • normal,
  • resource_account.
yes

Example

json
{
  "type": "normal"
}

Response

Status codes

ParameterDescription
200The synchronization of MSTeams users' phone numbers of the MS Teams Subscription was done successfully
400Error while synchronizing the MSTeams users' phone numbers of the MS Teams Subscription
403The API consumer doesn't have sufficient rights to perform this action
404The path tenant / subscription doesn't exist
500Uncatched error on server side

Success

Body
ParameterTypeDescriptionConditional?
msteams_user_idsarrayA list of msteams sync users objects that has been synchronizedno
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription to retrieve the MS Teams user update bulk jobs history for

URL/Query parameters

ParameterTypeDescriptionRequired
page_sizeintegerUsed for pagination, determines the maximum number of records on one page of results (defaults to 10)no
nextstringA token used to get the next records in the list. This token is taken back from the results of the previous callno
searchstringA case insensitive search on the bulk job title or kind (that contains the passed value)no
filtersarrayAn object representing the conditions to filter out the resultsno

Response

Status codes

ParameterDescription
200The list of the bulk jobs has been retrieved
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No bulk history found or the path tenant / subscription doesn't exist
500Uncaught error on server side

Success

Body
ParameterTypeDescriptionConditional?
bulksarrayThe list of the bulk MS Teams user update jobs related to the given subscription_idno
resultsintegerTotal number of bulk jobs retrievedno
pagesintegerTotal number of pagesno
pageintegerCurrent pageno
nextstringA 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 continuedyes
Example
json
{
  "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

ParameterTypeDescription
draas_instancestringSee common parameters
uuidstringA system generated unique ID (UUID) identifying the tenant managing the subscription
sub_idintegerIndex of a subscription to retrieve the MS Teams user update bulk job details for
bulk_idintegerIndex of the MS Teams user update bulk job to retrieve details for

Response

Status codes

ParameterDescription
200The details of the bulk job have been successfully retrieved
400Error while processing the request
403The API consumer doesn't have sufficient rights to perform this action
404No bulk history found or the path tenant / subscription doesn't exist
500Uncaught error on server side

Success

Body
ParameterTypeDescriptionConditional?
idintegerDatabase IDno
job_idstringMS Teams user update bulk job unique IDno
titlestringBulk MS Teams user update job titleno
kindstringBulk MS Teams user update job type (one among ms_users and ms_resource_accounts)no
statusstringGlobal bulk job status (successpartial
total_countintegerTotal number of bulk job itemsno
success_countintegerTotal number of pagesno
job_itemsarrayThe list of bulk MS Teams user update job details related to the given bulk_idno
created_onstringCreation date and timeno
updated_onstringLast modification date date and timeno
Example
json
{
  "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
ParameterTypeDescriptionConditional?
idstringUnique ID of the Group as found in Azure ADno
displayNamestringThe display name of the Groupno
User Properties Object
ParameterTypeDescriptionConditional?
locationstringCountry code in ISO 3166 alpha-2 formatno
vrpstringVoice routing policyno
groupsarrayA list of MS groups id as returned by this API callno
licensesarrayA list of MS licenses skuId as returned by this API callno
License Object
ParameterTypeDescriptionConditional?
skuIdstringGUID of the Microsoft licenseno
skuPartNumberstringString ID of the Microsoft licenseno
skuDescriptionstringHuman 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-issuedno
totalintegerTotal number of this license that has been purchasedno
freeintegerUnused amount of this license that is still free for user assignationno
Powershell Object
ParameterTypeDescriptionConditional?
activebooleanState of the powershell integration, true if enabled, false otherwiseno
MS Graph Object
ParameterTypeDescriptionConditional?
activebooleanState of the MS Graph application, true if the application is enabled, false otherwiseno
Domain Object
ParameterTypeDescriptionConditional?
namestringDomain created for Fusion integration on MS O365no
verifiedbooleanState of the domain as verified by Microsoft, true if verified, false otherwiseno
User Object
ParameterTypeDescriptionConditional?
msTeamsobjectMS Teams user properties as described by a MS Teams user objectno
draasobjectFusion user properties as described by a Fusion user objectyes
MS Teams User Object
ParameterTypeDescriptionConditional?
idstringMS Teams Azure AD Object IDno
userPrincipalNamestringMS Teams Azure AD User Principal Nameno
displayNamestringMS Teams Azure AD Nameno
locationstringCountry code in ISO 3166 alpha-2 formatyes
licensesarrayA list of Microsoft licensing objectsyes
rolesarrayA list of Microsoft role objectsyes
voiceEnabledstringGives an indication if MS Teams user may be voice activated. Possible values are:
  • yesif it is confirmed by licensing,
  • noif there is no valid license,
  • maybeif a further check is needed.
no
Microsoft licensing Object
ParameterTypeDescriptionConditional?
skuIdstringGUID of the Microsoft licenseno
skuPartNumberstringString ID of the Microsoft licenseno

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
ParameterTypeDescriptionConditional?
idstringGUID of the Microsoft roleno
displayNamestringDisplay name of the Microsoft roleno
Fusion User Object
ParameterTypeDescriptionConditional?
idintegerInternal ID of the MS Teams userno
connectionIdintegerInternal ID of the connection made between the phone number and the MS Teams useryes
customerLicensesarrayA list of Customer licensesno
numberIdintegerInternal ID of the phone number linked to the MS Teams useryes
phoneNumberstringPhone number assigned to the MS Teams useryes
statusstringIndicates whether or not the configured number is synced into Microsoft Teams. Possible values are:
  • active when the number is correctly provisioned on MS Team,
  • activating when the activation is ongoing,
  • activation_error indicates something went wrong during the activation process,
  • deleting when the deletion is ongoing,
  • deletion_error indicates something went wrong during the deletion process,
  • syncing means the synchronization is ongoing,
  • sync_error indicates something went wrong during the synchronization process,
  • updating means the updating is ongoing,
  • update_error indicates something went wrong during the updating process.
no
MS Teams User Object
ParameterTypeDescriptionConditional?
idstringMS Teams Azure AD Object IDno
userPrincipalNamestringMS Teams Azure AD User Principal Nameno
displayNamestringMS Teams Azure AD Nameno
groupsarrayA list of Microsoft group objectsno
locationstringCountry code in ISO 3166 alpha-2 formatno
licensesarrayA list of Microsoft licensing objectsno
voiceEnabledstringGives an indication if MS Teams user may be voice activated. Possible values are:
  • yesif it is confirmed by licensing,
  • noif there is no valid license,
  • maybeif a further check is needed.
no
MS Teams Users Filters
ParameterTypeDescriptionConditional?
countryarrayA list of country codes. (eg. ["BE","UK"]).no
is_voice_enabledstringFilters on users that are voice enabled or not. Possible values yes, no or maybe.no
have_numberstringFilters on users if they are a number assigned or not. Possible values yes or no.no
Microsoft group Object
ParameterTypeDescriptionConditional?
idstringString ID of the Microsoft groupno
displayNamestringThe name of the groupno
Resource Account Object
ParameterTypeDescriptionConditional?
msTeamsobjectMS Teams resource account properties as described by a MS Teams resource account objectno
draasobjectFusion user properties as described by a Fusion user objectyes
MS Teams Resource Account Object
ParameterTypeDescriptionConditional?
idstringMS Teams Azure AD Object IDno
userPrincipalNamestringMS Teams Azure AD resource account principal nameno
displayNamestringMS Teams Azure AD nameno
locationstringCountry code in ISO 3166 alpha-2 formatno
phoneNumberstringMS Teams resource account phone numberyes
accountTypestringMS Teams resource account type, can take two distinct values: call-queue or auto-attendantno
licensesarrayA list of Microsoft licensing objectsyes
MS Teams Resource Accounts Filters
ParameterTypeDescriptionConditional?
countryarrayA list of country codes. (eg. ["BE","UK"]).no
have_numberstringFilters on resource accounts if they are a number assigned or not. Possible values yes or no.no
typestringFilters on resource accounts based on the type. Possible values call-queue or auto-attendant.no
MSTeams Sync Users Object
ParameterTypeDescriptionConditional?
idstringUnique ID of the User as found in Azure ADno
statusstringThe synchronization statusno
MS Teams user update response
ParameterTypeDescriptionConditional?
upnstringMS Teams Azure AD User Principal Nameno
detailsobjectResponse detailsno
MS Teams user update error
ParameterTypeDescriptionConditional?
upnstringMS Teams Azure AD User Principal Nameno
errorobjectError detailsno
MS Teams User Bulk Object
ParameterTypeDescriptionRequired
upnstringMS Teams Azure AD User Principal Nameyes
displayNamestringMS Teams Azure AD display nameyes
numberstring or nullPhone number to be assigned to the MS Teams user. Set to null to disable voice service and free previously assigned phone numberno
countrystringCountry code in ISO 3166 alpha-2 formatno
vrpstringThe name of the Voice Routing Policy you want to set, null to disable it.no
groupsarrayA list of MS Groups name you want to add to the user. Set to null to remove it from all groupsno
licensesarrayA list of MS Licenses name you want to assign to the user. Set to null to remove all licensesno
customerLicensesarrayA list of Customer Licenses SKUs you want to assign to the user. Set to null to remove all customerLicensesno
templatestringTemplate name to be used (see templating); if provided country, vrp, groups and licenses will be overriddenno
Bulk jobs
ParameterTypeDescriptionConditional?
idintegerDatabase IDno
job_idstringMS Teams user update bulk job unique IDno
kindstringBulk MS Teams user update job type (one among ms_users and ms_resource_accounts)no
titlestringBulk MS Teams user update job titleno
created_onstringCreation date and timeno
updated_onstringLast modification date date and timeno
Job details
ParameterTypeDescriptionConditional?
idintegerDatabase IDno
upnstringMS Teams Azure AD User Principal Nameno
statusstringMS Teams user update request status (successerror)
dataarrayMS Teams user update data from original requestno
created_onstringCreation date and timeno
updated_onstringLast modification date date and timeno