diff --git a/src/nbi/service/tfs_api/Resources.py b/src/nbi/service/tfs_api/Resources.py
index 294a06e6e27aba3c1fbb8fe7eff27c1c22169a86..d634a0a59f68e898adb29d148f72c6f4adebe689 100644
--- a/src/nbi/service/tfs_api/Resources.py
+++ b/src/nbi/service/tfs_api/Resources.py
@@ -14,6 +14,7 @@
 
 import json
 import logging
+from typing import Dict, List
 from flask.json import jsonify
 from flask_restful import Resource, request
 from werkzeug.exceptions import BadRequest
@@ -296,10 +297,15 @@ class Links(_Resource):
         json_requests = request.get_json()
         if 'links' in json_requests:
             json_requests = json_requests['links']
-        return jsonify([
-            grpc_message_to_json(self.context_client.SetLink(grpc_link(link)))
-            for link in json_requests
-        ])
+        json_link_ids : List[Dict] = list()
+        for link_json in json_requests:
+            link = grpc_link(link_json)
+            if link.link_type == LinkTypeEnum.LINKTYPE_VIRTUAL:
+                link_id = self.vntmanager_client.SetVirtualLink(link)
+            else:
+                link_id = self.context_client.SetLink(link)
+            json_link_ids.append(grpc_message_to_json(link_id))
+        return jsonify(json_link_ids)
 
 class Link(_Resource):
     def get(self, link_uuid : str):