# Integrations

Manage Integrations.

## Retrieve global Microsoft 365 provisioning details

> Retrieve details of global Microsoft 365 settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/admin/ms365":{"get":{"tags":["Integration"],"operationId":"getGlobalMicrosoft365ProvisioningDetails","summary":"Retrieve global Microsoft 365 provisioning details","description":"Retrieve details of global Microsoft 365 settings.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"national_cloud":{"type":"string","enum":["GLOBAL","CHINA"],"default":"GLOBAL","description":"The Microsoft cloud services are available in several separate national clouds.   \nThese national cloud versions are physical and logical network-isolated instances of Microsoft enterprise cloud services   \nthat are confined within the geographic borders of specific countries and operated by local personnel.\nCan be either:   \n- `GLOBAL`: Azure global service.\n- `CHINA`: Azure China service.\n"},"directory_id":{"type":"string","description":"The Directory ID (Tenant ID) of Microsoft identity platform.\n"},"application_id":{"type":"string","description":"The Application (client) ID of Azure AD.\n"},"redirect_uri":{"type":"string","readOnly":true,"description":"Redirect URI. The URIs we will accept as destinations when returning authentication responses (tokens) after successfully authenticating or signing out users.   \nThe redirect URI you send in the request to the login server should match one listed here. Also referred to as reply URLs.\n"},"sbc_redirect_uri":{"type":"string","readOnly":true,"description":"Same as the `redirect_uri`, but via the sbc network topology.\n"}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Reprovision global Microsoft 365 integration.

> Update global Microsoft 365 settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/admin/ms365":{"post":{"tags":["Integration"],"operationId":"updateGlobalMicrosoft365Provisioning","summary":"Reprovision global Microsoft 365 integration.","description":"Update global Microsoft 365 settings.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"national_cloud":{"type":"string","enum":["GLOBAL","CHINA"],"default":"GLOBAL","description":"The Microsoft cloud services are available in several separate national clouds.   \nThese national cloud versions are physical and logical network-isolated instances of Microsoft enterprise cloud services   \nthat are confined within the geographic borders of specific countries and operated by local personnel.\nCan be either:   \n- `GLOBAL`: Azure global service.\n- `CHINA`: Azure China service.\n"},"directory_id":{"type":"string","description":"The Directory ID (Tenant ID) of Microsoft identity platform.\n"},"application_id":{"type":"string","description":"The Application (client) ID of Azure AD.\n"}}}}}},"responses":{"200":{"description":"OK"},"4XX":{"description":"Error"}}}}}}
```

## Download global Microsoft 365 certificate

> Download global Microsoft 365 certificate.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/admin/ms365/certificate":{"get":{"tags":["Integration"],"operationId":"downloadGlobalMicrosoft365Certificate","summary":"Download global Microsoft 365 certificate","description":"Download global Microsoft 365 certificate.\n","responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"schema":{"type":"string"},"description":"the format is `attachment; filename=\"example\"`"}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"4XX":{"description":"Error"}}}}}}
```

## Generate new global Microsoft 365 certificate

> Generate new global Microsoft 365 certificate.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/admin/ms365/certificate":{"post":{"tags":["Integration"],"operationId":"generateGlobalMicrosoft365Certificate","summary":"Generate new global Microsoft 365 certificate","description":"Generate new global Microsoft 365 certificate.\n","responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"schema":{"type":"string"},"description":"the format is `attachment; filename=\"example\"`"}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"4XX":{"description":"Error"}}}}}}
```

## Retrieve global Google integrations

> Retrieve details of global Google integrations settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/admin/google":{"get":{"tags":["Integration"],"operationId":"getGlobalGoogleIntegrations","summary":"Retrieve global Google integrations","description":"Retrieve details of global Google integrations settings.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"The client ID of Google Cloud project.\n"},"client_secret":{"type":"string","description":"The client secret of Google Cloud project.\n"},"redirect_uri":{"type":"string","readOnly":true,"description":"Redirect URI. The URIs we will accept as destinations when returning authentication responses (tokens) after successfully authenticating or signing out users.   \nThe redirect URI you send in the request to the login server should match one listed here. Also referred to as reply URLs.\n"},"sbc_redirect_uri":{"type":"string","readOnly":true,"description":"Same as the `redirect_uri`, but via the sbc network topology.\n"},"auth_consent_uri":{"type":"string","readOnly":true,"description":"The Google OAuth2 consent uri.\n"}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Update global Google integration.

> Update global Google integration settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/admin/google":{"post":{"tags":["Integration"],"operationId":"updateGlobalGoogleIntegrations","summary":"Update global Google integration.","description":"Update global Google integration settings.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"The client ID of Google Cloud project.\n"},"client_secret":{"type":"string","description":"The client secret of Google Cloud project.\n"}}}}}},"responses":{"200":{"description":"OK"},"4XX":{"description":"Error"}}}}}}
```

