[Index]
This model stores templates for building datasyncs and MIFs
Model ref.: data/DatasyncBuilderTemplate
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": "Name of this template",
"type": "string",
"required": true,
"maxLength": 1024
},
"description": {
"title": "Description",
"description": "Description of the functionality of datasyncs built by this template",
"type": "string",
"maxLength": 1024
},
"datasync_prefix": {
"title": "Datasync Prefix",
"description": "Name datasync will be the prefix - customername",
"type": "string",
"required": true,
"maxLength": 1024
},
"device_type": {
"title": "Device Type",
"description": "The type of devices to be synchronized. Choices are based on connection parameter data models of the devices supported by the current system.",
"type": "string",
"required": true,
"maxLength": 1024
},
"model_parent": {
"title": "Model Parent",
"description": "The parent type of the model types to be filtered.",
"type": "string",
"required": true,
"maxLength": 1024
},
"uc_automation": {
"title": "UC Automation",
"description": "UC Automation feature toggle",
"type": "boolean"
},
"uc_assurance": {
"title": "UC Monitoring",
"description": "UC Monitoring feature toggle",
"type": "boolean"
},
"uc_analytics": {
"title": "UC Analytics",
"description": "UC Analytics feature toggle",
"type": "boolean"
},
"security": {
"title": "Security",
"description": "Security feature toggle",
"type": "boolean"
},
"email": {
"title": "Email",
"description": "Email feature toggle",
"type": "boolean"
},
"license_management": {
"title": "License Management",
"description": "License Management feature toggle",
"type": "boolean"
},
"meeting_rooms": {
"title": "Meeting Rooms",
"description": "Meeting Rooms feature toggle",
"type": "boolean"
},
"cucm": {
"title": "CUCM",
"description": "CUCM feature toggle",
"type": "boolean"
},
"cuc": {
"title": "CUC",
"description": "CUC feature toggle",
"type": "boolean"
},
"webex_app": {
"title": "Webex App",
"description": "Webex App feature toggle",
"type": "boolean"
},
"webex_contact_centre": {
"title": "Webex Contact Centre",
"description": "Webex Contact Centre feature toggle",
"type": "boolean"
},
"ldap": {
"title": "LDAP",
"description": "LDAP feature toggle",
"type": "boolean"
},
"other": {
"title": "Other",
"description": "Other feature toggle",
"type": "boolean"
},
"sync_type": {
"title": "Sync Type",
"description": "The selected Sync Type. The Type can be Pull from Device, Push to Device, Merge with Device, or Purge Local. For Push, the system data state is the master state and the model types of the connection parameter are synchronized with it. For Pull, the model type states of the connection parameter is the master and the system model data is synchronized with these. For Merge, data synchronization takes place in both directions without overwrite of either data. For Purge Local, resources all resources that exist in the system will be deleted, although the entities in the device are not deleted - this is useful when cleaning up the system.",
"type": "string",
"required": false,
"choices": [
{
"value": "pull",
"title": "Pull from Device"
},
{
"value": "push",
"title": "Push to Device"
},
{
"value": "merge",
"title": "Merge with Device"
},
{
"value": "purge_local",
"title": "Purge Local Resources"
},
{
"value": "device_notification",
"title": "Change Notification Sync"
}
],
"maxLength": 1024
},
"dependency_resolution": {
"title": "Dependency Resolution",
"description": "The strategy for handling failures due to missing dependencies. Only 'Best Effort' resolution is supported. 'Best Effort' resolution attempts to brute force the synchronization as much as possible by re-iterating over failed imports until there are no errors.",
"type": "string",
"required": false,
"choices": [
{
"value": "best_effort",
"title": "Best Effort"
},
{
"value": "default",
"title": "Default"
}
],
"maxLength": 1024
},
"quick_import": {
"title": "Quick Import (Warning: Summary Data Only)",
"description": "Enable with caution: Indicates whether import operations will fetch full data for all instances or just use the summary data. Only use with Model types where all of the required data is in the summary data eg: device/cuc/ImportUser model.",
"type": "boolean",
"required": false
},
"schema_only": {
"title": "Import Schema Only",
"description": "Indicates whether import operations will fetch schema only and no data.",
"type": "boolean",
"required": false
},
"no_schema": {
"title": "Import Data Only",
"description": "Indicates whether import operations will fetch data only and no schema.",
"type": "boolean",
"required": false
},
"asynchronous": {
"title": "Execute Asynchronously",
"description": "Indicates whether the Data Sync must be executed Asynchronously or Synchronously.",
"type": "boolean",
"required": false,
"default": true
},
"refresh_existing_data": {
"title": "Refresh Existing (Changed) Data",
"description": "Indicates whether the Data Sync refreshes existing data that has changed on the device.",
"type": "boolean",
"required": false
},
"force_update_flag": {
"title": "Force Refresh Of Data",
"description": "Indicates whether a update action is executed regardless of whether the device has changed or not",
"type": "boolean",
"required": false,
"default": false
},
"num_changes_to_process": {
"title": "Number of Changes To Process",
"description": "Specifies how many changes to process during a device notification.",
"type": "integer"
},
"disabled_operations": {
"title": "Disabled Operations",
"description": "Indicates which operations should be disabled for this Data Sync.",
"type": "object",
"required": false,
"properties": {
"add": {
"title": "Disable Add Operation",
"description": "Disable the \"add\" operation.",
"type": "boolean",
"required": false
},
"update": {
"title": "Disable Update Operation",
"description": "Disable the \"update\" operation.",
"type": "boolean",
"required": false
},
"remove": {
"title": "Disable Remove Operation",
"description": "Disable the \"remove\" operation.",
"type": "boolean",
"required": false
}
}
},
"purge_unmatched": {
"title": "Purge Unmatched Records(Warning: Existing data not matching Filter will be removed)",
"description": "Purge all cache records which do not match the filters. Warning: Existing data not matching Filter will be removed",
"type": "boolean",
"required": false,
"default": false
},
"device_filters": {
"title": "Device Filters",
"description": "A refinement on devices that the data sync applies to. These filters are optional. If they are not specified, data sync will be applied to all instances of the device type supported by this Data Sync instance. If specified, only the devices that match the given filters will be synchronized.",
"type": "array",
"required": false,
"items": {
"type": "object",
"properties": {
"attr_name": {
"title": "Attribute Name",
"description": "The model attribute name to which the condition applies.",
"type": "string",
"required": true,
"choices": [
{
"value": "",
"title": ""
}
],
"maxLength": 1024
},
"condition": {
"title": "Condition",
"description": "If the Condition is Equals or Not Equals, then the Value to test the condition against. If the Condition is In or Not In, then Value is a list of values to test against.",
"type": "string",
"required": true,
"choices": [
{
"value": "equals",
"title": "Equals"
},
{
"value": "notequals",
"title": "Not Equals"
},
{
"value": "in",
"title": "In"
},
{
"value": "notin",
"title": "Not In"
}
],
"maxLength": 1024
},
"value": {
"title": "Value",
"description": "The selected Attribute Name is tested against the Value that can also be a list of values, such as a list of host names. The Condition tests against the Value or list of values.",
"type": "string",
"required": false,
"choices": [
{
"value": "",
"title": ""
}
],
"maxLength": 1024
},
"value_list": {
"title": "Values",
"description": "If the Condition is In or Not In, then the Values list the items to test the condition against.",
"type": "array",
"required": false,
"items": {
"type": "string",
"maxLength": 1024
}
}
}
}
},
"workflows": {
"title": "Workflows",
"description": "A list of workflows that is to be executed as part of data sync actions eg. when a resource is added, modified, or deleted",
"type": "array",
"items": {
"type": "object",
"properties": {
"model_type": {
"title": "Model Type",
"description": "The model type for which the workflow is to be executed.",
"type": "string",
"format": "uri",
"target": "/api/choices/?format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"maxLength": 1024,
"target_model_type": "",
"choices": []
},
"operation": {
"title": "Operation",
"description": "The operation for which the workflow is to be executed.",
"type": "string",
"required": true,
"choices": [
{
"value": "add",
"title": "Add"
},
{
"value": "update",
"title": "Update"
},
{
"value": "delete",
"title": "Delete"
}
],
"maxLength": 1024
},
"phase": {
"title": "Phase",
"description": "The operation phase at which the workflow is to be executed eg. Pre-Execution (before the operation is performed) or Post-Execution (after the operation is performed)",
"type": "string",
"required": true,
"choices": [
{
"value": "preexecution",
"title": "Pre Execution"
},
{
"value": "postexecution",
"title": "Post Execution"
}
],
"maxLength": 1024
},
"workflow": {
"title": "Workflow",
"description": "The workflow instance that will be executed.",
"type": "string",
"format": "uri",
"required": true,
"target": "/api/data/ProvisioningWorkflow/template_choices/?field=name&format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"target_attr": "name",
"maxLength": 1024,
"target_model_type": "data/ProvisioningWorkflow",
"choices": []
},
"synchronous": {
"title": "Synchronous",
"description": "If selected the workflow will be executed synchronously, otherwise asynchronously (default).",
"type": "boolean",
"default": false
}
}
}
},
"transaction_log_level": {
"title": "Transaction Log Level",
"description": "The transaction log level to be used for this Data Sync and its immediate sub-transactions. Default is Warning when this field is not set.",
"type": "integer",
"required": false,
"default": 30,
"choices": [
{
"value": -1,
"title": "Use System Settings"
},
{
"value": 10,
"title": "Debug"
},
{
"value": 15,
"title": "Verbose"
},
{
"value": 20,
"title": "Info"
},
{
"value": 30,
"title": "Warning"
},
{
"value": 40,
"title": "Error"
},
{
"value": 999,
"title": "Disabled"
}
]
},
"repeat_day": {
"title": "Repeat after (x) Days",
"type": "integer",
"minimum": 0,
"required": true,
"default": 0
},
"repeat_hour": {
"title": "Repeat after (x) Hours",
"type": "integer",
"minimum": 0,
"required": true,
"default": 0
},
"sync_all_instances": {
"title": "Sync All Instances",
"type": "boolean",
"default": false
},
"model_instance_filter": {
"title": "Model Instance Filter",
"type": "string",
"format": "uri",
"target": "/api/data/ModelInstanceFilter/choices/?field=name&format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"target_attr": "name",
"maxLength": 1024,
"target_model_type": "data/ModelInstanceFilter",
"choices": []
},
"filter_type": {
"title": "Filter Type",
"description": "The nature of filtering of model instances - either by inclusion or by exclusion.",
"type": "string",
"required": false,
"choices": [
{
"value": "inclusion",
"title": "Include Matching Instances"
},
{
"value": "exclusion",
"title": "Exclude Matching Instances"
}
],
"maxLength": 1024
},
"mtl_data": {
"type": "object",
"properties": {
"model_type_list": {
"title": "Model Type List",
"description": "The selected 'exclusion/inclusion' model type list that was created as a model instance of the Model Type List. See: Model Type List.",
"type": "string",
"format": "uri",
"target": "/api/data/ModelTypeList/choices/?field=name&format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"target_attr": "name",
"maxLength": 1024,
"target_model_type": "data/ModelTypeList",
"choices": []
},
"list_type": {
"title": "List Type",
"description": "The selection type of the list of model instances - either by inclusion or by exclusion.",
"type": "string",
"required": false,
"choices": [
{
"value": "inclusion",
"title": "Include Selected Model Types"
},
{
"value": "exclusion",
"title": "Exclude Selected Model Types"
},
{
"value": "ordered",
"title": "Ordered List"
}
],
"maxLength": 1024
},
"filter_by": {
"title": "Filter By",
"description": "Defines the scope of the model types that are considered for this model type list. For example, a value of \"data\" implies that the model type list only applies to data models, while a value of \"device/device_type\" implies that the model type list only applies to device models of the given device_type. When not specified or empty, the model type list applies to any model type.",
"type": "string",
"required": false,
"maxLength": 1024
},
"model_types": {
"title": "Model Types",
"description": "When List Type is \"Include Selected Model Types\" or \"Exclude Selected Model Types\", this is a list of model types to be excluded or included.",
"type": "array",
"required": false,
"items": {
"type": "string",
"format": "uri",
"maxLength": 1024,
"target": "/api/choices/?format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"choices": []
}
},
"sequence": {
"title": "Sequence",
"description": "When List Type is \"Ordered List\", this is an order-specific list of model types.",
"type": "array",
"required": false,
"items": {
"type": "string",
"format": "uri",
"maxLength": 1024,
"target": "/api/choices/?format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"choices": []
}
},
"sync_order_mtl": {
"title": "Synchronization Order Model Type List",
"description": "The selected 'ordered' model type list that was created as a model instance of the Model Type List. This list dictates the order in which models will be synchronized. See: Model Type List.",
"type": "string",
"format": "uri",
"target": "/api/data/ModelTypeList/choices/?field=name&format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"target_attr": "name",
"maxLength": 1024,
"target_model_type": "data/ModelTypeList",
"choices": []
},
"sync_order_sequence": {
"title": "Synchronization Order Sequence",
"description": "When List Type is \"Ordered List\", this is an order-specific list of model types.",
"type": "array",
"required": false,
"items": {
"type": "string",
"format": "uri",
"maxLength": 1024,
"target": "/api/choices/?format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"choices": []
}
}
}
},
"mif_filters": {
"title": "User Filters",
"type": "array",
"items": {
"type": "object",
"properties": {
"use_custom_filter": {
"title": "Custom Filter",
"description": "Specify Custom filter parameters or use predefined filters",
"type": "boolean",
"default": false
},
"filter_name": {
"title": "Filter Name",
"type": "string",
"maxLength": 1024
},
"custom_filter_parameters": {
"title": "Custom Filter Parameters",
"type": "object",
"properties": {
"model_type": {
"title": "Model Type",
"description": "The type of the model that this filter applies to.",
"type": "string",
"required": true,
"choices": [
{
"value": "",
"title": ""
}
],
"maxLength": 1024
},
"attr_filters": {
"title": "Attribute Filters",
"type": "array",
"items": {
"type": "object",
"properties": {
"attr_name": {
"title": "Attribute Name",
"description": "The model attribute name for which the filter applies.",
"type": "string",
"maxLength": 1024
},
"condition": {
"title": "Condition",
"description": "The nature of comparison to be made for the filter. Condition can be 'Equals', 'Not Equals', 'Greater Than', 'Less Than', 'In', 'Not In' or 'Like'",
"type": "string",
"choices": [
{
"value": "equals",
"title": "Equals"
},
{
"value": "notequals",
"title": "Not Equals"
},
{
"value": "greaterthan",
"title": "Greater Than"
},
{
"value": "lessthan",
"title": "Less Than"
},
{
"value": "in",
"title": "In"
},
{
"value": "notin",
"title": "Not In"
},
{
"value": "like",
"title": "Like"
}
],
"maxLength": 1024
},
"value": {
"title": "Value",
"description": "A single value to which the condition is applied. Value is used when the condition is one of 'Equals', 'Not Equals', 'Greater Than', or 'Less Than'",
"type": "string",
"maxLength": 1024
},
"value_list": {
"title": "Values",
"description": "A list of multiple values to which the condition is applied. Values are used when the condition is either 'In' or 'Not In'",
"type": "array",
"items": {
"type": "string",
"maxLength": 1024
}
}
}
}
}
}
},
"summary_value": {
"type": "string",
"maxLength": 1024
}
}
}
}
},
"schema_version": "0.4"
}
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get the GUI Add form. | GET | /api/data/DatasyncBuilderTemplate/add/ |
|
The GUI Add form of data/DatasyncBuilderTemplate 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/data/DatasyncBuilderTemplate | 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/data/DatasyncBuilderTemplate/ | hierarchy=[hierarchy] | {"hrefs":["/api/data/DatasyncBuilderTemplate/[pkid1]", "/api/data/DatasyncBuilderTemplate/[pkid2]", ...]} |
GET http://[host-proxy]/api/data/DatasyncBuilderTemplate/?hierarchy=[hierarchy]&format=json
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Get a selected [export_format] of the schema and instances [pkid1], [pkid2],... of data/DatasyncBuilderTemplate; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | POST | /api/data/DatasyncBuilderTemplate/export/ |
|
{ "hrefs":["/api/data/DatasyncBuilderTemplate/[pkid1]", "/api/data/DatasyncBuilderTemplate/[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 data/DatasyncBuilderTemplate and the JSON format can be used to import instances of data/DatasyncBuilderTemplate.
GET http://[host-proxy]/api/data/DatasyncBuilderTemplate/?hierarchy=[hierarchy]
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get a compressed format of the Bulk Load spreadsheet template for data/DatasyncBuilderTemplate | POST | /api/data/DatasyncBuilderTemplate/export_bulkload_template/ |
|
The response is an attachment of the format: filetype_bulkloadsheet.xlsx.gz |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Tag | PATCH | /api/data/DatasyncBuilderTemplate/+tag/ |
|
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Configuration Template | GET | /api/data/DatasyncBuilderTemplate/configuration_template/ | hierarchy=[hierarchy] |
|
POST http://[host-proxy]/api/data/ConfigurationTemplate/?hierarchy=[hierarchy]
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Field Display Policy | GET | /api/data/DatasyncBuilderTemplate/field_display_policy/ | hierarchy=[hierarchy] |
|
POST http://[host-proxy]/api/data/FieldDisplayPolicy/?hierarchy=[hierarchy]
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| List | GET | /api/data/DatasyncBuilderTemplate/ |
|
The data/DatasyncBuilderTemplate schema and all instances as JSON. |
(The list will return 0 to 3 data/DatasyncBuilderTemplate instances)
{
"pagination": {
"skip": 0,
"limit": 3,
"maximum_limit": 2000,
"total": 9,
"total_limit": null,
"order_by": "name",
"direction": "asc",
"current": "/api/data/DatasyncBuilderTemplate/?skip=0&limit=3&order_by=name&direction=asc&traversal=fulltree"
},
"operations": [
"add",
"bulk_update_form",
"list",
"update",
"transform",
"migration",
"remove",
"export",
"help",
"configuration_template",
"field_display_policy",
"get",
"export_bulkload_template"
],
"meta": {
"model_type": "data/DatasyncBuilderTemplate",
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "hierarchy_friendly_name",
"title": "Located At",
"allow_filtering": true
}
],
"tagged_versions": [],
"tags": [],
"title": "",
"business_key": {
"unique": [
"name"
],
"hierarchy": true
},
"api_version": "21.2",
"cached": true,
"references": {
"children": [],
"parent": [
{
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101",
"pkid": "6t0ggef2c0deab00hb595101"
}
],
"device": [
{
"href": "",
"pkid": ""
}
],
"foreign_key": []
},
"model_specific_actions": [
"add",
"configuration_template",
"export",
"export_bulkload_template",
"field_display_policy",
"get",
"list",
"remove",
"tag",
"update",
"clone"
],
"schema_version": "0.4",
"actions": [
{
"add": {
"method": "GET",
"class": "add",
"href": "/api/data/DatasyncBuilderTemplate/add/?hierarchy=[hierarchy]",
"support_async": false,
"title": "Add"
}
},
{
"remove": {
"method": "DELETE",
"class": "delete",
"href": "/api/data/DatasyncBuilderTemplate/?hierarchy=[hierarchy]",
"support_async": true,
"title": "Delete"
}
},
{
"export": {
"method": "POST",
"class": "export",
"href": "/api/data/DatasyncBuilderTemplate/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/data/DatasyncBuilderTemplate/export_bulkload_template/?hierarchy=[hierarchy]",
"support_async": false,
"title": "Export Bulk Load Template"
}
},
{
"tag": {
"method": "PATCH",
"class": "tag",
"href": "/api/data/DatasyncBuilderTemplate/+tag/?hierarchy=[hierarchy]",
"support_async": true,
"title": "Tag",
"view": "/api/view/TagNameForm/add/?auth_token=[authtoken]
}
},
{
"configuration_template": {
"method": "GET",
"class": "config",
"href": "/api/data/DatasyncBuilderTemplate/configuration_template/?hierarchy=[hierarchy]",
"support_async": false,
"title": "Configuration Template"
}
},
{
"field_display_policy": {
"method": "GET",
"class": "display_policy",
"href": "/api/data/DatasyncBuilderTemplate/field_display_policy/?hierarchy=[hierarchy]",
"support_async": false,
"title": "Field Display Policy"
}
},
{
"list": {
"method": "GET",
"class": "list",
"href": "/api/data/DatasyncBuilderTemplate/?hierarchy=[hierarchy]",
"support_async": false,
"title": "List"
}
}
]
},
"resources": [
{
"data": {
"name": "PurgeMS365",
"description": "Removes all locally synced MS365 data for Microsoft-Only-MS-Tenant",
"datasync_prefix": "PurgeMS365_",
"device_type": "data/MSGraph",
"model_parent": "device/msgraph",
"uc_automation": true,
"uc_assurance": true,
"uc_analytics": true,
"security": true,
"email": true,
"license_management": true,
"meeting_rooms": true,
"sync_type": "purge_local",
"asynchronous": false,
"force_update_flag": false,
"purge_unmatched": false,
"device_filters": [
{
"attr_name": "name",
"condition": "equals",
"value": "{{ data.MSGraph.name || direction:local }}"
}
],
"workflows": [
{
"model_type": "device/msgraph/MsolUser",
"operation": "delete",
"phase": "preexecution",
"workflow": "UserMS365SyncPurge"
}
],
"transaction_log_level": 30,
"repeat_day": 0,
"repeat_hour": 0,
"sync_all_instances": true,
"filter_type": "inclusion",
"mtl_data": {
"list_type": "inclusion"
},
"pkid": "69ee3a3662dfd021865c5a17",
"hierarchy_friendly_name": "sys (System)",
"hierarchy_path": "sys"
},
"meta": {
"model_type": "data/DatasyncBuilderTemplate",
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "hierarchy_friendly_name",
"title": "Located At",
"allow_filtering": true
}
],
"tagged_versions": [],
"tags": [
"V4UC",
"ba_CommonOverlay"
],
"title": "PurgeMS365",
"business_key": {
"unique": [
"name"
],
"hierarchy": true
},
"api_version": "21.2",
"cached": true,
"references": {
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"device": [
{
"href": "",
"pkid": ""
}
],
"foreign_key": [
{
"path": "workflows.0.workflow",
"model_type": "data/ProvisioningWorkflow"
}
],
"owner": [
{
"pkid": ""
}
],
"self": [
{
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/",
"pkid": "69ee3a3662dfd021865c5a16"
}
]
},
"path": [
"6t0ggef2c0deab00hb595101",
"69ee3a3662dfd021865c5a16"
],
"schema_version": "0.4",
"actions": [
{
"update": {
"method": "PUT",
"class": "update",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/",
"support_async": true,
"title": "Modify"
}
},
{
"remove": {
"method": "DELETE",
"class": "delete",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/",
"support_async": true,
"title": "Delete"
}
},
{
"clone": {
"method": "GET",
"class": "clone",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/clone/?schema=&schema_rules=true",
"support_async": false,
"title": "Clone"
}
},
{
"export": {
"method": "GET",
"class": "export",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/export/",
"support_async": false,
"title": "Export",
"view": "/api/view/ExportData/add/",
"submit": "payload"
}
},
{
"tag": {
"method": "PATCH",
"class": "tag",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/+tag/",
"support_async": true,
"title": "Tag",
"view": "/api/view/TagNameForm/add/"
}
},
{
"get": {
"method": "GET",
"class": "get",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/",
"support_async": false,
"title": "Get"
}
}
],
"summary": "false"
},
"pkid": "69ee3a3662dfd021865c5a16"
},
{
"data": {
"name": "PurgeMSExchangeOnline",
"description": "Removes all locally synced MSExchangeOnline data",
"datasync_prefix": "PurgeMSExchangeOnline_",
"device_type": "data/MSExchangeOnline",
"model_parent": "device/msexchangeonline",
"email": true,
"sync_type": "purge_local",
"asynchronous": false,
"force_update_flag": false,
"purge_unmatched": false,
"device_filters": [
{
"attr_name": "name",
"condition": "equals",
"value": "{{ data.MSExchangeOnline.name || direction:local }}"
}
],
"transaction_log_level": 30,
"repeat_day": 0,
"repeat_hour": 0,
"sync_all_instances": true,
"mtl_data": {
"model_type_list": "MSExchangeOnlineData",
"sync_order_mtl": "MSExchangeOnlineDataSyncOrder"
},
"pkid": "69ee3a3662dfd021865c5a0f",
"hierarchy_friendly_name": "sys (System)",
"hierarchy_path": "sys"
},
"meta": {
"model_type": "data/DatasyncBuilderTemplate",
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "hierarchy_friendly_name",
"title": "Located At",
"allow_filtering": true
}
],
"tagged_versions": [],
"tags": [
"V4UC",
"ba_CommonOverlay"
],
"title": "PurgeMSExchangeOnline",
"business_key": {
"unique": [
"name"
],
"hierarchy": true
},
"api_version": "21.2",
"cached": true,
"references": {
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"device": [
{
"href": "",
"pkid": ""
}
],
"foreign_key": [
{
"pkid": "69ee3a2a62dfd021865c5724",
"path": "mtl_data.model_type_list",
"model_type": "data/ModelTypeList"
},
{
"pkid": "69ee3a2b62dfd021865c5750",
"path": "mtl_data.sync_order_mtl",
"model_type": "data/ModelTypeList"
}
],
"owner": [
{
"pkid": ""
}
],
"self": [
{
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/",
"pkid": "69ee3a3662dfd021865c5a0e"
}
]
},
"path": [
"6t0ggef2c0deab00hb595101",
"69ee3a3662dfd021865c5a0e"
],
"schema_version": "0.4",
"actions": [
{
"update": {
"method": "PUT",
"class": "update",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/",
"support_async": true,
"title": "Modify"
}
},
{
"remove": {
"method": "DELETE",
"class": "delete",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/",
"support_async": true,
"title": "Delete"
}
},
{
"clone": {
"method": "GET",
"class": "clone",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/clone/?schema=&schema_rules=true",
"support_async": false,
"title": "Clone"
}
},
{
"export": {
"method": "GET",
"class": "export",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/export/",
"support_async": false,
"title": "Export",
"view": "/api/view/ExportData/add/",
"submit": "payload"
}
},
{
"tag": {
"method": "PATCH",
"class": "tag",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/+tag/",
"support_async": true,
"title": "Tag",
"view": "/api/view/TagNameForm/add/"
}
},
{
"get": {
"method": "GET",
"class": "get",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a0e/",
"support_async": false,
"title": "Get"
}
}
],
"summary": "false"
},
"pkid": "69ee3a3662dfd021865c5a0e"
},
{
"data": {
"name": "PurgeMSTeamsOnline",
"description": "Removes all locally synced MSTeamsOnline data for Microsoft-Only-MS-Tenant",
"datasync_prefix": "PurgeMSTeamsOnline_",
"device_type": "data/MSTeamsOnline",
"model_parent": "device/msteamsonline",
"uc_automation": true,
"sync_type": "purge_local",
"asynchronous": false,
"force_update_flag": false,
"purge_unmatched": false,
"device_filters": [
{
"attr_name": "name",
"condition": "equals",
"value": "{{ data.MSTeamsOnline.name || direction:local }}"
}
],
"workflows": [
{
"model_type": "device/msteamsonline/CsOnlineUser",
"operation": "delete",
"phase": "preexecution",
"workflow": "UserMsTeamsSyncPurge"
}
],
"transaction_log_level": 30,
"repeat_day": 0,
"repeat_hour": 0,
"sync_all_instances": true,
"filter_type": "inclusion",
"mtl_data": {
"list_type": "inclusion"
},
"pkid": "69ee3a3662dfd021865c59ff",
"hierarchy_friendly_name": "sys (System)",
"hierarchy_path": "sys"
},
"meta": {
"model_type": "data/DatasyncBuilderTemplate",
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "hierarchy_friendly_name",
"title": "Located At",
"allow_filtering": true
}
],
"tagged_versions": [],
"tags": [
"V4UC",
"ba_CommonOverlay"
],
"title": "PurgeMSTeamsOnline",
"business_key": {
"unique": [
"name"
],
"hierarchy": true
},
"api_version": "21.2",
"cached": true,
"references": {
"parent": [
{
"pkid": "6t0ggef2c0deab00hb595101",
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101"
}
],
"device": [
{
"href": "",
"pkid": ""
}
],
"foreign_key": [
{
"path": "workflows.0.workflow",
"model_type": "data/ProvisioningWorkflow"
}
],
"owner": [
{
"pkid": ""
}
],
"self": [
{
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/",
"pkid": "69ee3a3662dfd021865c59fe"
}
]
},
"path": [
"6t0ggef2c0deab00hb595101",
"69ee3a3662dfd021865c59fe"
],
"schema_version": "0.4",
"actions": [
{
"update": {
"method": "PUT",
"class": "update",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/",
"support_async": true,
"title": "Modify"
}
},
{
"remove": {
"method": "DELETE",
"class": "delete",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/",
"support_async": true,
"title": "Delete"
}
},
{
"clone": {
"method": "GET",
"class": "clone",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/clone/?schema=&schema_rules=true",
"support_async": false,
"title": "Clone"
}
},
{
"export": {
"method": "GET",
"class": "export",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/export/",
"support_async": false,
"title": "Export",
"view": "/api/view/ExportData/add/",
"submit": "payload"
}
},
{
"tag": {
"method": "PATCH",
"class": "tag",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/+tag/",
"support_async": true,
"title": "Tag",
"view": "/api/view/TagNameForm/add/"
}
},
{
"get": {
"method": "GET",
"class": "get",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c59fe/",
"support_async": false,
"title": "Get"
}
}
],
"summary": "false"
},
"pkid": "69ee3a3662dfd021865c59fe"
}
]
}
(Show the first instance)
{
"data": {
"name": "PurgeMS365",
"description": "Removes all locally synced MS365 data for Microsoft-Only-MS-Tenant",
"datasync_prefix": "PurgeMS365_",
"device_type": "data/MSGraph",
"model_parent": "device/msgraph",
"uc_automation": true,
"uc_assurance": true,
"uc_analytics": true,
"security": true,
"email": true,
"license_management": true,
"meeting_rooms": true,
"sync_type": "purge_local",
"asynchronous": false,
"force_update_flag": false,
"purge_unmatched": false,
"device_filters": [
{
"attr_name": "name",
"condition": "equals",
"value": "{{ data.MSGraph.name || direction:local }}"
}
],
"workflows": [
{
"model_type": "device/msgraph/MsolUser",
"operation": "delete",
"phase": "preexecution",
"workflow": "UserMS365SyncPurge"
}
],
"transaction_log_level": 30,
"repeat_day": 0,
"repeat_hour": 0,
"sync_all_instances": true,
"filter_type": "inclusion",
"mtl_data": {
"list_type": "inclusion"
},
"pkid": "69ee3a3662dfd021865c5a17"
},
"meta": {
"model_type": "data/DatasyncBuilderTemplate",
"summary_attrs": [
{
"name": "name",
"title": "Name"
},
{
"name": "hierarchy_friendly_name",
"title": "Located At",
"allow_filtering": true
}
],
"tagged_versions": [],
"tags": [
"V4UC",
"ba_CommonOverlay"
],
"title": "PurgeMS365",
"business_key": {
"unique": [
"name"
],
"hierarchy": true
},
"api_version": "21.2",
"cached": false,
"references": {
"parent": [
{
"href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101",
"pkid": "6t0ggef2c0deab00hb595101"
}
],
"device": [
{
"href": "",
"pkid": ""
}
],
"foreign_key": [
{
"path": "workflows.0.workflow",
"model_type": "data/ProvisioningWorkflow"
}
],
"owner": [
{
"pkid": ""
}
],
"children": [],
"self": [
{
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/",
"pkid": "69ee3a3662dfd021865c5a16"
}
]
},
"path": [
"6t0ggef2c0deab00hb595101",
"69ee3a3662dfd021865c5a16"
],
"schema_version": "0.4",
"actions": [
{
"update": {
"method": "PUT",
"class": "update",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/?hierarchy=[hierarchy]",
"support_async": true,
"title": "Modify"
}
},
{
"remove": {
"method": "DELETE",
"class": "delete",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/?hierarchy=[hierarchy]",
"support_async": true,
"title": "Delete"
}
},
{
"clone": {
"method": "GET",
"class": "clone",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/clone/?hierarchy=[hierarchy]&schema=&schema_rules=true",
"support_async": false,
"title": "Clone"
}
},
{
"export": {
"method": "GET",
"class": "export",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/export/?hierarchy=[hierarchy]",
"support_async": false,
"title": "Export",
"view": "/api/view/ExportData/add/?auth_token=[authtoken],
"submit": "payload"
}
},
{
"tag": {
"method": "PATCH",
"class": "tag",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/+tag/?hierarchy=[hierarchy]",
"support_async": true,
"title": "Tag",
"view": "/api/view/TagNameForm/add/?auth_token=[authtoken]
}
},
{
"get": {
"method": "GET",
"class": "get",
"href": "/api/data/DatasyncBuilderTemplate/69ee3a3662dfd021865c5a16/?hierarchy=[hierarchy]",
"support_async": false,
"title": "Get"
}
}
]
},
"pkid": "69ee3a3662dfd021865c5a16"
}
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Modify | PUT | /api/data/DatasyncBuilderTemplate/[pkid] | hierarchy=[hierarchy] | (For payload specification) |
For Bulk modification, refer to the Bulk Modify section.
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Delete | DELETE | /api/data/DatasyncBuilderTemplate/[pkid] | hierarchy=[hierarchy] |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Clone instance with [pkid]. The schema rules are applied. | GET | /api/data/DatasyncBuilderTemplate/[pkid]/clone/?schema=&schema_rules=true |
|
A JSON payload with:
|
GET http://[host-proxy]/api/data/DatasyncBuilderTemplate/?hierarchy=[hierarchy]&format=json
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get a selected [export_format] of the schema and a single instance with [pkid] of data/DatasyncBuilderTemplate; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | GET | /api/data/DatasyncBuilderTemplate/[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 data/DatasyncBuilderTemplate and the JSON format can be used to import instances of data/DatasyncBuilderTemplate.
For Bulk Export, refer to the Bulk Export section.
| Task | Call | URL | Parameters | Payload |
|---|---|---|---|---|
| Tag | PATCH | /api/data/DatasyncBuilderTemplate/[pkid]/+tag | hierarchy=[hierarchy] | If payload required: |
| Task | Call | URL | Parameters | Response |
|---|---|---|---|---|
| Get | GET | /api/data/DatasyncBuilderTemplate/[pkid] | hierarchy=[hierarchy] | The data/DatasyncBuilderTemplate instance with [pkid]. |