diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java
index 19a17db..0813313 100644
--- a/src/main/java/org/onap/clamp/loop/Loop.java
+++ b/src/main/java/org/onap/clamp/loop/Loop.java
@@ -331,6 +331,36 @@
     }
 
     /**
+     * Return the operationalPolicy object with the opPolicyName.
+     *
+     * @param opPolicyName The operationalPolicy name
+     * @return The OperationalPolicy object found in loop object
+     */
+    public OperationalPolicy getOperationalPolicy(String opPolicyName) {
+        for (OperationalPolicy operationalPolicy : this.getOperationalPolicies()) {
+            if (operationalPolicy.getName().equals(opPolicyName)) {
+                return operationalPolicy;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Return the microServicePolicy object with the msPolicyName.
+     *
+     * @param msPolicyName The microServicePolicy name
+     * @return The MicroServicePolicy object found in loop object
+     */
+    public MicroServicePolicy getMicroServicePolicy(String msPolicyName) {
+        for (MicroServicePolicy microServicePolicy : this.getMicroServicePolicies()) {
+            if (microServicePolicy.getName().equals(msPolicyName)) {
+                return microServicePolicy;
+            }
+        }
+        return null;
+    }
+
+    /**
      * Generate the loop name.
      *
      * @param serviceName       The service name
diff --git a/src/main/java/org/onap/clamp/loop/LoopController.java b/src/main/java/org/onap/clamp/loop/LoopController.java
index a2a4463..fad93bc 100644
--- a/src/main/java/org/onap/clamp/loop/LoopController.java
+++ b/src/main/java/org/onap/clamp/loop/LoopController.java
@@ -137,11 +137,11 @@
     }
 
     /**
-     * This method remove an operational policy to a loop instance.
+     * This method removes an operational policy from a loop instance.
      *
      * @param loopName      The loop name
      * @param policyType    The policy model type
-     * @param policyVersion The policy model  version
+     * @param policyVersion The policy model version
      * @return The loop modified
      */
     public Loop removeOperationalPolicy(String loopName, String policyType, String policyVersion) {
diff --git a/src/main/java/org/onap/clamp/loop/LoopService.java b/src/main/java/org/onap/clamp/loop/LoopService.java
index 6658c5a..ca3681b 100644
--- a/src/main/java/org/onap/clamp/loop/LoopService.java
+++ b/src/main/java/org/onap/clamp/loop/LoopService.java
@@ -131,7 +131,7 @@
      *
      * @param loopName      The loop name
      * @param policyType    The policy model type
-     * @param policyVersion The policy model  version
+     * @param policyVersion The policy model version
      * @return The loop modified
      */
     Loop removeOperationalPolicy(String loopName, String policyType, String policyVersion) {
diff --git a/src/main/resources/clds/camel/rest/clamp-api-v2.xml b/src/main/resources/clds/camel/rest/clamp-api-v2.xml
index 7706267..fc7dbd4 100644
--- a/src/main/resources/clds/camel/rest/clamp-api-v2.xml
+++ b/src/main/resources/clds/camel/rest/clamp-api-v2.xml
@@ -770,15 +770,29 @@
 				</doTry>
 			</route>
 		</put>
-		<put uri="/v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}" outType="org.onap.clamp.loop.Loop" produces="application/json">
+		<put uri="/v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}/{policyName}" outType="org.onap.clamp.loop.Loop" produces="application/json">
 			<route>
-				<removeHeaders pattern="*" excludePattern="loopName|policyType|policyVersion" />
+				<removeHeaders pattern="*" excludePattern="loopName|policyType|policyVersion|policyName" />
 				<doTry>
 					<to
 							uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'REMOVE operational Policy')" />
 					<to
 							uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
 					<to uri="direct:load-loop" />
+					<setProperty propertyName="policyName">
+						<simple>${header.policyName}</simple>
+					</setProperty>
+					<setProperty propertyName="policy">
+						<simple>${exchangeProperty[loopObject].getOperationalPolicy(header.policyName)}</simple>
+					</setProperty>
+					<setProperty propertyName="raiseHttpExceptionFlag">
+						<simple resultType="java.lang.Boolean">false</simple>
+					</setProperty>
+					<to uri="direct:remove-one-policy-from-active-pdp-group" />
+					<setProperty propertyName="raiseHttpExceptionFlag">
+						<simple resultType="java.lang.Boolean">false</simple>
+					</setProperty>
+					<to uri="direct:delete-policy" />
 					<to
 							uri="bean:org.onap.clamp.loop.LoopController?method=removeOperationalPolicy(${header.loopName},${header.policyType},${header.policyVersion})" />
 					<to
diff --git a/src/main/resources/clds/camel/routes/policy-flows.xml b/src/main/resources/clds/camel/routes/policy-flows.xml
index ef68a54..59772c2 100644
--- a/src/main/resources/clds/camel/routes/policy-flows.xml
+++ b/src/main/resources/clds/camel/routes/policy-flows.xml
@@ -1,521 +1,579 @@
-
 <routes xmlns="http://camel.apache.org/schema/spring">
-		<route id="verify-one-policy">
-				<from uri="direct:verify-one-policy"/>
-				<setProperty propertyName="raiseHttpExceptionFlag">
-						<simple resultType="java.lang.Boolean">false</simple>
-				</setProperty>
-				<to uri="direct:get-policy"/>
-				<when>
-						<simple> ${header.CamelHttpResponseCode} != 200 </simple>
-						<setProperty propertyName="policyFound">
-								<simple resultType="java.lang.Boolean">false</simple>
-						</setProperty>
-						<log loggingLevel="WARN"
-								message="At least one policy has not been found on policy engine: ${exchangeProperty[policyName]}"/>
-				</when>
-				<setProperty propertyName="raiseHttpExceptionFlag">
-						<simple resultType="java.lang.Boolean">false</simple>
-				</setProperty>
-				<to uri="direct:get-deployment-policy"/>
-				<when>
-						<simple> ${header.CamelHttpResponseCode} != 200 </simple>
-						<setProperty propertyName="policyDeployed">
-								<simple resultType="java.lang.Boolean">false</simple>
-						</setProperty>
-						<log loggingLevel="WARN"
-								message="At least one policy has not been deployed on policy engine: ${exchangeProperty[policyName]}"/>
-				</when>
-				<setProperty propertyName="newPolicyState">
-						<simple>${exchangeProperty[policyComponent].computeState(*)}</simple>
-				</setProperty>
-		</route>
+    <route id="verify-one-policy">
+        <from uri="direct:verify-one-policy"/>
+        <setProperty propertyName="raiseHttpExceptionFlag">
+            <simple resultType="java.lang.Boolean">false</simple>
+        </setProperty>
+        <to uri="direct:get-policy"/>
+        <when>
+            <simple>${header.CamelHttpResponseCode} != 200</simple>
+            <setProperty propertyName="policyFound">
+                <simple resultType="java.lang.Boolean">false</simple>
+            </setProperty>
+            <log loggingLevel="WARN"
+                 message="At least one policy has not been found on policy engine: ${exchangeProperty[policyName]}"/>
+        </when>
+        <setProperty propertyName="raiseHttpExceptionFlag">
+            <simple resultType="java.lang.Boolean">false</simple>
+        </setProperty>
+        <to uri="direct:get-deployment-policy"/>
+        <when>
+            <simple>${header.CamelHttpResponseCode} != 200</simple>
+            <setProperty propertyName="policyDeployed">
+                <simple resultType="java.lang.Boolean">false</simple>
+            </setProperty>
+            <log loggingLevel="WARN"
+                 message="At least one policy has not been deployed on policy engine: ${exchangeProperty[policyName]}"/>
+        </when>
+        <setProperty propertyName="newPolicyState">
+            <simple>${exchangeProperty[policyComponent].computeState(*)}</simple>
+        </setProperty>
+    </route>
 
-		<route id="get-policy">
-				<from uri="direct:get-policy"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Getting Policy: ${exchangeProperty[policyName]}"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Get Policy')"/>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>GET</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}"></log>
-						<toD
-								uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-								<setProperty propertyName="logMessage">
-										<simple>${exchangeProperty[policyName]} GET
-												Policy status
-										</simple>
-								</setProperty>
-								<setProperty propertyName="logComponent">
-										<simple>POLICY</simple>
-								</setProperty>
-								<to uri="direct:dump-loop-log-http-response"/>
-						</doFinally>
-				</doTry>
-		</route>
+    <route id="get-policy">
+        <from uri="direct:get-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting Policy: ${exchangeProperty[policyName]}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Get Policy')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policyName]} GET
+                        Policy status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-		<route id="get-deployment-policy">
-				<from uri="direct:get-deployment-policy"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Getting the policy deployment in PDP: ${exchangeProperty[policyName]}"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy deployment in PDP')"/>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>GET</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to get policy deployment status: {{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0"></log>
-						<toD
-								uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-								<setProperty propertyName="logMessage">
-										<simple>${exchangeProperty[policyName]} GET Policy deployment
-												status
-										</simple>
-								</setProperty>
-								<setProperty propertyName="logComponent">
-										<simple>POLICY</simple>
-								</setProperty>
-								<to uri="direct:dump-loop-log-http-response"/>
-						</doFinally>
-				</doTry>
-		</route>
-		<route id="get-all-policy-models">
-				<from uri="direct:get-all-policy-models"/>
-				<doTry>
-						<log loggingLevel="INFO" message="Getting all the policy models"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting all the policy models')"/>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>GET</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to get all policy models: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes"></log>
-						<toD
-								uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-						<convertBodyTo type="java.lang.String"/>		
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-						</doFinally>
-				</doTry>
-		</route>
-		<route id="get-policy-model">
-				<from uri="direct:get-policy-model"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Getting the policy model: ${exchangeProperty[policyModelName]}/${exchangeProperty[policyModelVersion]}"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy model')"/>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>GET</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to get policy model: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
-						<toD
-								uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-						<convertBodyTo type="java.lang.String"/>
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-						</doFinally>
-				</doTry>
-		</route>
-		<route id="create-policy">
-			<from uri="direct:create-policy"/>
-			<doTry>
-				<log loggingLevel="INFO"
-					 message="Creating Policy: ${exchangeProperty[policy].getName()}"/>
-				<to
-						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Policy')"/>
-				<setBody>
-					<simple>${exchangeProperty[policy].createPolicyPayload()}
-					</simple>
-				</setBody>
-				<setHeader headerName="CamelHttpMethod">
-					<constant>POST</constant>
-				</setHeader>
-				<setHeader headerName="Content-Type">
-					<constant>application/json</constant>
-				</setHeader>
-				<setHeader headerName="X-ONAP-RequestID">
-					<simple>${exchangeProperty[X-ONAP-RequestID]}
-					</simple>
-				</setHeader>
-				<setHeader headerName="X-ONAP-InvocationID">
-					<simple>${exchangeProperty[X-ONAP-InvocationID]}
-					</simple>
-				</setHeader>
-				<setHeader headerName="X-ONAP-PartnerName">
-					<simple>${exchangeProperty[X-ONAP-PartnerName]}
-					</simple>
-				</setHeader>
-				<log loggingLevel="INFO"
-					 message="Endpoint to create policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies"></log>
-				<toD
-						uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-				<doFinally>
-					<to uri="direct:reset-raise-http-exception-flag"/>
-					<to
-							uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-					<setProperty propertyName="logMessage">
-						<simple>${exchangeProperty[policy].getName()} creation
-							status
-						</simple>
-					</setProperty>
-					<setProperty propertyName="logComponent">
-						<simple>POLICY</simple>
-					</setProperty>
-					<to uri="direct:dump-loop-log-http-response"/>
-				</doFinally>
-			</doTry>
-		</route>
+    <route id="get-deployment-policy">
+        <from uri="direct:get-deployment-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting the policy deployment in PDP: ${exchangeProperty[policyName]}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy deployment in PDP')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy deployment status: {{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policyName]} GET Policy deployment
+                        status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="get-all-policy-models">
+        <from uri="direct:get-all-policy-models"/>
+        <doTry>
+            <log loggingLevel="INFO" message="Getting all the policy models"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting all the policy models')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get all policy models: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <convertBodyTo type="java.lang.String"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="get-policy-model">
+        <from uri="direct:get-policy-model"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting the policy model: ${exchangeProperty[policyModelName]}/${exchangeProperty[policyModelVersion]}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy model')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy model: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <convertBodyTo type="java.lang.String"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="create-policy">
+        <from uri="direct:create-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Creating Policy: ${exchangeProperty[policy].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Policy')"/>
+            <setBody>
+                <simple>${exchangeProperty[policy].createPolicyPayload()}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to create policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policy].getName()} creation
+                        status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-		<route id="delete-policy">
-			<from uri="direct:delete-policy"/>
-			<doTry>
-				<log loggingLevel="INFO"
-					 message="Deleting Policy: ${exchangeProperty[policy].getName()}"/>
-				<to
-						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Policy')"/>
-				<setBody>
-					<constant>null</constant>
-				</setBody>
-				<setHeader headerName="CamelHttpMethod">
-					<constant>DELETE</constant>
-				</setHeader>
-				<setHeader headerName="X-ONAP-RequestID">
-					<simple>${exchangeProperty[X-ONAP-RequestID]}
-					</simple>
-				</setHeader>
-				<setHeader headerName="X-ONAP-InvocationID">
-					<simple>${exchangeProperty[X-ONAP-InvocationID]}
-					</simple>
-				</setHeader>
-				<setHeader headerName="X-ONAP-PartnerName">
-					<simple>${exchangeProperty[X-ONAP-PartnerName]}
-					</simple>
-				</setHeader>
-				<choice>
-					<when>
-						<simple>${exchangeProperty[policy].isLegacy()} == true</simple>
-						<setProperty propertyName="policyVersion">
-							<simple>1</simple>
-						</setProperty>
-					</when>
-					<otherwise>
-						<setProperty propertyName="policyVersion">
-							<simple>1.0.0</simple>
-						</setProperty>
-					</otherwise>
-				</choice>
-				<log loggingLevel="INFO"
-					 message="Endpoint to delete policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}"></log>
-				<toD
-						uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="delete-policy">
+        <from uri="direct:delete-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Deleting Policy: ${exchangeProperty[policy].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Policy')"/>
+            <setBody>
+                <constant>null</constant>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>DELETE</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <choice>
+                <when>
+                    <simple>${exchangeProperty[policy].isLegacy()} == true</simple>
+                    <setProperty propertyName="policyVersion">
+                        <simple>1</simple>
+                    </setProperty>
+                </when>
+                <otherwise>
+                    <setProperty propertyName="policyVersion">
+                        <simple>1.0.0</simple>
+                    </setProperty>
+                </otherwise>
+            </choice>
+            <log loggingLevel="INFO"
+                 message="Endpoint to delete policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-				<doFinally>
-					<to uri="direct:reset-raise-http-exception-flag"/>
-					<to
-							uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-					<setProperty propertyName="logMessage">
-						<simple>${exchangeProperty[policy].getName()} removal
-							status
-						</simple>
-					</setProperty>
-					<setProperty propertyName="logComponent">
-						<simple>POLICY</simple>
-					</setProperty>
-					<to uri="direct:dump-loop-log-http-response"/>
-				</doFinally>
-			</doTry>
-		</route>
-		<route id="create-guard-policy">
-				<from uri="direct:create-guard-policy"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Creating Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Guard Policy')"/>
-						<setBody>
-								<simple>${exchangeProperty[guardPolicy].getValue()}
-								</simple>
-						</setBody>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>POST</constant>
-						</setHeader>
-						<setHeader headerName="Content-Type">
-								<constant>application/json</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to create guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies"></log>
-						<toD
-								uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-								<setProperty propertyName="logMessage">
-										<simple>${exchangeProperty[guardPolicy].getKey()} creation status
-										</simple>
-								</setProperty>
-								<setProperty propertyName="logComponent">
-										<simple>POLICY</simple>
-								</setProperty>
-								<to uri="direct:dump-loop-log-http-response"/>
-						</doFinally>
-				</doTry>
-		</route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policy].getName()} removal
+                        status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="create-guard-policy">
+        <from uri="direct:create-guard-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Creating Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Guard Policy')"/>
+            <setBody>
+                <simple>${exchangeProperty[guardPolicy].getValue()}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to create guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[guardPolicy].getKey()} creation status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-		<route id="delete-guard-policy">
-				<from uri="direct:delete-guard-policy"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Deleting Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Guard Policy')"/>
-						<setBody>
-								<constant>null</constant>
-						</setBody>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>DELETE</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to delete guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1"></log>
-						<toD
-								uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="delete-guard-policy">
+        <from uri="direct:delete-guard-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Deleting Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Guard Policy')"/>
+            <setBody>
+                <constant>null</constant>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>DELETE</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to delete guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-								<setProperty propertyName="logMessage">
-										<simple>${exchangeProperty[guardPolicy].getKey()} removal status
-										</simple>
-								</setProperty>
-								<setProperty propertyName="logComponent">
-										<simple>POLICY</simple>
-								</setProperty>
-								<to uri="direct:dump-loop-log-http-response"/>
-						</doFinally>
-				</doTry>
-		</route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[guardPolicy].getKey()} removal status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-		<route id="add-all-to-active-pdp-group">
-				<from uri="direct:add-all-to-active-pdp-group"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Adding loop policies to PDP Group: ${exchangeProperty[loopObject].getName()}"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Add policies to PDP group')"/>
-						<setBody>
-								<simple>${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"POST")}
-								</simple>
-						</setBody>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>POST</constant>
-						</setHeader>
-						<setHeader headerName="Content-Type">
-								<constant>application/json</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to add policies to PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
-						<toD
-								uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="add-all-to-active-pdp-group">
+        <from uri="direct:add-all-to-active-pdp-group"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Adding loop policies to PDP Group: ${exchangeProperty[loopObject].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Add policies to PDP group')"/>
+            <setBody>
+                <simple>
+                    ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"POST")}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to add policies to PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-								<setProperty propertyName="logMessage">
-										<simple>PDP Group push ALL status</simple>
-								</setProperty>
-								<setProperty propertyName="logComponent">
-										<simple>POLICY</simple>
-								</setProperty>
-								<to uri="direct:dump-loop-log-http-response"/>
-						</doFinally>
-				</doTry>
-		</route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>PDP Group push ALL status</simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-		<route id="remove-all-policy-from-active-pdp-group">
-				<from uri="direct:remove-all-policy-from-active-pdp-group"/>
-			<doTry>
-				<log loggingLevel="INFO"
-					 message="Removing loop policies from PDP Group: ${exchangeProperty[loopObject].getName()}"/>
-				<to
-						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Remove policies from PDP group')"/>
-				<setBody>
-					<simple>${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"DELETE")}
-					</simple>
-				</setBody>
-				<setHeader headerName="CamelHttpMethod">
-					<constant>POST</constant>
-				</setHeader>
-				<setHeader headerName="Content-Type">
-					<constant>application/json</constant>
-				</setHeader>
-				<setHeader headerName="X-ONAP-RequestID">
-					<simple>${exchangeProperty[X-ONAP-RequestID]}
-					</simple>
-				</setHeader>
-				<setHeader headerName="X-ONAP-InvocationID">
-					<simple>${exchangeProperty[X-ONAP-InvocationID]}
-					</simple>
-				</setHeader>
-				<setHeader headerName="X-ONAP-PartnerName">
-					<simple>${exchangeProperty[X-ONAP-PartnerName]}
-					</simple>
-				</setHeader>
-				<log loggingLevel="INFO"
-					 message="Endpoint to remove policies from PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
-				<toD
-						uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="remove-all-policy-from-active-pdp-group">
+        <from uri="direct:remove-all-policy-from-active-pdp-group"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Removing loop policies from PDP Group: ${exchangeProperty[loopObject].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Remove policies from PDP group')"/>
+            <setBody>
+                <simple>
+                    ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"DELETE")}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to remove policies from PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-				<doFinally>
-					<to uri="direct:reset-raise-http-exception-flag"/>
-					<to
-							uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-					<setProperty propertyName="logMessage">
-						<simple>PDP Group remove ALL status</simple>
-					</setProperty>
-					<setProperty propertyName="logComponent">
-						<simple>POLICY</simple>
-					</setProperty>
-					<to uri="direct:dump-loop-log-http-response"/>
-				</doFinally>
-			</doTry>
-		</route>
-		<route id="get-all-pdp-groups">
-				<from uri="direct:get-all-pdp-groups"/>
-				<doTry>
-						<log loggingLevel="INFO"
-								message="Getting the list of PDP Groups"/>
-						<to
-								uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the PDP Group list')"/>
-						<setHeader headerName="CamelHttpMethod">
-								<constant>GET</constant>
-						</setHeader>
-						<setHeader headerName="X-ONAP-RequestID">
-								<simple>${exchangeProperty[X-ONAP-RequestID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-InvocationID">
-								<simple>${exchangeProperty[X-ONAP-InvocationID]}
-								</simple>
-						</setHeader>
-						<setHeader headerName="X-ONAP-PartnerName">
-								<simple>${exchangeProperty[X-ONAP-PartnerName]}
-								</simple>
-						</setHeader>
-						<log loggingLevel="INFO"
-								message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps"></log>
-						<toD
-								uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-						<convertBodyTo type="java.lang.String" />
-						<doFinally>
-								<to uri="direct:reset-raise-http-exception-flag"/>
-								<to
-										uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-						</doFinally>
-				</doTry>
-		</route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>PDP Group remove ALL status</simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="get-all-pdp-groups">
+        <from uri="direct:get-all-pdp-groups"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting the list of PDP Groups"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the PDP Group list')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <convertBodyTo type="java.lang.String"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="remove-one-policy-from-active-pdp-group">
+        <from uri="direct:remove-one-policy-from-active-pdp-group"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Removing policy from active PDP group for loop: ${exchangeProperty[loopObject].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Removing one policy PDP group')"/>
+            <setBody>
+                <constant>null</constant>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>DELETE</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to delete policy from PDP Group: {{clamp.config.policy.pap.url}}/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <setProperty propertyName="logMessage">
+                <simple>${exchangeProperty[policyName]} PDP Group removal status
+                </simple>
+            </setProperty>
+            <setProperty propertyName="logComponent">
+                <simple>POLICY</simple>
+            </setProperty>
+            <to uri="direct:dump-loop-log-http-response"/>
+            <doCatch>
+                <exception>java.lang.Exception</exception>
+                <handled>
+                    <constant>false</constant>
+                </handled>
+                <setProperty propertyName="logMessage">
+                    <simple>PDP Group removal, Error reported: ${exception}</simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doCatch>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
 </routes>
\ No newline at end of file
diff --git a/ui-react/src/api/LoopService.js b/ui-react/src/api/LoopService.js
index 698ee28..f10d187 100644
--- a/ui-react/src/api/LoopService.js
+++ b/ui-react/src/api/LoopService.js
@@ -240,8 +240,8 @@
 			});
 	}
 
