Utilize our easy-to-use RESTful APIs to automate your Microsoft 365 organizations. Our APIs can be consumed in any scripting language that consumes REST APIs like Node.js, Django, .NET, or Laravel.
In case you want to manage your Microsoft 365 tenants through GUI based menus, deploy Hosting Controller on any Windows server, on-premises or in the cloud, and start administering your Microsoft 365 tenants with ease. Recommended Azure VMs for the installation of Hosting Controller include:
For a complete listing and more details on the Hosting Controller deployment See
Hosting Controller uses an advanced authentication mechanism to connect to the Microsoft 365 tenant. It doesn't use a username and password for connectivity, rather it uses token based authentication. It uses app-only access for connectivity with the Microsoft 365 tenant account and therefore requires the Client-Id, Tenant-Id, and Certificate Thumbprint.
For secure communication between the control panel and API, Hosting Controller uses HTTPS and for authentication it uses tokens.
The audit logs in Hosting Controller provide a convenient way to track down operations performed by the API for example creating a new user in the Microsoft 365 organization. The audit trail includes the actions performed, IP logs, time stamps, and HTTP verbs besides other useful details.
Our API is part of a complete control panel offering:
On the Postman UI, hit the import button in the left pane and paste the cURL code in it. This generates a complete request in Postman. Just replace the dummy values with actual values to send a valid request to the endpoint.
- PUT /office365/{organizationId}/users/{userId}/licenses
Updates user licenses and enables/disables service plans within a license.
curl --location --request PUT 'http://localhost:8798/office365/{OrganizationId}/users/{UserId}/licenses' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic aGNhZG1pbjpoY2FkbWlu' \
--data '{
"SelectedSubscriptions": [
{
"ServicePlans": [
{
"ServicePlanId": "{ServicePlanId}"
}
],
"O365SubscriptionId": {O365SubscriptionId},
"UpdateOnlyServicePlans": true
}
],
"UserLicenses": [
1
]
}'
- POST /office365/organizations/{organizationId}/users
Creates new user in the organization.
curl --location 'http://localhost:8798/office365/organizations/{OrganizationId}/users' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic aGNhZG1pbjpoY2FkbWlu' \
--data-raw '{
"DisplayName": "Example User",
"EmailAddress": "example@domain.onmicrosoft.com",
"FirstName": "example",
"LastName": "user",
"MailDomainName": "domain.onmicrosoft.com",
"Password": "P@ssw0rd",
"SelectedSubscriptions": [
{
"O365SubscriptionId": {O365SubscriptionId}
}
],
"UserName": "example",
"UserSubscriptions": [
1
]
}'
- PUT /office365/users/{o365UserId}/password
Updates user password.
curl --location --request PUT 'http://localhost:8798/office365/users/{UserId}/password' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic aGNhZG1pbjpoY2FkbWlu' \
--data-raw '{
"Password":"P@ssw0rd"
}'
Hosting Controller provides the necessary business layer over the otherwise distinct, unique, and secluded Microsoft 365 tenants. In other words, it serves as a face for any sizable enterprise or government organization offering Microsoft 365. It provides a full spectrum of services including domain, user, and subscription management for Microsoft 365 organizations, and enables a single enterprise to manage multiple 365 tenants through a single interface.
Contact Us