diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_slice/ietf_slice_handler.py b/src/nbi/service/rest_server/nbi_plugins/ietf_network_slice/ietf_slice_handler.py
index 3317a3b2f45342e391a012c4aa8342621abebb49..1614a7724e3e06405fb4f46db5b372206d7418d6 100644
--- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_slice/ietf_slice_handler.py
+++ b/src/nbi/service/rest_server/nbi_plugins/ietf_network_slice/ietf_slice_handler.py
@@ -15,6 +15,8 @@ LOGGER = logging.getLogger(__name__)
 
 
 RESOURCE_KEY = "ietf_data"
+ADDRESS_PREFIX = 24
+RAISE_IF_DIFFERS = False
 
 
 class IETFSliceHandler:
@@ -36,6 +38,7 @@ class IETFSliceHandler:
         slice_request.slice_id.slice_uuid.uuid = slice_id
         slice_request.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_PLANNED
         list_endpoints = []
+        endpoint_config_rules = []
         connection_group_ids = set()
         for sdp in sdps:
             attachment_circuits = sdp["attachment-circuits"]["attachment-circuit"]
@@ -43,14 +46,26 @@ class IETFSliceHandler:
                 raise Exception("All SDPs should have 1 attachment-circuit")
             endpoint = EndPointId()
             endpoint.topology_id.context_id.context_uuid.uuid = DEFAULT_CONTEXT_NAME
-            endpoint.device_id.device_uuid.uuid = sdp["node-id"]
-            endpoint.endpoint_uuid.uuid = attachment_circuits[0]["ac-tp-id"]
+            device_uuid = sdp["node-id"]
+            endpoint.device_id.device_uuid.uuid = device_uuid
+            endpoint_uuid = attachment_circuits[0]["ac-tp-id"]
+            endpoint.endpoint_uuid.uuid = endpoint_uuid
             list_endpoints.append(endpoint)
             connection_group_ids.add(
                 sdp["service-match-criteria"]["match-criterion"][0][
                     "target-connection-group-id"
                 ]
             )
+            endpoint_config_rule_fields = {
+                "address_ip": (endpoint_uuid, RAISE_IF_DIFFERS),
+                "address_prefix": (ADDRESS_PREFIX, RAISE_IF_DIFFERS),
+            }
+            endpoint_config_rules.append(
+                (
+                    f"/device[{device_uuid}]/endpoint[{endpoint_uuid}]/settings",
+                    endpoint_config_rule_fields,
+                )
+            )
         slice_request.slice_endpoint_ids.extend(list_endpoints)
         if len(connection_group_ids) != 1:
             raise Exception("SDPs target-connection-group-id do not match")
@@ -82,13 +97,18 @@ class IETFSliceHandler:
         slice_request.slice_owner.owner_uuid.uuid = str(
             uuid.uuid5(uuid.NAMESPACE_DNS, owner)
         )
-        raise_if_differs = False
-        fields = {
-            name: (value, raise_if_differs) for name, value in request_data.items()
+        ietf_slice_fields = {
+            name: (value, RAISE_IF_DIFFERS) for name, value in request_data.items()
         }
         update_config_rule_custom(
-            slice_request.slice_config.config_rules, RESOURCE_KEY, fields
+            slice_request.slice_config.config_rules, RESOURCE_KEY, ietf_slice_fields
         )
+
+        for ep_cr_key, ep_cr_fields in endpoint_config_rules:
+            update_config_rule_custom(
+                slice_request.slice_config.config_rules, ep_cr_key, ep_cr_fields
+            )
+
         return slice_request
 
     @staticmethod
@@ -112,8 +132,7 @@ class IETFSliceHandler:
         slice_service = slice_services[0]
         slice_sdps = slice_service["sdps"]["sdp"]
         slice_sdps.append(new_sdp)
-        raise_if_differs = False
-        fields = {name: (value, raise_if_differs) for name, value in ietf_data.items()}
+        fields = {name: (value, RAISE_IF_DIFFERS) for name, value in ietf_data.items()}
         update_config_rule_custom(
             slice_request.slice_config.config_rules, RESOURCE_KEY, fields
         )
@@ -139,8 +158,7 @@ class IETFSliceHandler:
             True
         )
         slice_sdps.pop(sdp_idx)
-        raise_if_differs = False
-        fields = {name: (value, raise_if_differs) for name, value in ietf_data.items()}
+        fields = {name: (value, RAISE_IF_DIFFERS) for name, value in ietf_data.items()}
         update_config_rule_custom(
             slice_request.slice_config.config_rules, RESOURCE_KEY, fields
         )
@@ -167,8 +185,7 @@ class IETFSliceHandler:
         slice_service = slice_services[0]
         slice_connection_groups = slice_service["connection-groups"]["connection-group"]
         slice_connection_groups.append(new_connection_group)
-        raise_if_differs = False
-        fields = {name: (value, raise_if_differs) for name, value in ietf_data.items()}
+        fields = {name: (value, RAISE_IF_DIFFERS) for name, value in ietf_data.items()}
         update_config_rule_custom(slice.slice_config.config_rules, RESOURCE_KEY, fields)
         return slice
 
@@ -195,8 +212,7 @@ class IETFSliceHandler:
             )
         ).index(True)
         slice_connection_groups.pop(sdp_idx)
-        raise_if_differs = False
-        fields = {name: (value, raise_if_differs) for name, value in ietf_data.items()}
+        fields = {name: (value, RAISE_IF_DIFFERS) for name, value in ietf_data.items()}
         update_config_rule_custom(
             slice_request.slice_config.config_rules, RESOURCE_KEY, fields
         )
@@ -288,8 +304,7 @@ class IETFSliceHandler:
         del slice_request.slice_constraints[:]
         slice_request.slice_constraints.extend(list_constraints)
         LOGGER.debug(grpc_message_to_json(slice_request))  # TODO remove
-        raise_if_differs = False
-        fields = {name: (value, raise_if_differs) for name, value in ietf_data.items()}
+        fields = {name: (value, RAISE_IF_DIFFERS) for name, value in ietf_data.items()}
         update_config_rule_custom(
             slice_request.slice_config.config_rules, RESOURCE_KEY, fields
         )
@@ -326,9 +341,7 @@ class IETFSliceHandler:
                 break
         else:
             raise Exception("Second SDP not found")
-
-        raise_if_differs = False
-        fields = {name: (value, raise_if_differs) for name, value in ietf_data.items()}
+        fields = {name: (value, RAISE_IF_DIFFERS) for name, value in ietf_data.items()}
         update_config_rule_custom(
             slice_request.slice_config.config_rules, RESOURCE_KEY, fields
         )
diff --git a/src/nbi/tests/data/slice/post_network_slice1.json b/src/nbi/tests/data/slice/post_network_slice1.json
index 5683877127e56885a31c30613dc7984b2b4173f8..67907649edbaa87e61b3c4ca8d29c966c22346e5 100644
--- a/src/nbi/tests/data/slice/post_network_slice1.json
+++ b/src/nbi/tests/data/slice/post_network_slice1.json
@@ -58,7 +58,7 @@
                                         "id": "AC POP to VM1",
                                         "description": "AC VM1 connected to POP",
                                         "ac-node-id": "172.16.204.220",
-                                        "ac-tp-id": "200"
+                                        "ac-tp-id": "500"
                                     }
                                 ]
                             }