-	static removeOperationalPolicyType(loopName, policyType, policyVersion) {
-		return fetch('/restservices/clds/v2/loop/removeOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion , {
+	static removeOperationalPolicyType(loopName, policyType, policyVersion, policyName) {
+		return fetch('/restservices/clds/v2/loop/removeOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion + '/' + policyName , {
 			method: 'PUT',
 			headers: {
 				"Content-Type": "application/json"
diff --git a/ui-react/src/components/dialogs/Loop/ModifyLoopModal.js b/ui-react/src/components/dialogs/Loop/ModifyLoopModal.js
index 1802e43..11e9353 100644
--- a/ui-react/src/components/dialogs/Loop/ModifyLoopModal.js
+++ b/ui-react/src/components/dialogs/Loop/ModifyLoopModal.js
@@ -78,6 +78,10 @@
 				cellStyle: cellStyle,
 				headerStyle: headerStyle
 			},
+			{ title: "Policy Name", field: "policyName",
+             	cellStyle: cellStyle,
+                headerStyle: headerStyle
+            },
 			{ title: "Version", field: "version",
 				cellStyle: cellStyle,
 				headerStyle: headerStyle
@@ -90,7 +94,7 @@
 				cellStyle: cellStyle,
 				headerStyle: headerStyle
 			},
-             { title: "Add", field: "updatedDate", editable: 'never',
+             { title: "Created Date", field: "createdDate", editable: 'never',
              	cellStyle: cellStyle,
              	headerStyle: headerStyle
              }
@@ -128,7 +132,9 @@
 		var operationalPolicies = this.state.loopCache.getOperationalPolicies();
 		var selectedPolicyModels = [];
 		for (var policy in operationalPolicies) {
-			selectedPolicyModels.push(operationalPolicies[policy]["policyModel"]);
+		    var newRow = operationalPolicies[policy]["policyModel"];
+		    newRow.add("policyName", operationalPolicies[policy].name);
+			selectedPolicyModels.push(newRow);
 		}
 
 		PolicyToscaService.getToscaPolicyModels().then(allToscaModels => {
@@ -167,7 +173,7 @@
 	}
 
 	handleRemove() {
-		LoopService.removeOperationalPolicyType(this.state.loopCache.getLoopName(),this.state.selectedRowData.policyModelType,this.state.selectedRowData.version);
+		LoopService.removeOperationalPolicyType(this.state.loopCache.getLoopName(),this.state.selectedRowData.policyModelType,this.state.selectedRowData.version,this.state.selectedRowData.policyName);
 		this.props.loadLoopFunction(this.state.loopCache.getLoopName());
 		this.handleClose();
 	}
@@ -203,7 +209,7 @@
 					<Tab eventKey="remove" title="Remove Operational Policies">
 						<Modal.Body>
 							<MaterialTable
-							title={"Already added Tosca Policy Models"}
+							title={"Tosca Policy Models already added"}
 							data={this.state.selectedPolicyModelsData}
 							columns={this.state.toscaColumns}
 							icons={this.state.tableIcons}
