{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "REST API for Azure Logic Apps.",
    "title": "LogicManagementClient",
    "version": "2015-08-01-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/logic/resource-manager/Microsoft.Logic/preview/2015-08-01-preview/logic.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "logic",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json",
    "text/json"
  ],
  "produces": [
    "application/json",
    "text/json"
  ],
  "parameters": {
    "api-version": {
      "description": "The API version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "subscriptionId": {
      "description": "The subscription id.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts": {
      "get": {
        "description": "Gets a list of integration accounts by subscription.",
        "operationId": "IntegrationAccounts_ListBySubscription",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccounts"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts": {
      "get": {
        "description": "Gets a list of integration accounts by resource group.",
        "operationId": "IntegrationAccounts_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccounts"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}": {
      "delete": {
        "description": "Deletes an integration account.",
        "operationId": "IntegrationAccounts_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "IntegrationAccounts"
        ]
      },
      "get": {
        "description": "Gets an integration account.",
        "operationId": "IntegrationAccounts_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccount"
            }
          }
        },
        "tags": [
          "IntegrationAccounts"
        ]
      },
      "patch": {
        "description": "Updates an integration account.",
        "operationId": "IntegrationAccounts_Update",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account.",
            "in": "body",
            "name": "integrationAccount",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccount"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccount"
            }
          }
        },
        "tags": [
          "IntegrationAccounts"
        ]
      },
      "put": {
        "description": "Creates or updates an integration account.",
        "operationId": "IntegrationAccounts_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account.",
            "in": "body",
            "name": "integrationAccount",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccount"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccount"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IntegrationAccount"
            }
          }
        },
        "tags": [
          "IntegrationAccounts"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements": {
      "get": {
        "description": "Gets a list of integration account agreements.",
        "operationId": "IntegrationAccountAgreements_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountAgreementListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccountAgreements"
        ],
        "x-ms-odata": "#/definitions/IntegrationAccountAgreementFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}": {
      "delete": {
        "description": "Deletes an integration account agreement.",
        "operationId": "IntegrationAccountAgreements_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account agreement name.",
            "in": "path",
            "name": "agreementName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "IntegrationAccountAgreements"
        ]
      },
      "get": {
        "description": "Gets an integration account agreement.",
        "operationId": "IntegrationAccountAgreements_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account agreement name.",
            "in": "path",
            "name": "agreementName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountAgreement"
            }
          }
        },
        "tags": [
          "IntegrationAccountAgreements"
        ]
      },
      "put": {
        "description": "Creates or updates an integration account agreement.",
        "operationId": "IntegrationAccountAgreements_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account agreement name.",
            "in": "path",
            "name": "agreementName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account agreement.",
            "in": "body",
            "name": "agreement",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccountAgreement"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountAgreement"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountAgreement"
            }
          }
        },
        "tags": [
          "IntegrationAccountAgreements"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates": {
      "get": {
        "description": "Gets a list of integration account certificates.",
        "operationId": "IntegrationAccountCertificates_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountCertificateListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccountCertificates"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}": {
      "delete": {
        "description": "Deletes an integration account certificate.",
        "operationId": "IntegrationAccountCertificates_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account certificate name.",
            "in": "path",
            "name": "certificateName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "IntegrationAccountCertificates"
        ]
      },
      "get": {
        "description": "Gets an integration account certificate.",
        "operationId": "IntegrationAccountCertificates_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account certificate name.",
            "in": "path",
            "name": "certificateName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountCertificate"
            }
          }
        },
        "tags": [
          "IntegrationAccountCertificates"
        ]
      },
      "put": {
        "description": "Creates or updates an integration account certificate.",
        "operationId": "IntegrationAccountCertificates_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account certificate name.",
            "in": "path",
            "name": "certificateName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account certificate.",
            "in": "body",
            "name": "certificate",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccountCertificate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountCertificate"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountCertificate"
            }
          }
        },
        "tags": [
          "IntegrationAccountCertificates"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl": {
      "post": {
        "description": "Lists the integration account callback URL.",
        "operationId": "IntegrationAccounts_ListCallbackUrl",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The callback URL parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ListCallbackUrlParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CallbackUrl"
            }
          }
        },
        "tags": [
          "IntegrationAccounts"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps": {
      "get": {
        "description": "Gets a list of integration account maps.",
        "operationId": "IntegrationAccountMaps_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountMapListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccountMaps"
        ],
        "x-ms-odata": "#/definitions/IntegrationAccountMapFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}": {
      "delete": {
        "description": "Deletes an integration account map.",
        "operationId": "IntegrationAccountMaps_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account map name.",
            "in": "path",
            "name": "mapName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "IntegrationAccountMaps"
        ]
      },
      "get": {
        "description": "Gets an integration account map.",
        "operationId": "IntegrationAccountMaps_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account map name.",
            "in": "path",
            "name": "mapName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountMap"
            }
          }
        },
        "tags": [
          "IntegrationAccountMaps"
        ]
      },
      "put": {
        "description": "Creates or updates an integration account map.",
        "operationId": "IntegrationAccountMaps_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account map name.",
            "in": "path",
            "name": "mapName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account map.",
            "in": "body",
            "name": "map",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccountMap"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountMap"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountMap"
            }
          }
        },
        "tags": [
          "IntegrationAccountMaps"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners": {
      "get": {
        "description": "Gets a list of integration account partners.",
        "operationId": "IntegrationAccountPartners_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountPartnerListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccountPartners"
        ],
        "x-ms-odata": "#/definitions/IntegrationAccountPartnerFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}": {
      "delete": {
        "description": "Deletes an integration account partner.",
        "operationId": "IntegrationAccountPartners_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account partner name.",
            "in": "path",
            "name": "partnerName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "IntegrationAccountPartners"
        ]
      },
      "get": {
        "description": "Gets an integration account partner.",
        "operationId": "IntegrationAccountPartners_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account partner name.",
            "in": "path",
            "name": "partnerName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountPartner"
            }
          }
        },
        "tags": [
          "IntegrationAccountPartners"
        ]
      },
      "put": {
        "description": "Creates or updates an integration account partner.",
        "operationId": "IntegrationAccountPartners_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account partner name.",
            "in": "path",
            "name": "partnerName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account partner.",
            "in": "body",
            "name": "partner",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccountPartner"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountPartner"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountPartner"
            }
          }
        },
        "tags": [
          "IntegrationAccountPartners"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas": {
      "get": {
        "description": "Gets a list of integration account schemas.",
        "operationId": "IntegrationAccountSchemas_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The number of items to be included in the result.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountSchemaListResult"
            }
          }
        },
        "tags": [
          "IntegrationAccountSchemas"
        ],
        "x-ms-odata": "#/definitions/IntegrationAccountSchemaFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}": {
      "delete": {
        "description": "Deletes an integration account schema.",
        "operationId": "IntegrationAccountSchemas_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account schema name.",
            "in": "path",
            "name": "schemaName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "IntegrationAccountSchemas"
        ]
      },
      "get": {
        "description": "Gets an integration account schema.",
        "operationId": "IntegrationAccountSchemas_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account schema name.",
            "in": "path",
            "name": "schemaName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountSchema"
            }
          }
        },
        "tags": [
          "IntegrationAccountSchemas"
        ]
      },
      "put": {
        "description": "Creates or updates an integration account schema.",
        "operationId": "IntegrationAccountSchemas_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account name.",
            "in": "path",
            "name": "integrationAccountName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The integration account schema name.",
            "in": "path",
            "name": "schemaName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The integration account schema.",
            "in": "body",
            "name": "schema",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IntegrationAccountSchema"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountSchema"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IntegrationAccountSchema"
            }
          }
        },
        "tags": [
          "IntegrationAccountSchemas"
        ]
      }
    }
  },
  "definitions": {
    "AS2AcknowledgementConnectionSettings": {
      "properties": {
        "ignoreCertificateNameMismatch": {
          "description": "The value indicating whether to ignore mismatch in certificate name.",
          "type": "boolean"
        },
        "keepHttpConnectionAlive": {
          "description": "The value indicating whether to keep the connection alive.",
          "type": "boolean"
        },
        "supportHttpStatusCodeContinue": {
          "description": "The value indicating whether to support HTTP status code 'CONTINUE'.",
          "type": "boolean"
        },
        "unfoldHttpHeaders": {
          "description": "The value indicating whether to unfold the HTTP headers.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AS2AgreementContent": {
      "properties": {
        "receiveAgreement": {
          "$ref": "#/definitions/AS2OneWayAgreement",
          "description": "The AS2 one-way receive agreement."
        },
        "sendAgreement": {
          "$ref": "#/definitions/AS2OneWayAgreement",
          "description": "The AS2 one-way send agreement."
        }
      },
      "type": "object"
    },
    "AS2EnvelopeSettings": {
      "properties": {
        "AutogenerateFileName": {
          "description": "The value indicating whether to auto generate file name.",
          "type": "boolean"
        },
        "SuspendMessageOnFileNameGenerationError": {
          "description": "The value indicating whether to suspend message on file name generation error.",
          "type": "boolean"
        },
        "fileNameTemplate": {
          "description": "The template for file name.",
          "type": "string"
        },
        "messageContentType": {
          "description": "The message content type.",
          "type": "string"
        },
        "transmitFileNameInMimeHeader": {
          "description": "The value indicating whether to transmit file name in mime header.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AS2ErrorSettings": {
      "properties": {
        "ResendIfMdnNotReceived": {
          "description": "The value indicating whether to resend message If MDN is not received.",
          "type": "boolean"
        },
        "SuspendDuplicateMessage": {
          "description": "The value indicating whether to suspend duplicate message.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AS2MdnSettings": {
      "properties": {
        "dispositionNotificationTo": {
          "description": "The disposition notification to header value.",
          "type": "string"
        },
        "mdnText": {
          "description": "The MDN text.",
          "type": "string"
        },
        "micHashingAlgorithm": {
          "$ref": "#/definitions/HashingAlgorithm",
          "description": "The signing or hashing algorithm."
        },
        "needMdn": {
          "description": "The value indicating whether to send or request a MDN.",
          "type": "boolean"
        },
        "receiptDeliveryUrl": {
          "description": "The receipt delivery URL.",
          "type": "string"
        },
        "sendInboundMdnToMessageBox": {
          "description": "The value indicating whether to send inbound MDN to message box.",
          "type": "boolean"
        },
        "sendMdnAsynchronously": {
          "description": "The value indicating whether to send the asynchronous MDN.",
          "type": "boolean"
        },
        "signMdn": {
          "description": "The value indicating whether the MDN needs to be signed or not.",
          "type": "boolean"
        },
        "signOutboundMdnIfOptional": {
          "description": "The value indicating whether to sign the outbound MDN if optional.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AS2MessageConnectionSettings": {
      "properties": {
        "ignoreCertificateNameMismatch": {
          "description": "The value indicating whether to ignore mismatch in certificate name.",
          "type": "boolean"
        },
        "keepHttpConnectionAlive": {
          "description": "The value indicating whether to keep the connection alive.",
          "type": "boolean"
        },
        "supportHttpStatusCodeContinue": {
          "description": "The value indicating whether to support HTTP status code 'CONTINUE'.",
          "type": "boolean"
        },
        "unfoldHttpHeaders": {
          "description": "The value indicating whether to unfold the HTTP headers.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AS2OneWayAgreement": {
      "properties": {
        "protocolSettings": {
          "$ref": "#/definitions/AS2ProtocolSettings",
          "description": "The AS2 protocol settings."
        },
        "receiverBusinessIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The receiver business identity"
        },
        "senderBusinessIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The sender business identity"
        }
      },
      "type": "object"
    },
    "AS2ProtocolSettings": {
      "properties": {
        "acknowledgementConnectionSettings": {
          "$ref": "#/definitions/AS2AcknowledgementConnectionSettings",
          "description": "The acknowledgement connection settings."
        },
        "envelopeSettings": {
          "$ref": "#/definitions/AS2EnvelopeSettings",
          "description": "The envelope settings."
        },
        "errorSettings": {
          "$ref": "#/definitions/AS2ErrorSettings",
          "description": "The error settings."
        },
        "mdnSettings": {
          "$ref": "#/definitions/AS2MdnSettings",
          "description": "The MDN settings."
        },
        "messageConnectionSettings": {
          "$ref": "#/definitions/AS2MessageConnectionSettings",
          "description": "The message connection settings."
        },
        "securitySettings": {
          "$ref": "#/definitions/AS2SecuritySettings",
          "description": "The security settings."
        },
        "validationSettings": {
          "$ref": "#/definitions/AS2ValidationSettings",
          "description": "The validation settings."
        }
      },
      "type": "object"
    },
    "AS2SecuritySettings": {
      "properties": {
        "enableNrrForInboundDecodedMessages": {
          "description": "The value indicating whether to enable NRR for inbound decoded messages.",
          "type": "boolean"
        },
        "enableNrrForInboundEncodedMessages": {
          "description": "The value indicating whether to enable NRR for inbound encoded messages.",
          "type": "boolean"
        },
        "enableNrrForInboundMdn": {
          "description": "The value indicating whether to enable NRR for inbound MDN.",
          "type": "boolean"
        },
        "enableNrrForOutboundDecodedMessages": {
          "description": "The value indicating whether to enable NRR for outbound decoded messages.",
          "type": "boolean"
        },
        "enableNrrForOutboundEncodedMessages": {
          "description": "The value indicating whether to enable NRR for outbound encoded messages.",
          "type": "boolean"
        },
        "enableNrrForOutboundMdn": {
          "description": "The value indicating whether to enable NRR for outbound MDN.",
          "type": "boolean"
        },
        "encryptionCertificateName": {
          "description": "The name of the encryption certificate.",
          "type": "string"
        },
        "overrideGroupSigningCertificate": {
          "description": "The value indicating whether to send or request a MDN.",
          "type": "boolean"
        },
        "signingCertificateName": {
          "description": "The name of the signing certificate.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AS2ValidationSettings": {
      "properties": {
        "checkCertificateRevocationListOnReceive": {
          "description": "The value indicating whether to check for certificate revocation list on receive.",
          "type": "boolean"
        },
        "checkCertificateRevocationListOnSend": {
          "description": "The value indicating whether to check for certificate revocation list on send.",
          "type": "boolean"
        },
        "checkDuplicateMessage": {
          "description": "The value indicating whether to check for duplicate message.",
          "type": "boolean"
        },
        "compressMessage": {
          "description": "The value indicating whether the message has to be compressed.",
          "type": "boolean"
        },
        "encryptMessage": {
          "description": "The value indicating whether the message has to be encrypted.",
          "type": "boolean"
        },
        "encryptionAlgorithm": {
          "$ref": "#/definitions/EncryptionAlgorithm",
          "description": "The encryption algorithm."
        },
        "interchangeDuplicatesValidityDays": {
          "description": "The number of days to look back for duplicate interchange.",
          "format": "int32",
          "type": "integer"
        },
        "overrideMessageProperties": {
          "description": "The value indicating whether to override incoming message properties with those in agreement.",
          "type": "boolean"
        },
        "signMessage": {
          "description": "The value indicating whether the message has to be signed.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AgreementContent": {
      "properties": {
        "AS2": {
          "$ref": "#/definitions/AS2AgreementContent",
          "description": "The AS2 agreement content."
        },
        "Edifact": {
          "$ref": "#/definitions/EdifactAgreementContent",
          "description": "The EDIFACT agreement content."
        },
        "X12": {
          "$ref": "#/definitions/X12AgreementContent",
          "description": "The X12 agreement content."
        }
      },
      "type": "object"
    },
    "AgreementType": {
      "enum": [
        "NotSpecified",
        "AS2",
        "X12",
        "Edifact"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "AgreementType"
      }
    },
    "B2BPartnerContent": {
      "properties": {
        "businessIdentities": {
          "description": "The list of partner business identities.",
          "items": {
            "$ref": "#/definitions/BusinessIdentity"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BusinessIdentity": {
      "properties": {
        "Qualifier": {
          "description": "The business identity qualifier.",
          "type": "string"
        },
        "Value": {
          "description": "The business identity value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CallbackUrl": {
      "properties": {
        "value": {
          "description": "The URL value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdifactAcknowledgementSettings": {
      "properties": {
        "acknowledgementControlNumberLowerBound": {
          "description": "The acknowledgement control number lower bound.",
          "format": "int32",
          "type": "integer"
        },
        "acknowledgementControlNumberPrefix": {
          "description": "The acknowledgement control number prefix.",
          "type": "string"
        },
        "acknowledgementControlNumberSuffix": {
          "description": "The acknowledgement control number suffix.",
          "type": "string"
        },
        "acknowledgementControlNumberUpperBound": {
          "description": "The acknowledgement control number upper bound.",
          "format": "int32",
          "type": "integer"
        },
        "batchFunctionalAcknowledgements": {
          "description": "The value indicating whether to batch functional acknowledgements.",
          "type": "boolean"
        },
        "batchTechnicalAcknowledgements": {
          "description": "The value indicating whether to batch the technical acknowledgements.",
          "type": "boolean"
        },
        "needFunctionalAcknowledgement": {
          "description": "The value indicating whether functional acknowledgement is needed.",
          "type": "boolean"
        },
        "needLoopForValidMessages": {
          "description": "The value indicating whether a loop is needed for valid messages.",
          "type": "boolean"
        },
        "needTechnicalAcknowledgement": {
          "description": "The value indicating whether technical acknowledgement is needed.",
          "type": "boolean"
        },
        "rolloverAcknowledgementControlNumber": {
          "description": "The value indicating whether to rollover acknowledgement control number.",
          "type": "boolean"
        },
        "sendSynchronousAcknowledgement": {
          "description": "The value indicating whether to send synchronous acknowledgement.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EdifactAgreementContent": {
      "properties": {
        "receiveAgreement": {
          "$ref": "#/definitions/EdifactOneWayAgreement",
          "description": "The EDIFACT one-way receive agreement."
        },
        "sendAgreement": {
          "$ref": "#/definitions/EdifactOneWayAgreement",
          "description": "The EDIFACT one-way send agreement."
        }
      },
      "type": "object"
    },
    "EdifactCharacterSet": {
      "enum": [
        "NotSpecified",
        "UNOB",
        "UNOA",
        "UNOC",
        "UNOD",
        "UNOE",
        "UNOF",
        "UNOG",
        "UNOH",
        "UNOI",
        "UNOJ",
        "UNOK",
        "UNOX",
        "UNOY",
        "KECA"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "EdifactCharacterSet"
      }
    },
    "EdifactDecimalIndicator": {
      "enum": [
        "NotSpecified",
        "Comma",
        "Decimal"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "EdifactDecimalIndicator"
      }
    },
    "EdifactDelimiterOverride": {
      "properties": {
        "componentSeparator": {
          "description": "The component separator.",
          "format": "int32",
          "type": "integer"
        },
        "dataElementSeparator": {
          "description": "The data element separator.",
          "format": "int32",
          "type": "integer"
        },
        "decimalPointIndicator": {
          "$ref": "#/definitions/EdifactDecimalIndicator",
          "description": "The decimal point indicator."
        },
        "messageAssociationAssignedCode": {
          "description": "The message association assigned code.",
          "type": "string"
        },
        "messageId": {
          "description": "The message id.",
          "type": "string"
        },
        "messageRelease": {
          "description": "The message release version.",
          "type": "string"
        },
        "messageVersion": {
          "description": "The message version.",
          "type": "string"
        },
        "releaseIndicator": {
          "description": "The release indicator.",
          "format": "int32",
          "type": "integer"
        },
        "repetitionSeparator": {
          "description": "The repetition separator.",
          "format": "int32",
          "type": "integer"
        },
        "segmentTerminator": {
          "description": "The segment terminator.",
          "format": "int32",
          "type": "integer"
        },
        "segmentTerminatorSuffix": {
          "$ref": "#/definitions/SegmentTerminatorSuffix",
          "description": "The segment terminator suffix."
        },
        "targetNamespace": {
          "description": "The target namespace on which this delimiter settings has to be applied.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdifactEnvelopeOverride": {
      "properties": {
        "applicationPassword": {
          "description": "The application password.",
          "type": "string"
        },
        "associationAssignedCode": {
          "description": "The association assigned code.",
          "type": "string"
        },
        "controllingAgencyCode": {
          "description": "The controlling agency code.",
          "type": "string"
        },
        "functionalGroupId": {
          "description": "The functional group id.",
          "type": "string"
        },
        "groupHeaderMessageRelease": {
          "description": "The group header message release.",
          "type": "string"
        },
        "groupHeaderMessageVersion": {
          "description": "The group header message version.",
          "type": "string"
        },
        "messageAssociationAssignedCode": {
          "description": "The message association assigned code.",
          "type": "string"
        },
        "messageId": {
          "description": "The message id on which this envelope settings has to be applied.",
          "type": "string"
        },
        "messageRelease": {
          "description": "The message release version on which this envelope settings has to be applied.",
          "type": "string"
        },
        "messageVersion": {
          "description": "The message version on which this envelope settings has to be applied.",
          "type": "string"
        },
        "receiverApplicationId": {
          "description": "The receiver application id.",
          "type": "string"
        },
        "receiverApplicationQualifier": {
          "description": "The receiver application qualifier.",
          "type": "string"
        },
        "senderApplicationId": {
          "description": "The sender application id.",
          "type": "string"
        },
        "senderApplicationQualifier": {
          "description": "The sender application qualifier.",
          "type": "string"
        },
        "targetNamespace": {
          "description": "The target namespace on which this envelope settings has to be applied.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdifactEnvelopeSettings": {
      "properties": {
        "applicationReferenceId": {
          "description": "The application reference id.",
          "type": "string"
        },
        "applyDelimiterStringAdvice": {
          "description": "The value indicating whether to apply delimiter string advice.",
          "type": "boolean"
        },
        "communicationAgreementId": {
          "description": "The communication agreement id.",
          "type": "string"
        },
        "createGroupingSegments": {
          "description": "The value indicating whether to create grouping segments.",
          "type": "boolean"
        },
        "enableDefaultGroupHeaders": {
          "description": "The value indicating whether to enable default group headers.",
          "type": "boolean"
        },
        "functionalGroupId": {
          "description": "The functional group id.",
          "type": "string"
        },
        "groupApplicationPassword": {
          "description": "The group application password.",
          "type": "string"
        },
        "groupApplicationReceiverId": {
          "description": "The group application receiver id.",
          "type": "string"
        },
        "groupApplicationReceiverQualifier": {
          "description": "The group application receiver qualifier.",
          "type": "string"
        },
        "groupApplicationSenderId": {
          "description": "The group application sender id.",
          "type": "string"
        },
        "groupApplicationSenderQualifier": {
          "description": "The group application sender qualifier.",
          "type": "string"
        },
        "groupAssociationAssignedCode": {
          "description": "The group association assigned code.",
          "type": "string"
        },
        "groupControlNumberLowerBound": {
          "description": "The group control number lower bound.",
          "format": "int64",
          "type": "integer"
        },
        "groupControlNumberPrefix": {
          "description": "The group control number prefix.",
          "type": "string"
        },
        "groupControlNumberSuffix": {
          "description": "The group control number suffix.",
          "type": "string"
        },
        "groupControlNumberUpperBound": {
          "description": "The group control number upper bound.",
          "format": "int64",
          "type": "integer"
        },
        "groupControllingAgencyCode": {
          "description": "The group controlling agency code.",
          "type": "string"
        },
        "groupMessageRelease": {
          "description": "The group message release.",
          "type": "string"
        },
        "groupMessageVersion": {
          "description": "The group message version.",
          "type": "string"
        },
        "interchangeControlNumberLowerBound": {
          "description": "The interchange control number lower bound.",
          "format": "int64",
          "type": "integer"
        },
        "interchangeControlNumberPrefix": {
          "description": "The interchange control number prefix.",
          "type": "string"
        },
        "interchangeControlNumberSuffix": {
          "description": "The interchange control number suffix.",
          "type": "string"
        },
        "interchangeControlNumberUpperBound": {
          "description": "The interchange control number upper bound.",
          "format": "int64",
          "type": "integer"
        },
        "isTestInterchange": {
          "description": "The value indicating whether the message is a test interchange.",
          "type": "boolean"
        },
        "overwriteExistingTransactionSetControlNumber": {
          "description": "The value indicating whether to overwrite existing transaction set control number.",
          "type": "boolean"
        },
        "processingPriorityCode": {
          "description": "The processing priority code.",
          "type": "string"
        },
        "receiverInternalIdentification": {
          "description": "The receiver internal identification.",
          "type": "string"
        },
        "receiverInternalSubIdentification": {
          "description": "The receiver internal sub identification.",
          "type": "string"
        },
        "receiverReverseRoutingAddress": {
          "description": "The receiver reverse routing address.",
          "type": "string"
        },
        "recipientReferencePasswordQualifier": {
          "description": "The recipient reference password qualifier.",
          "type": "string"
        },
        "recipientReferencePasswordValue": {
          "description": "The recipient reference password value.",
          "type": "string"
        },
        "rolloverGroupControlNumber": {
          "description": "The value indicating whether to rollover group control number.",
          "type": "boolean"
        },
        "rolloverInterchangeControlNumber": {
          "description": "The value indicating whether to rollover interchange control number.",
          "type": "boolean"
        },
        "rolloverTransactionSetControlNumber": {
          "description": "The value indicating whether to rollover transaction set control number.",
          "type": "boolean"
        },
        "senderInternalIdentification": {
          "description": "The sender internal identification.",
          "type": "string"
        },
        "senderInternalSubIdentification": {
          "description": "The sender internal sub identification.",
          "type": "string"
        },
        "senderReverseRoutingAddress": {
          "description": "The sender reverse routing address.",
          "type": "string"
        },
        "transactionSetControlNumberLowerBound": {
          "description": "The transaction set control number lower bound.",
          "format": "int64",
          "type": "integer"
        },
        "transactionSetControlNumberPrefix": {
          "description": "The transaction set control number prefix.",
          "type": "string"
        },
        "transactionSetControlNumberSuffix": {
          "description": "The transaction set control number suffix.",
          "type": "string"
        },
        "transactionSetControlNumberUpperBound": {
          "description": "The transaction set control number upper bound.",
          "format": "int64",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "EdifactFramingSettings": {
      "properties": {
        "characterEncoding": {
          "description": "The character encoding.",
          "type": "string"
        },
        "characterSet": {
          "$ref": "#/definitions/EdifactCharacterSet",
          "description": "The EDIFACT frame setting characterSet."
        },
        "componentSeparator": {
          "description": "The component separator.",
          "format": "int32",
          "type": "integer"
        },
        "dataElementSeparator": {
          "description": "The data element separator.",
          "format": "int32",
          "type": "integer"
        },
        "decimalPointIndicator": {
          "$ref": "#/definitions/EdifactDecimalIndicator",
          "description": "The EDIFACT frame setting decimal indicator."
        },
        "protocolVersion": {
          "description": "The protocol version.",
          "format": "int32",
          "type": "integer"
        },
        "releaseIndicator": {
          "description": "The release indicator.",
          "format": "int32",
          "type": "integer"
        },
        "repetitionSeparator": {
          "description": "The repetition separator.",
          "format": "int32",
          "type": "integer"
        },
        "segmentTerminator": {
          "description": "The segment terminator.",
          "format": "int32",
          "type": "integer"
        },
        "segmentTerminatorSuffix": {
          "$ref": "#/definitions/SegmentTerminatorSuffix",
          "description": "The EDIFACT frame setting segment terminator suffix."
        },
        "serviceCodeListDirectoryVersion": {
          "description": "The service code list directory version.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdifactMessageFilter": {
      "properties": {
        "messageFilterType": {
          "$ref": "#/definitions/MessageFilterType",
          "description": "The message filter type."
        }
      },
      "type": "object"
    },
    "EdifactMessageIdentifier": {
      "properties": {
        "messageId": {
          "description": "The message id on which this envelope settings has to be applied.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdifactOneWayAgreement": {
      "properties": {
        "protocolSettings": {
          "$ref": "#/definitions/EdifactProtocolSettings",
          "description": "The EDIFACT protocol settings."
        },
        "receiverBusinessIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The receiver business identity"
        },
        "senderBusinessIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The sender business identity"
        }
      },
      "type": "object"
    },
    "EdifactProcessingSettings": {
      "properties": {
        "createEmptyXmlTagsForTrailingSeparators": {
          "description": "The value indicating whether to create empty xml tags for trailing separators.",
          "type": "boolean"
        },
        "maskSecurityInfo": {
          "description": "The value indicating whether to mask security information.",
          "type": "boolean"
        },
        "preserveInterchange": {
          "description": "The value indicating whether to preserve interchange.",
          "type": "boolean"
        },
        "suspendInterchangeOnError": {
          "description": "The value indicating whether to suspend interchange on error.",
          "type": "boolean"
        },
        "useDotAsDecimalSeparator": {
          "description": "The value indicating whether to use dot as decimal separator.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EdifactProtocolSettings": {
      "properties": {
        "acknowledgementSettings": {
          "$ref": "#/definitions/EdifactAcknowledgementSettings",
          "description": "The EDIFACT acknowledgement settings."
        },
        "edifactDelimiterOverrides": {
          "description": "The EDIFACT delimiter override settings.",
          "items": {
            "$ref": "#/definitions/EdifactDelimiterOverride"
          },
          "type": "array"
        },
        "envelopeOverrides": {
          "description": "The EDIFACT envelope override settings.",
          "items": {
            "$ref": "#/definitions/EdifactEnvelopeOverride"
          },
          "type": "array"
        },
        "envelopeSettings": {
          "$ref": "#/definitions/EdifactEnvelopeSettings",
          "description": "The EDIFACT envelope settings."
        },
        "framingSettings": {
          "$ref": "#/definitions/EdifactFramingSettings",
          "description": "The EDIFACT framing settings."
        },
        "messageFilter": {
          "$ref": "#/definitions/EdifactMessageFilter",
          "description": "The EDIFACT message filter."
        },
        "messageFilterList": {
          "description": "The EDIFACT message filter list.",
          "items": {
            "$ref": "#/definitions/EdifactMessageIdentifier"
          },
          "type": "array"
        },
        "processingSettings": {
          "$ref": "#/definitions/EdifactProcessingSettings",
          "description": "The EDIFACT processing Settings."
        },
        "schemaReferences": {
          "description": "The EDIFACT schema references.",
          "items": {
            "$ref": "#/definitions/EdifactSchemaReference"
          },
          "type": "array"
        },
        "validationOverrides": {
          "description": "The EDIFACT validation override settings.",
          "items": {
            "$ref": "#/definitions/EdifactValidationOverride"
          },
          "type": "array"
        },
        "validationSettings": {
          "$ref": "#/definitions/EdifactValidationSettings",
          "description": "The EDIFACT validation settings."
        }
      },
      "type": "object"
    },
    "EdifactSchemaReference": {
      "properties": {
        "associationAssignedCode": {
          "description": "The association assigned code.",
          "type": "string"
        },
        "messageId": {
          "description": "The message id.",
          "type": "string"
        },
        "messageRelease": {
          "description": "The message release version.",
          "type": "string"
        },
        "messageVersion": {
          "description": "The message version.",
          "type": "string"
        },
        "schemaName": {
          "description": "The schema name.",
          "type": "string"
        },
        "senderApplicationId": {
          "description": "The sender application id.",
          "type": "string"
        },
        "senderApplicationQualifier": {
          "description": "The sender application qualifier.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdifactValidationOverride": {
      "properties": {
        "allowLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to allow leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "enforceCharacterSet": {
          "description": "The value indicating whether to validate character Set.",
          "type": "boolean"
        },
        "messageId": {
          "description": "The message id on which the validation settings has to be applied.",
          "type": "string"
        },
        "trailingSeparatorPolicy": {
          "$ref": "#/definitions/TrailingSeparatorPolicy",
          "description": "The trailing separator policy."
        },
        "trimLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to trim leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "validateEDITypes": {
          "description": "The value indicating whether to validate EDI types.",
          "type": "boolean"
        },
        "validateXSDTypes": {
          "description": "The value indicating whether to validate XSD types.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EdifactValidationSettings": {
      "properties": {
        "allowLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to allow leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "checkDuplicateGroupControlNumber": {
          "description": "The value indicating whether to check for duplicate group control number.",
          "type": "boolean"
        },
        "checkDuplicateInterchangeControlNumber": {
          "description": "The value indicating whether to check for duplicate interchange control number.",
          "type": "boolean"
        },
        "checkDuplicateTransactionSetControlNumber": {
          "description": "The value indicating whether to check for duplicate transaction set control number.",
          "type": "boolean"
        },
        "interchangeControlNumberValidityDays": {
          "description": "The validity period of interchange control number.",
          "format": "int32",
          "type": "integer"
        },
        "trailingSeparatorPolicy": {
          "$ref": "#/definitions/TrailingSeparatorPolicy",
          "description": "The trailing separator policy."
        },
        "trimLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to trim leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "validateCharacterSet": {
          "description": "The value indicating whether to validate character set in the message.",
          "type": "boolean"
        },
        "validateEDITypes": {
          "description": "The value indicating whether to Whether to validate EDI types.",
          "type": "boolean"
        },
        "validateXSDTypes": {
          "description": "The value indicating whether to Whether to validate XSD types.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EncryptionAlgorithm": {
      "enum": [
        "NotSpecified",
        "None",
        "DES3",
        "RC2",
        "AES128",
        "AES192",
        "AES256"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "EncryptionAlgorithm"
      }
    },
    "HashingAlgorithm": {
      "enum": [
        "NotSpecified",
        "None",
        "SHA2256",
        "SHA2384",
        "SHA2512"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "HashingAlgorithm"
      }
    },
    "IntegrationAccount": {
      "allOf": [
        {
          "$ref": "#/definitions/IntegrationAccountResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/definitions/IntegrationAccountProperties",
          "description": "The integration account properties.",
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/IntegrationAccountSku",
          "description": "The sku."
        }
      },
      "type": "object"
    },
    "IntegrationAccountAgreement": {
      "allOf": [
        {
          "$ref": "#/definitions/IntegrationAccountResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/definitions/IntegrationAccountAgreementProperties",
          "description": "The integration account agreement properties.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "IntegrationAccountAgreementFilter": {
      "properties": {
        "agreementType": {
          "$ref": "#/definitions/AgreementType",
          "description": "The agreement type of integration account agreement."
        }
      },
      "type": "object"
    },
    "IntegrationAccountAgreementListResult": {
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of integration account agreements.",
          "items": {
            "$ref": "#/definitions/IntegrationAccountAgreement"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IntegrationAccountAgreementProperties": {
      "properties": {
        "agreementType": {
          "$ref": "#/definitions/AgreementType",
          "description": "The agreement type."
        },
        "changedTime": {
          "description": "The changed time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "content": {
          "$ref": "#/definitions/AgreementContent",
          "description": "The agreement content."
        },
        "createdTime": {
          "description": "The created time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "guestIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The guest identity."
        },
        "guestPartner": {
          "description": "The guest partner.",
          "type": "string"
        },
        "hostIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The host identity."
        },
        "hostPartner": {
          "description": "The host partner.",
          "type": "string"
        },
        "metadata": {
          "description": "The metadata.",
          "properties": {},
          "type": "object"
        }
      },
      "type": "object"
    },
    "IntegrationAccountCertificate": {
      "allOf": [
        {
          "$ref": "#/definitions/IntegrationAccountResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/definitions/IntegrationAccountCertificateProperties",
          "description": "The integration account certificate properties.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "IntegrationAccountCertificateListResult": {
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of integration account certificates.",
          "items": {
            "$ref": "#/definitions/IntegrationAccountCertificate"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IntegrationAccountCertificateProperties": {
      "properties": {
        "changedTime": {
          "description": "The changed time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "createdTime": {
          "description": "The created time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "key": {
          "$ref": "#/definitions/KeyVaultKeyReference",
          "description": "The key details in the key vault."
        },
        "metadata": {
          "description": "The metadata.",
          "properties": {},
          "type": "object"
        },
        "publicCertificate": {
          "description": "The public certificate.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IntegrationAccountContentHash": {
      "properties": {
        "algorithm": {
          "description": "The content hash algorithm.",
          "type": "string"
        },
        "value": {
          "description": "The content hash value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IntegrationAccountContentLink": {
      "properties": {
        "contentHash": {
          "$ref": "#/definitions/IntegrationAccountContentHash",
          "description": "The content hash."
        },
        "contentSize": {
          "description": "The content size.",
          "format": "int64",
          "type": "integer"
        },
        "contentVersion": {
          "description": "The content version.",
          "type": "string"
        },
        "metadata": {
          "description": "The metadata.",
          "properties": {},
          "type": "object"
        },
        "uri": {
          "description": "The content link URI.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IntegrationAccountListResult": {
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of integration accounts.",
          "items": {
            "$ref": "#/definitions/IntegrationAccount"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IntegrationAccountMap": {
      "allOf": [
        {
          "$ref": "#/definitions/IntegrationAccountResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/definitions/IntegrationAccountMapProperties",
          "description": "The integration account map properties.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "IntegrationAccountMapFilter": {
      "properties": {
        "schemaType": {
          "$ref": "#/definitions/MapType",
          "description": "The map type of integration account map."
        }
      },
      "type": "object"
    },
    "IntegrationAccountMapListResult": {
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of integration account maps.",
          "items": {
            "$ref": "#/definitions/IntegrationAccountMap"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IntegrationAccountMapProperties": {
      "properties": {
        "changedTime": {
          "description": "The changed time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "content": {
          "description": "The content.",
          "properties": {},
          "type": "object"
        },
        "contentLink": {
          "$ref": "#/definitions/IntegrationAccountContentLink",
          "description": "The content link.",
          "readOnly": true
        },
        "contentType": {
          "description": "The content type.",
          "type": "string"
        },
        "createdTime": {
          "description": "The created time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "mapType": {
          "$ref": "#/definitions/MapType",
          "description": "The map type."
        },
        "metadata": {
          "description": "The metadata.",
          "properties": {},
          "type": "object"
        }
      },
      "type": "object"
    },
    "IntegrationAccountPartner": {
      "allOf": [
        {
          "$ref": "#/definitions/IntegrationAccountResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/definitions/IntegrationAccountPartnerProperties",
          "description": "The integration account partner properties.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "IntegrationAccountPartnerFilter": {
      "properties": {
        "partnerType": {
          "$ref": "#/definitions/PartnerType",
          "description": "The partner type of integration account partner."
        }
      },
      "type": "object"
    },
    "IntegrationAccountPartnerListResult": {
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of integration account partners.",
          "items": {
            "$ref": "#/definitions/IntegrationAccountPartner"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IntegrationAccountPartnerProperties": {
      "properties": {
        "changedTime": {
          "description": "The changed time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "content": {
          "$ref": "#/definitions/PartnerContent",
          "description": "The partner content."
        },
        "createdTime": {
          "description": "The created time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "metadata": {
          "description": "The metadata.",
          "properties": {},
          "type": "object"
        },
        "partnerType": {
          "$ref": "#/definitions/PartnerType",
          "description": "The partner type."
        }
      },
      "type": "object"
    },
    "IntegrationAccountProperties": {
      "type": "object"
    },
    "IntegrationAccountResource": {
      "properties": {
        "id": {
          "description": "The resource id.",
          "type": "string"
        },
        "location": {
          "description": "The resource location.",
          "type": "string"
        },
        "name": {
          "description": "The resource name.",
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The resource tags.",
          "type": "object"
        },
        "type": {
          "description": "The resource type.",
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "IntegrationAccountSchema": {
      "allOf": [
        {
          "$ref": "#/definitions/IntegrationAccountResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/definitions/IntegrationAccountSchemaProperties",
          "description": "The integration account schema properties.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "IntegrationAccountSchemaFilter": {
      "properties": {
        "schemaType": {
          "$ref": "#/definitions/SchemaType",
          "description": "The schema type of integration account schema."
        }
      },
      "type": "object"
    },
    "IntegrationAccountSchemaListResult": {
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of integration account schemas.",
          "items": {
            "$ref": "#/definitions/IntegrationAccountSchema"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IntegrationAccountSchemaProperties": {
      "properties": {
        "changedTime": {
          "description": "The changed time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "content": {
          "description": "The content.",
          "properties": {},
          "type": "object"
        },
        "contentLink": {
          "$ref": "#/definitions/IntegrationAccountContentLink",
          "description": "The content link.",
          "readOnly": true
        },
        "contentType": {
          "description": "The content type.",
          "type": "string"
        },
        "createdTime": {
          "description": "The created time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "metadata": {
          "description": "The metadata.",
          "properties": {},
          "type": "object"
        },
        "schemaType": {
          "$ref": "#/definitions/SchemaType",
          "description": "The schema type."
        },
        "targetNamespace": {
          "description": "The target namespace.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IntegrationAccountSku": {
      "properties": {
        "name": {
          "$ref": "#/definitions/IntegrationAccountSkuName",
          "description": "The sku name."
        }
      },
      "type": "object"
    },
    "IntegrationAccountSkuName": {
      "enum": [
        "NotSpecified",
        "Free",
        "Shared",
        "Basic",
        "Standard",
        "Premium"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "SkuName"
      }
    },
    "KeyVaultKeyReference": {
      "properties": {
        "keyName": {
          "description": "The private key name in key vault.",
          "type": "string"
        },
        "keyVault": {
          "description": "The key vault reference.",
          "properties": {
            "id": {
              "description": "The resource id.",
              "type": "string"
            },
            "name": {
              "description": "The resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "The resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "type": "object"
        },
        "keyVersion": {
          "description": "The private key version in key vault.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListCallbackUrlParameters": {
      "properties": {
        "NotAfter": {
          "description": "The expiry time.",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MapType": {
      "enum": [
        "NotSpecified",
        "Xslt"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "MapType"
      }
    },
    "MessageFilterType": {
      "enum": [
        "NotSpecified",
        "Include",
        "Exclude"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "MessageFilterType"
      }
    },
    "PartnerContent": {
      "properties": {
        "b2b": {
          "$ref": "#/definitions/B2BPartnerContent",
          "description": "The B2B partner content."
        }
      },
      "type": "object"
    },
    "PartnerType": {
      "enum": [
        "NotSpecified",
        "B2B"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "PartnerType"
      }
    },
    "SchemaType": {
      "enum": [
        "NotSpecified",
        "Xml"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "SchemaType"
      }
    },
    "SegmentTerminatorSuffix": {
      "enum": [
        "NotSpecified",
        "None",
        "CR",
        "LF",
        "CRLF"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "SegmentTerminatorSuffix"
      }
    },
    "TrailingSeparatorPolicy": {
      "enum": [
        "NotSpecified",
        "NotAllowed",
        "Optional",
        "Mandatory"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "TrailingSeparatorPolicy"
      }
    },
    "UsageIndicator": {
      "enum": [
        "NotSpecified",
        "Test",
        "Information",
        "Production"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "UsageIndicator"
      }
    },
    "X12AcknowledgementSettings": {
      "properties": {
        "acknowledgementControlNumberLowerBound": {
          "description": "The acknowledgement control number lower bound.",
          "format": "int32",
          "type": "integer"
        },
        "acknowledgementControlNumberPrefix": {
          "description": "The acknowledgement control number prefix.",
          "type": "string"
        },
        "acknowledgementControlNumberSuffix": {
          "description": "The acknowledgement control number suffix.",
          "type": "string"
        },
        "acknowledgementControlNumberUpperBound": {
          "description": "The acknowledgement control number upper bound.",
          "format": "int32",
          "type": "integer"
        },
        "batchFunctionalAcknowledgements": {
          "description": "The value indicating whether to batch functional acknowledgements.",
          "type": "boolean"
        },
        "batchImplementationAcknowledgements": {
          "description": "The value indicating whether to batch implementation acknowledgements.",
          "type": "boolean"
        },
        "batchTechnicalAcknowledgements": {
          "description": "The value indicating whether to batch the technical acknowledgements.",
          "type": "boolean"
        },
        "functionalAcknowledgementVersion": {
          "description": "The functional acknowledgement version.",
          "type": "string"
        },
        "implementationAcknowledgementVersion": {
          "description": "The implementation acknowledgement version.",
          "type": "string"
        },
        "needFunctionalAcknowledgement": {
          "description": "The value indicating whether functional acknowledgement is needed.",
          "type": "boolean"
        },
        "needImplementationAcknowledgement": {
          "description": "The value indicating whether implementation acknowledgement is needed.",
          "type": "boolean"
        },
        "needLoopForValidMessages": {
          "description": "The value indicating whether a loop is needed for valid messages.",
          "type": "boolean"
        },
        "needTechnicalAcknowledgement": {
          "description": "The value indicating whether technical acknowledgement is needed.",
          "type": "boolean"
        },
        "rolloverAcknowledgementControlNumber": {
          "description": "The value indicating whether to rollover acknowledgement control number.",
          "type": "boolean"
        },
        "sendSynchronousAcknowledgement": {
          "description": "The value indicating whether to send synchronous acknowledgement.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "X12AgreementContent": {
      "properties": {
        "receiveAgreement": {
          "$ref": "#/definitions/X12OneWayAgreement",
          "description": "The X12 one-way receive agreement."
        },
        "sendAgreement": {
          "$ref": "#/definitions/X12OneWayAgreement",
          "description": "The X12 one-way send agreement."
        }
      },
      "type": "object"
    },
    "X12CharacterSet": {
      "enum": [
        "NotSpecified",
        "Basic",
        "Extended",
        "UTF8"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "X12CharacterSet"
      }
    },
    "X12DateFormat": {
      "enum": [
        "NotSpecified",
        "CCYYMMDD",
        "YYMMDD"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "X12DateFormat"
      }
    },
    "X12DelimiterOverrides": {
      "properties": {
        "componentSeparator": {
          "description": "The component separator.",
          "format": "int32",
          "type": "integer"
        },
        "dataElementSeparator": {
          "description": "The data element separator.",
          "format": "int32",
          "type": "integer"
        },
        "messageId": {
          "description": "The message id.",
          "type": "string"
        },
        "protocolVersion": {
          "description": "The protocol version.",
          "type": "string"
        },
        "replaceCharacter": {
          "description": "The replacement character.",
          "format": "int32",
          "type": "integer"
        },
        "replaceSeparatorsInPayload": {
          "description": "The value indicating whether to replace separators in payload.",
          "type": "boolean"
        },
        "segmentTerminator": {
          "description": "The segment terminator.",
          "format": "int32",
          "type": "integer"
        },
        "segmentTerminatorSuffix": {
          "$ref": "#/definitions/SegmentTerminatorSuffix",
          "description": "The segment terminator suffix."
        },
        "targetNamespace": {
          "description": "The target namespace on which this delimiter settings has to be applied.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "X12EnvelopeOverride": {
      "properties": {
        "dateFormat": {
          "$ref": "#/definitions/X12DateFormat",
          "description": "The date format."
        },
        "functionalIdentifierCode": {
          "description": "The functional identifier code.",
          "type": "string"
        },
        "headerVersion": {
          "description": "The header version.",
          "type": "string"
        },
        "messageId": {
          "description": "The message id on which this envelope settings has to be applied.",
          "type": "string"
        },
        "protocolVersion": {
          "description": "The protocol version on which this envelope settings has to be applied.",
          "type": "string"
        },
        "receiverApplicationId": {
          "description": "The receiver application id.",
          "type": "string"
        },
        "responsibleAgencyCode": {
          "description": "The responsible agency code.",
          "format": "int32",
          "type": "integer"
        },
        "senderApplicationId": {
          "description": "The sender application id.",
          "type": "string"
        },
        "targetNamespace": {
          "description": "The target namespace on which this envelope settings has to be applied.",
          "type": "string"
        },
        "timeFormat": {
          "$ref": "#/definitions/X12TimeFormat",
          "description": "The time format."
        }
      },
      "type": "object"
    },
    "X12EnvelopeSettings": {
      "properties": {
        "controlStandardsId": {
          "description": "The controls standards id.",
          "format": "int32",
          "type": "integer"
        },
        "controlVersionNumber": {
          "description": "The control version number.",
          "type": "string"
        },
        "enableDefaultGroupHeaders": {
          "description": "The value indicating whether to enable default group headers.",
          "type": "boolean"
        },
        "functionalGroupId": {
          "description": "The functional group id.",
          "type": "string"
        },
        "groupControlNumberLowerBound": {
          "description": "The group control number lower bound.",
          "format": "int32",
          "type": "integer"
        },
        "groupControlNumberUpperBound": {
          "description": "The group control number upper bound.",
          "format": "int32",
          "type": "integer"
        },
        "groupHeaderAgencyCode": {
          "description": "The group header agency code.",
          "type": "string"
        },
        "groupHeaderDateFormat": {
          "$ref": "#/definitions/X12DateFormat",
          "description": "The group header date format."
        },
        "groupHeaderTimeFormat": {
          "$ref": "#/definitions/X12TimeFormat",
          "description": "The group header time format."
        },
        "groupHeaderVersion": {
          "description": "The group header version.",
          "type": "string"
        },
        "interchangeControlNumberLowerBound": {
          "description": "The interchange  control number lower bound.",
          "format": "int32",
          "type": "integer"
        },
        "interchangeControlNumberUpperBound": {
          "description": "The interchange  control number upper bound.",
          "format": "int32",
          "type": "integer"
        },
        "overwriteExistingTransactionSetControlNumber": {
          "description": "The value indicating whether to overwrite existing transaction set control number.",
          "type": "boolean"
        },
        "receiverApplicationId": {
          "description": "The receiver application id.",
          "type": "string"
        },
        "rolloverGroupControlNumber": {
          "description": "The value indicating whether to rollover group control number.",
          "type": "boolean"
        },
        "rolloverInterchangeControlNumber": {
          "description": "The value indicating whether to rollover interchange control number.",
          "type": "boolean"
        },
        "rolloverTransactionSetControlNumber": {
          "description": "The value indicating whether to rollover transaction set control number.",
          "type": "boolean"
        },
        "senderApplicationId": {
          "description": "The sender application id.",
          "type": "string"
        },
        "transactionSetControlNumberLowerBound": {
          "description": "The transaction set control number lower bound.",
          "format": "int32",
          "type": "integer"
        },
        "transactionSetControlNumberPrefix": {
          "description": "The transaction set control number prefix.",
          "type": "string"
        },
        "transactionSetControlNumberSuffix": {
          "description": "The transaction set control number suffix.",
          "type": "string"
        },
        "transactionSetControlNumberUpperBound": {
          "description": "The transaction set control number upper bound.",
          "format": "int32",
          "type": "integer"
        },
        "usageIndicator": {
          "$ref": "#/definitions/UsageIndicator",
          "description": "The usage indicator."
        },
        "useControlStandardsIdAsRepetitionCharacter": {
          "description": "The value indicating whether to use control standards id as repetition character.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "X12FramingSettings": {
      "properties": {
        "characterSet": {
          "$ref": "#/definitions/X12CharacterSet",
          "description": "The X12 character set."
        },
        "componentSeparator": {
          "description": "The component separator.",
          "format": "int32",
          "type": "integer"
        },
        "dataElementSeparator": {
          "description": "The data element separator.",
          "format": "int32",
          "type": "integer"
        },
        "replaceCharacter": {
          "description": "The replacement character.",
          "format": "int32",
          "type": "integer"
        },
        "replaceSeparatorsInPayload": {
          "description": "The value indicating whether to replace separators in payload.",
          "type": "boolean"
        },
        "segmentTerminator": {
          "description": "The segment terminator.",
          "format": "int32",
          "type": "integer"
        },
        "segmentTerminatorSuffix": {
          "$ref": "#/definitions/SegmentTerminatorSuffix",
          "description": "The segment terminator suffix."
        }
      },
      "type": "object"
    },
    "X12MessageFilter": {
      "properties": {
        "messageFilterType": {
          "$ref": "#/definitions/MessageFilterType",
          "description": "The message filter type."
        }
      },
      "type": "object"
    },
    "X12MessageIdentifier": {
      "properties": {
        "messageId": {
          "description": "The message id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "X12OneWayAgreement": {
      "properties": {
        "protocolSettings": {
          "$ref": "#/definitions/X12ProtocolSettings",
          "description": "The X12 protocol settings."
        },
        "receiverBusinessIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The receiver business identity"
        },
        "senderBusinessIdentity": {
          "$ref": "#/definitions/BusinessIdentity",
          "description": "The sender business identity"
        }
      },
      "type": "object"
    },
    "X12ProcessingSettings": {
      "properties": {
        "convertImpliedDecimal": {
          "description": "The value indicating whether to convert numerical type to implied decimal.",
          "type": "boolean"
        },
        "createEmptyXmlTagsForTrailingSeparators": {
          "description": "The value indicating whether to create empty xml tags for trailing separators.",
          "type": "boolean"
        },
        "maskSecurityInfo": {
          "description": "The value indicating whether to mask security information.",
          "type": "boolean"
        },
        "preserveInterchange": {
          "description": "The value indicating whether to preserve interchange.",
          "type": "boolean"
        },
        "suspendInterchangeOnError": {
          "description": "The value indicating whether to suspend interchange on error.",
          "type": "boolean"
        },
        "useDotAsDecimalSeparator": {
          "description": "The value indicating whether to use dot as decimal separator.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "X12ProtocolSettings": {
      "properties": {
        "acknowledgementSettings": {
          "$ref": "#/definitions/X12AcknowledgementSettings",
          "description": "The X12 acknowledgment settings."
        },
        "envelopeOverrides": {
          "description": "The X12 envelope override settings.",
          "items": {
            "$ref": "#/definitions/X12EnvelopeOverride"
          },
          "type": "array"
        },
        "envelopeSettings": {
          "$ref": "#/definitions/X12EnvelopeSettings",
          "description": "The X12 envelope settings."
        },
        "framingSettings": {
          "$ref": "#/definitions/X12FramingSettings",
          "description": "The X12 framing settings."
        },
        "messageFilter": {
          "$ref": "#/definitions/X12MessageFilter",
          "description": "The X12 message filter."
        },
        "messageFilterList": {
          "description": "The X12 message filter list.",
          "items": {
            "$ref": "#/definitions/X12MessageIdentifier"
          },
          "type": "array"
        },
        "processingSettings": {
          "$ref": "#/definitions/X12ProcessingSettings",
          "description": "The X12 processing settings."
        },
        "schemaReferences": {
          "description": "The X12 schema references.",
          "items": {
            "$ref": "#/definitions/X12SchemaReference"
          },
          "type": "array"
        },
        "securitySettings": {
          "$ref": "#/definitions/X12SecuritySettings",
          "description": "The X12 security settings."
        },
        "validationOverrides": {
          "description": "The X12 validation override settings.",
          "items": {
            "$ref": "#/definitions/X12ValidationOverride"
          },
          "type": "array"
        },
        "validationSettings": {
          "$ref": "#/definitions/X12ValidationSettings",
          "description": "The X12 validation settings."
        },
        "x12DelimiterOverrides": {
          "description": "The X12 delimiter override settings.",
          "items": {
            "$ref": "#/definitions/X12DelimiterOverrides"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "X12SchemaReference": {
      "properties": {
        "messageId": {
          "description": "The message id.",
          "type": "string"
        },
        "schemaName": {
          "description": "The schema name.",
          "type": "string"
        },
        "schemaVersion": {
          "description": "The schema version.",
          "type": "string"
        },
        "senderApplicationId": {
          "description": "The sender application id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "X12SecuritySettings": {
      "properties": {
        "authorizationQualifier": {
          "description": "The authorization qualifier.",
          "type": "string"
        },
        "authorizationValue": {
          "description": "The authorization value.",
          "type": "string"
        },
        "passwordValue": {
          "description": "The password value.",
          "type": "string"
        },
        "securityQualifier": {
          "description": "The security qualifier.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "X12TimeFormat": {
      "enum": [
        "NotSpecified",
        "HHMM",
        "HHMMSS",
        "HHMMSSdd",
        "HHMMSSd"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "X12TimeFormat"
      }
    },
    "X12ValidationOverride": {
      "properties": {
        "allowLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to allow leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "messageId": {
          "description": "The message id on which the validation settings has to be applied.",
          "type": "string"
        },
        "trailingSeparatorPolicy": {
          "$ref": "#/definitions/TrailingSeparatorPolicy",
          "description": "The trailing separator policy."
        },
        "trimLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to trim leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "validateCharacterSet": {
          "description": "The value indicating whether to validate character Set.",
          "type": "boolean"
        },
        "validateEDITypes": {
          "description": "The value indicating whether to validate EDI types.",
          "type": "boolean"
        },
        "validateXSDTypes": {
          "description": "The value indicating whether to validate XSD types.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "X12ValidationSettings": {
      "properties": {
        "allowLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to allow leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "checkDuplicateGroupControlNumber": {
          "description": "The value indicating whether to check for duplicate group control number.",
          "type": "boolean"
        },
        "checkDuplicateInterchangeControlNumber": {
          "description": "The value indicating whether to check for duplicate interchange control number.",
          "type": "boolean"
        },
        "checkDuplicateTransactionSetControlNumber": {
          "description": "The value indicating whether to check for duplicate transaction set control number.",
          "type": "boolean"
        },
        "interchangeControlNumberValidityDays": {
          "description": "The validity period of interchange control number.",
          "format": "int32",
          "type": "integer"
        },
        "trailingSeparatorPolicy": {
          "$ref": "#/definitions/TrailingSeparatorPolicy",
          "description": "The trailing separator policy."
        },
        "trimLeadingAndTrailingSpacesAndZeroes": {
          "description": "The value indicating whether to trim leading and trailing spaces and zeroes.",
          "type": "boolean"
        },
        "validateCharacterSet": {
          "description": "The value indicating whether to validate character set in the message.",
          "type": "boolean"
        },
        "validateEDITypes": {
          "description": "The value indicating whether to Whether to validate EDI types.",
          "type": "boolean"
        },
        "validateXSDTypes": {
          "description": "The value indicating whether to Whether to validate XSD types.",
          "type": "boolean"
        }
      },
      "type": "object"
    }
  }
}