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
}

Create MS Teams user ​

Create a MS Teams user.

Once completed, a notification will be sent through webhook or email (if enabled) as described on create MS user event

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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on update MS user event

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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on update MS user event

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"
    }
}

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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on update MS user event If the phone number has changed as well, a notification will be sent through webhook or email (if enabled) as described on add_number_ms_user event or remove_number_ms_user event

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

Delete MS Teams user ​

Delete a MS Teams user.

Once completed, a notification will be sent through webhook or email (if enabled) as described on delete MS user event

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

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.

This endpoint internally will call either the create or the update APIs. This means that for each user, once completed, a notification will be sent through webhook or email (if enabled) based on the event:

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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on create MS resource account event If the phone number has been assigned as well, a notification will be sent through webhook or email (if enabled) as described on add_number_ms_ra event

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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on update MS resource account event If the phone number has changed as well, a notification will be sent through webhook or email (if enabled) as described on add_number_ms_ra event or remove_number_ms_ra event

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.

Once completed, a notification will be sent through webhook or email (if enabled) as described on delete MS resource account event

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

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 /api/v01/draas/{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 /api/v01/draas/{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