[Index]
This relation implements the workflows to manage Microsoft Tenant connection parameters and enabled services.
Model ref.: relation/MicrosoftTenant
The full URL would include the host-proxy name: https://[host-proxy].
Variables are enclosed in square brackets.
{ "$schema": "http://json-schema.org/draft-03/schema", "type": "object", "properties": { "name": { "title": "Name", "description": "Microsoft Tenant user defined name can have a max length of 255 charactors within the following regex pattern - ^[a-zA-Z0-9-_ ]+$", "type": "string", "maxLength": 255, "required": true, "pattern": "^[a-zA-Z0-9-_. ]+$" }, "description": { "title": "Description", "description": "Microsoft Tenant user defined description can have a max length of 255 charactors.", "type": "string", "maxLength": 255 }, "hostName": { "title": "Host", "description": "Windows powershell host, serves as an intermediary between VOSS and Microsoft Teams, can be an IP address or a host name up to 255 charactors.", "type": "string", "maxLength": 255, "required": true }, "proxyUsername": { "title": "Username", "description": "Windows powershell host service account.", "type": "string", "maxLength": 255, "required": true, "is_password": false }, "proxyPassword": { "title": "Password", "description": "Windows powershell host password of the above service account.", "type": "string", "maxLength": 255, "required": true, "is_password": true, "store_encrypted": true }, "powershellDeploymentMode": { "title": "Powershell Deployment Mode", "description": "Switch between running powershell scripts using a serverless function in the Azure cloud or an om-prem Windows host", "type": "string", "maxLength": 255, "is_password": false, "default": "onprem", "choices": [ { "value": "cloud", "title": "Cloud" }, { "value": "onprem", "title": "OnPrem" } ] }, "syncGraph": { "title": "Microsoft 365 sync on Create/Update", "description": "Sync Microsoft 365 on Create and Update. When this checkbox is checked it will execute a full Pull Sync from the Microsoft 365.", "type": "boolean", "default": false }, "client_id": { "title": "Client ID", "description": "The Client ID or Application ID located in the Azure AD app registration portal.", "type": "string", "required": true, "readonly": false, "is_password": false, "displayable": false }, "tenant_id": { "title": "Tenant ID", "description": "The Tenant ID or Directory ID located in the Azure AD app registration portal.", "type": "string", "required": true, "readonly": false, "is_password": false, "displayable": false }, "client_secret": { "title": "Secret", "description": "A Client secret previously created in the Azure AD app registration portal. Not used for Exchange.", "type": "string", "required": false, "readonly": false, "is_password": true, "store_encrypted": true }, "certificate_bkey": { "title": "Certificate (deprecated)", "description": "A locally stored certificate the public portion of which has been previously uploaded in the Azure AD app registration portal.", "type": "string" }, "certificate_pkid": { "title": "Certificate", "description": "A locally stored certificate the public portion of which has been previously uploaded in the Azure AD app registration portal.", "type": "string" }, "enable_exchange": { "title": "Enable Microsoft Exchange", "description": "Enable Microsoft Exchange.", "type": "boolean", "default": false }, "exchange_admin_domain": { "title": "Admin Domain", "description": "Microsoft Exchange admin domain used to authenticate.", "type": "string" }, "graph_api_certificate_thumbprint": { "title": "Graph Certificate Thumbprint (deprecated)", "description": "Certificate Thumbprint for a certificate which has been previously uploaded in the Azure AD app registration portal. Deprecated.", "type": "string", "required": false, "readonly": false }, "exchange_certificate_thumbprint": { "title": "Exchange Certificate Thumbprint (deprecated)", "description": "Certificate Thumbprint for a certificate which has been previously uploaded in the Azure AD app registration portal. Deprecated.", "type": "string", "required": false, "readonly": false, "is_password": true, "store_encrypted": true }, "certificate_thumbprint": { "title": "Certificate Thumbprint", "description": "Certificate Thumbprint for a certificate which has been previously uploaded in the Azure AD app registration portal. Required for Exchange.", "type": "string" }, "syncExchange": { "title": "Microsoft Exchange sync on Create/Update", "description": "Sync Microsoft Exchange on Create and Update. When this checkbox is checked it will execute a full Pull Sync from the Microsoft Exchange", "type": "boolean", "default": false }, "tenantUsername": { "title": "Admin Username", "description": "Username of an admin account used by VOSS to access Microsoft Teams. Required to use device models which do not support application authentication.", "type": "string", "maxLength": 255, "required": false, "readonly": false, "displayable": false }, "tenantPassword": { "title": "Admin Password", "description": "Admin password of the above account. Required to use device models which do not support application authentication.", "type": "string", "maxLength": 255, "required": false, "readonly": false, "is_password": true, "store_encrypted": true }, "use_proxy": { "title": "Use HTTP Proxy", "description": "Use Proxy is for when there is an internet proxy set up between the powershell server and the internet. Setting it to true will make the powershell script make use of it properly so that it can get to the MS cloud. There is another setting use_proxy_auth which comes into play only if use_proxy is true which will do additional configuration when the internet proxy requires auth", "type": "boolean", "default": "false" }, "syncTeams": { "title": "Microsoft Teams sync on Create/Update", "description": "Sync Microsoft Teams on Create and Update. When this checkbox is checked it will execute a full Pull Sync from the Microsoft Teams", "type": "boolean", "default": false }, "http_proxy_username": { "title": "Username", "description": "Username for the proxy server through which the powershell host connects to the cloud.", "type": "string", "maxLength": 255, "displayable": false }, "http_proxy_password": { "title": "Password", "description": "Password for the proxy server through which the powershell host connects to the cloud.", "type": "string", "maxLength": 255, "required": false, "readonly": false, "is_password": true, "store_encrypted": true }, "use_http_proxy_auth": { "title": "Use HTTP Proxy Authentication", "description": "The proxy server through which the powershell server connects to the cloud requires credentials.", "type": "boolean", "default": "false" }, "http_proxy": { "title": "MS 365 proxy", "description": "Specifies an outbound internet proxy server for traffic to the public Internet when no authentication is required. The format should be (https://host:port/), and can include either a Fully Qualified Domain Name (FQDN) or an IP address for the Internet proxy.", "type": "string", "store_encrypted": true }, "https_proxy": { "title": "MS 365 secure proxy", "description": "Sets an outbound internet proxy server when authentication is required. The format should be (https://proxyuser:proxypassword@host:port/), and it allows secure access to the Internet proxy. You can use either a Fully Qualified Domain Name (FQDN) or an IP address for the Internet proxy.", "type": "string", "store_encrypted": true }, "resourceAccountBasicAuthEnabled": { "title": "Resource Account Basic Authentication", "description": "Enable basic authentication for resource accounts", "type": "boolean", "default": false }, "msol_user_api_page_size": { "title": "MS 365 MsolUser page size", "description": "Controls the number of records retrieved at a time from the device/msgraph/MSOLUser related API. Leaving it blank uses a default of 999 for optimal performance. Only modify this value if you encounter sync errors (e.g., 'Template output exceeded memory limit'), where you can specify a smaller value to resolve the issue. Note that reducing the value may affect sync performance, so use the largest value that doesn't cause errors.", "type": "string" }, "groups_api_page_size": { "title": "MS 365 Group page size", "description": "Governs the number of records fetched at once from the device/msgraph/Group related APIs. When left empty, it defaults to 999 for efficient performance. Adjust this value only if you encounter synchronization errors, like ('Template output exceeded memory limit.'). You can specify a smaller value to resolve errors, but be aware that reducing the value may impact sync performance, so use the largest suitable page size.", "type": "string" }, "Number_page_size": { "title": "MS Teams Number page size", "description": "The page size for the msteamsonline/Number device model. Only set this value if the amount of data returned when using the default value is causing an error.", "type": "string" }, "shadow": { "title": "Shadow", "type": "array", "items": { "type": "object", "properties": { "name": { "is_password": false, "title": "Name", "required": true, "displayable": false, "readonly": false, "maxLength": 1024, "type": "string" } } }, "maxItems": 1 } }, "schema_version": "1.2" }
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get the GUI Add form. | GET | /api/relation/MicrosoftTenant/add/ |
|
The GUI Add form of relation/MicrosoftTenant as JSON |
The API call to the /add/ URL can only be made from a hierarchy that allows the model type to be added. The actions in the response shows the url for the POST API call to create an instance.
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Create | POST | /api/relation/MicrosoftTenant | hierarchy=[hierarchy] |
|
tool/Transaction/[trans pkid]to inspect the created resource and its instance pkid.
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Bulk delete [pkid1],[pkid2]... | DELETE | /api/relation/MicrosoftTenant/ | hierarchy=[hierarchy] | {"hrefs":["/api/relation/MicrosoftTenant/[pkid1]", "/api/relation/MicrosoftTenant/[pkid2]", ...]} |
GET http://[host-proxy]/api/relation/MicrosoftTenant/?hierarchy=[hierarchy]&format=json
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Get a selected [export_format] of the schema and instances [pkid1], [pkid2],... of relation/MicrosoftTenant; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | POST | /api/relation/MicrosoftTenant/export/ |
|
{ "hrefs":["/api/relation/MicrosoftTenant/[pkid1]", "/api/relation/MicrosoftTenant/[pkid2]",...]}} |
For export_format=json, the response is a time stamped zip file of data in JSON as in the system database. Item properties such as strings that are empty or Boolean values that are not set, are not included. The filename in the response is of the format as the example:
Content-Disposition: attachment; filename=export_2013-05-17_14:20:19.186444.json.zip Content-Language:en Content-Type:application/x-zip
For export_format=raw_xlsx, the response is a MS Excel spreadsheet with columns corresponding to the JSON format export and a response filename format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=xlsx, the response is a MS Excel spreadsheet, arranged by any Field Display Policies that apply. The columns correspond with those of a Bulk Load Template export sheet. The response filename format is:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_formatted_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
The XLSX format can be used to bulk load instances of relation/MicrosoftTenant and the JSON format can be used to import instances of relation/MicrosoftTenant.
GET http://[host-proxy]/api/relation/MicrosoftTenant/?hierarchy=[hierarchy]
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get a compressed format of the Bulk Load spreadsheet template for relation/MicrosoftTenant | POST | /api/relation/MicrosoftTenant/export_bulkload_template/ |
|
The response is an attachment of the format: filetype_bulkloadsheet.xlsx.gz |
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Configuration Template | GET | /api/relation/MicrosoftTenant/configuration_template/ | hierarchy=[hierarchy] |
|
POST http://[host-proxy]/api/data/ConfigurationTemplate/?hierarchy=[hierarchy]
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Field Display Policy | GET | /api/relation/MicrosoftTenant/field_display_policy/ | hierarchy=[hierarchy] |
|
POST http://[host-proxy]/api/data/FieldDisplayPolicy/?hierarchy=[hierarchy]
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
List | GET | /api/relation/MicrosoftTenant/ |
|
The relation/MicrosoftTenant schema and all instances as JSON. |
(The list will return 0 to 3 relation/MicrosoftTenant instances)
{ "pagination": { "skip": 0, "limit": 3, "maximum_limit": 2000, "total": 0, "total_limit": null, "order_by": "name", "direction": "asc", "current": "/api/relation/MicrosoftTenant/?skip=0&limit=3&order_by=name&direction=asc&traversal=down" }, "operations": [ "list", "help", "field_display_policy", "get", "configuration_template", "update", "bulk_update", "remove", "add", "export", "export_bulkload_template" ], "meta": { "model_type": "relation/MicrosoftTenant", "summary_attrs": [ { "name": "name", "title": "Name" }, { "name": "description", "title": "Description" }, { "name": "hostName", "title": "Host" }, { "name": "tenantUsername", "title": "Admin Username" }, { "name": "tenant_id", "title": "Tenant ID" }, { "name": "msol_user_api_page_size", "title": "MS 365 MsolUser page size" }, { "name": "enable_exchange", "title": "Enable Microsoft Exchange" }, { "name": "resourceAccountBasicAuthEnabled", "title": "Resource Account Basic Authentication" }, { "name": "hierarchy_friendly_name", "title": "Located At", "allow_filtering": true } ], "tagged_versions": [], "tags": [], "title": "", "business_key": {}, "api_version": "21.2", "cached": true, "references": { "children": [], "parent": [ { "href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101", "pkid": "6t0ggef2c0deab00hb595101" } ], "device": [ { "href": "", "pkid": "" } ], "foreign_key": [], "self": [ { "href": "/api/relation/MicrosoftTenant/None/", "pkid": null } ] }, "model_specific_actions": [ "list", "help", "field_display_policy", "get", "configuration_template", "update", "remove", "add", "export", "export_bulkload_template" ], "schema_version": "1.2", "actions": [ { "add": { "method": "GET", "class": "add", "href": "/api/relation/MicrosoftTenant/add/?hierarchy=[hierarchy]", "support_async": false, "title": "Add" } }, { "remove": { "method": "DELETE", "class": "delete", "href": "/api/relation/MicrosoftTenant/?hierarchy=[hierarchy]", "support_async": true, "title": "Delete" } }, { "export": { "method": "POST", "class": "export", "href": "/api/relation/MicrosoftTenant/export/?hierarchy=[hierarchy]", "support_async": false, "title": "Export", "view": "/api/view/ExportData/add/?auth_token=[authtoken], "submit": "payload" } }, { "export_bulkload_template": { "method": "POST", "class": "bulkload_template", "href": "/api/relation/MicrosoftTenant/export_bulkload_template/?hierarchy=[hierarchy]", "support_async": false, "title": "Export Bulk Load Template" } }, { "configuration_template": { "method": "GET", "class": "config", "href": "/api/relation/MicrosoftTenant/configuration_template/?hierarchy=[hierarchy]", "support_async": false, "title": "Configuration Template" } }, { "field_display_policy": { "method": "GET", "class": "display_policy", "href": "/api/relation/MicrosoftTenant/field_display_policy/?hierarchy=[hierarchy]", "support_async": false, "title": "Field Display Policy" } }, { "list": { "method": "GET", "class": "list", "href": "/api/relation/MicrosoftTenant/?hierarchy=[hierarchy]", "support_async": false, "title": "List" } }, { "help": { "method": "GET", "class": "help", "href": "/api/relation/MicrosoftTenant/help?hierarchy=[hierarchy]", "support_async": false, "title": "Help" } } ] }, "resources": [] }
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get the on-line Help for relation/MicrosoftTenant. | GET | /api/relation/MicrosoftTenant/help | hierarchy=[hierarchy] | On-line help of Model ref.: relation/MicrosoftTenant as HTML |
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Modify | PUT | /api/relation/MicrosoftTenant/[pkid] | hierarchy=[hierarchy] | (For payload specification) |
For Bulk modification, refer to the Bulk Modify section.
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Delete | DELETE | /api/relation/MicrosoftTenant/[pkid] | hierarchy=[hierarchy] |
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get a selected [export_format] of the schema and a single instance with [pkid] of relation/MicrosoftTenant; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | GET | /api/relation/MicrosoftTenant/[pkid]/export |
|
The response is an attachment. Refer to the list below. |
For export_format=raw_xlsx, the response is a "raw" MS Excel spreadsheet with columns corresponding to the JSON format export and a response format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=xlsx, the response is a MS Excel spreadsheet, formatted to show all columns and a response format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_formatted_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=json, the response is a time stamped zip file of data in JSON and a response format:
Content-Disposition: attachment; filename=export_2013-05-17_14:20:19.186444.json.zip Content-Language:en Content-Type:application/x-zip
The XLSX format can be used to bulk load instances of relation/MicrosoftTenant and the JSON format can be used to import instances of relation/MicrosoftTenant.
For Bulk Export, refer to the Bulk Export section.
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get | GET | /api/relation/MicrosoftTenant/[pkid] | hierarchy=[hierarchy] | The relation/MicrosoftTenant instance with [pkid]. |
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Help | GET | /api/relation/MicrosoftTenant/[pkid]/help | hierarchy=[hierarchy] | The on-line Help for relation/MicrosoftTenant. |
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Sync All | POST | /api/relation/MicrosoftTenant/[pkid]/+SyncAll | hierarchy=[hierarchy] | If payload required: |
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Sync New Users | POST | /api/relation/MicrosoftTenant/[pkid]/+SyncNewUsers | hierarchy=[hierarchy] | If payload required: |
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Test Connection | POST | /api/relation/MicrosoftTenant/[pkid]/+TestConnection | hierarchy=[hierarchy] | If payload required: |