## Retrieve tenant Microsoft 365 provisioning details

> Retrieve details of tenant Microsoft 365 settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/ms365":{"get":{"tags":["Integration"],"operationId":"getTenantMicrosoft365ProvisioningDetails","summary":"Retrieve tenant Microsoft 365 provisioning details","description":"Retrieve details of tenant Microsoft 365 settings.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"national_cloud":{"type":"string","enum":["GLOBAL","CHINA"],"default":"GLOBAL","description":"The Microsoft cloud services are available in several separate national clouds.   \nThese national cloud versions are physical and logical network-isolated instances of Microsoft enterprise cloud services   \nthat are confined within the geographic borders of specific countries and operated by local personnel.\nCan be either:   \n- `GLOBAL`: Azure global service.\n- `CHINA`: Azure China service.\n"},"directory_id":{"type":"string","description":"The Directory ID (Tenant ID) of Microsoft identity platform.\n"},"application_id":{"type":"string","description":"The Application (client) ID of Azure AD.\n"},"redirect_uri":{"type":"string","readOnly":true,"description":"Redirect URI. The URIs we will accept as destinations when returning authentication responses (tokens) after successfully authenticating or signing out users.   \nThe redirect URI you send in the request to the login server should match one listed here. Also referred to as reply URLs.\n"},"sbc_redirect_uri":{"type":"string","readOnly":true,"description":"Same as the `redirect_uri`, but via the sbc network topology.\n"},"sync_time":{"type":"string","description":"The crontab expression <https://en.wikipedia.org/wiki/Cron>\n"},"users":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"sync_guest_users":{"type":"boolean","default":false,"description":"Whether to enable gust user synchronization.\n"},"sync_photo":{"type":"boolean","default":false,"description":"Whether to synchronize user photo.\n"},"starting_extension_number":{"type":"string","minLength":3,"maxLength":13,"pattern":"[0-9]{3,13}","description":"The starting extension number for synchronized users.   \nLeft padding with zeros is not allowed.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"sign_in_as_administrator":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"}}},"sign_in_as_standard_user":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"personal_contacts":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable user personal contacts synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"shared_mailbox":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"events":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Reprovision tenant Microsoft 365 integration.

> Update tenant Microsoft 365 settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/ms365":{"post":{"tags":["Integration"],"operationId":"updateTenantMicrosoft365Provisioning","summary":"Reprovision tenant Microsoft 365 integration.","description":"Update tenant Microsoft 365 settings.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"national_cloud":{"type":"string","enum":["GLOBAL","CHINA"],"default":"GLOBAL","description":"The Microsoft cloud services are available in several separate national clouds.   \nThese national cloud versions are physical and logical network-isolated instances of Microsoft enterprise cloud services   \nthat are confined within the geographic borders of specific countries and operated by local personnel.\nCan be either:   \n- `GLOBAL`: Azure global service.\n- `CHINA`: Azure China service.\n"},"directory_id":{"type":"string","description":"The Directory ID (Tenant ID) of Microsoft identity platform.\n"},"application_id":{"type":"string","description":"The Application (client) ID of Azure AD.\n"},"sync_time":{"type":"string","description":"The crontab expression <https://en.wikipedia.org/wiki/Cron>\n"},"users":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"sync_guest_users":{"type":"boolean","default":false,"description":"Whether to enable gust user synchronization.\n"},"sync_photo":{"type":"boolean","default":false,"description":"Whether to synchronize user photo.\n"},"starting_extension_number":{"type":"string","minLength":3,"maxLength":13,"pattern":"[0-9]{3,13}","description":"The starting extension number for synchronized users.   \nLeft padding with zeros is not allowed.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"sign_in_as_administrator":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"}}},"sign_in_as_standard_user":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"personal_contacts":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable user personal contacts synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"shared_mailbox":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}},"events":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable Microsoft 365 users with extensions synchronization.\n"},"selected_users":{"type":"array","items":{"type":"string","description":"The `Principal Name` of Microsoft 365 user.\n"},"description":"A collection of Microsoft 365 user's ID.\n"},"sync_type":{"type":"string","enum":["ALL","INCLUDE","EXCLUDE"],"default":"ALL","description":"The synchronization policy:   \nCan be either:   \n- `ALL`: All users will be synced.\n- `INCLUDE`: All users except selected users will be synced.\n- `EXCLUDE`: All selected users will be synced.\n"}}}}}}}},"responses":{"200":{"description":"OK"},"4XX":{"description":"Error"}}}}}}
```

## Download Microsoft 365 certificate

> Download Microsoft 365 certificate.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/ms365/certificate":{"get":{"tags":["Integration"],"operationId":"downloadMicrosoft365Certificate","summary":"Download Microsoft 365 certificate","description":"Download Microsoft 365 certificate.\n","responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"schema":{"type":"string"},"description":"the format is `attachment; filename=\"example\"`"}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"4XX":{"description":"Error"}}}}}}
```

## Generate new Microsoft 365 certificate

> Generate new Microsoft 365 certificate.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/ms365/certificate":{"post":{"tags":["Integration"],"operationId":"generateMicrosoft365Certificate","summary":"Generate new Microsoft 365 certificate","description":"Generate new Microsoft 365 certificate.\n","responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"schema":{"type":"string"},"description":"the format is `attachment; filename=\"example\"`"}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"4XX":{"description":"Error"}}}}}}
```

## Retrieve a collection of Microsoft 365 users

> Retrieve a collection of Microsoft 365 users.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/ms365/users":{"get":{"tags":["Integration"],"operationId":"listMicrosoft365Users","summary":"Retrieve a collection of Microsoft 365 users","description":"Retrieve a collection of Microsoft 365 users.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","format":"int64","minimum":0,"description":"Total number of resource.\n"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The `OID` of Microsoft 365 user.\n"},"name":{"type":"string","description":"The name of Microsoft 365 user.\n"},"email":{"allOf":[{"type":"string","maxLength":128,"description":"The email address.\n"},{"description":"The email address of Microsoft 365 user.\n"}]}}}}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Retrieve tenant Google integrations

> Retrieve details of tenant Google integrations settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/google":{"get":{"tags":["Integration"],"operationId":"getTenantGoogleIntegrations","summary":"Retrieve tenant Google integrations","description":"Retrieve details of tenant Google integrations settings.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"The client ID of Google Cloud project.\n"},"client_secret":{"type":"string","description":"The client secret of Google Cloud project.\n"},"redirect_uri":{"type":"string","readOnly":true,"description":"Redirect URI. The URIs we will accept as destinations when returning authentication responses (tokens) after successfully authenticating or signing out users.   \nThe redirect URI you send in the request to the login server should match one listed here. Also referred to as reply URLs.\n"},"sbc_redirect_uri":{"type":"string","readOnly":true,"description":"Same as the `redirect_uri`, but via the sbc network topology.\n"},"auth_consent_uri":{"type":"string","readOnly":true,"description":"The Google OAuth2 consent uri.\n"}}}}}},"4XX":{"description":"Error"}}}}}}
```

## Update tenant Google integration.

> Update tenant Google integration settings.<br>

```json
{"openapi":"3.1.0","info":{"title":"PortSIP PBX Rest API","version":"22.0"},"tags":[{"name":"Integration","description":"Manage Integrations.\n"}],"servers":[{"url":"{protocol}://{hostname}:{port}/api","variables":{"protocol":{"description":"Self-hosted Enterprise Server protocol.","default":"https"},"hostname":{"description":"Self-hosted Enterprise Server hostname.","default":"HOSTNAME"},"port":{"description":"Self-hosted Enterprise Server port.","default":"8887"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/google":{"post":{"tags":["Integration"],"operationId":"updateTenantGoogleIntegrations","summary":"Update tenant Google integration.","description":"Update tenant Google integration settings.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"The client ID of Google Cloud project.\n"},"client_secret":{"type":"string","description":"The client secret of Google Cloud project.\n"}}}}}},"responses":{"200":{"description":"OK"},"4XX":{"description":"Error"}}}}}}
```
