diff --git a/Runtime/Scripts/WorldAnalysisInterface.cs b/Runtime/Scripts/WorldAnalysisInterface.cs
index 727ebc5ba3be5c8270d02ee7342a0f5517738764..1efeacdad1832e8406ed9ec7c9d57c21e32dfc3f 100644
--- a/Runtime/Scripts/WorldAnalysisInterface.cs
+++ b/Runtime/Scripts/WorldAnalysisInterface.cs
@@ -1,4 +1,5 @@
-using ETSI.ARF.OpenAPI.WorldAnalysis; 
+using ETSI.ARF.OpenAPI.WorldAnalysis;
+using System;
 
 public interface WorldAnalysisInterface
 {
@@ -83,7 +84,7 @@ public interface WorldAnalysisInterface
     /// <param name="mode">trackable/anchor to ar device or opposite RQ-AR8-001 The WA function shall provide the SM function with a pose of either an AR device in relation to a WorldAnchor or a Trackable, or conversely a Trackable or World Anchor in relation to the AR device. </param>
     /// <param name="pose">Last estimated pose</param>
     /// <returns>The last state of the estimation of this pose</returns>
-    public PoseEstimationResult GetLastPose(string token, string uuid, Mode_WorldAnalysis mode, out Pose pose);
+    public PoseEstimationResult GetLastPose(string token, Guid uuid, Mode_WorldAnalysis mode, out Pose pose);
 
     /// <summary>
     /// Pull the most recent pose of a multiple trackables and anchors
@@ -94,7 +95,7 @@ public interface WorldAnalysisInterface
     /// <param name="mode">list of trackable/anchor to ar device or opposite RQ-AR8-001 The WA function shall provide the SM function with a pose of either an AR device in relation to a WorldAnchor or a Trackable, or conversely a Trackable or World Anchor in relation to the AR device. </param>
     /// <param name="poses">Last estimated pose</param>
     /// <returns>The last state of the estimation of this pose</returns>
-    public PoseEstimationResult[] GetLastPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, out Pose [] poses);
+    public PoseEstimationResult[] GetLastPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, out Pose [] poses);
 
     /// <summary>
     /// Subscribe to receive the pose data of a given trackable or anchor
@@ -107,7 +108,7 @@ public interface WorldAnalysisInterface
     /// <param name="validity">Subscription validity delay in millisecond</param>
     /// <param name="subscriptionUUID "> id of the callback</param>
     /// <returns>Result of the subscription</returns>
-    public InformationSubscriptionResult SubscribeToPose(string token, string uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out string subscriptionUUID);
+    public InformationSubscriptionResult SubscribeToPose(string token, Guid uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out Guid subscriptionUUID);
 
     /// <summary>
     /// Subscribe to receive the pose data of a multiple trackables and anchors
@@ -120,7 +121,7 @@ public interface WorldAnalysisInterface
     /// <param name="validity">Subscription validity delay in millisecond</param>
     /// <param name="subscriptionUUIDs"> id of the callback</param>
     /// <returns>List of subscription result</returns>
-    public InformationSubscriptionResult[] SubscribeToPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out string[] subscriptionUUIDs);
+    public InformationSubscriptionResult[] SubscribeToPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out Guid[] subscriptionUUIDs);
 
     /// <summary>
     /// Get the subscription and the associated callback for collecting a given pose
@@ -132,7 +133,7 @@ public interface WorldAnalysisInterface
     /// <param name="mode">Mode representing the context of the relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device)</param>
     /// <param name="validity">Remaining Subscription validity delay in millisecond</param>
     /// <returns>The subscription exists or not</returns>
-    public InformationSubscriptionResult GetSubsription(string token, string subscriptionUUID, out PoseCallback callback, out string target, out Mode_WorldAnalysis mode, out int validity);
+    public InformationSubscriptionResult GetSubsription(string token, Guid subscriptionUUID, out PoseCallback callback, out Guid target, out Mode_WorldAnalysis mode, out int validity);
 
     /// <summary>
     /// Update an existing subscription
@@ -143,14 +144,14 @@ public interface WorldAnalysisInterface
     /// <param name="validity">new validity of the subscription</param>
     /// <param name="callback">new callback to use</param>
     /// <returns>The subscription has been updated or not</returns>
-    public InformationSubscriptionResult UpdateSubscription(string token, string subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback);
+    public InformationSubscriptionResult UpdateSubscription(string token, Guid subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback);
 
     /// <summary>
     /// Unsubscribe to a pose
     /// </summary>
     /// <param name="subscriptionUUID">id of the subscription</param>
     /// /// <returns>The unsubscription has been performed or not</returns>
-    public InformationSubscriptionResult UnSubscribeToPose(string subscriptionUUID);
+    public InformationSubscriptionResult UnSubscribeToPose(Guid subscriptionUUID);
 
     #endregion
 
@@ -175,7 +176,7 @@ public interface WorldAnalysisInterface
     /// <param name="type">the specified id corresponds to an anchor or trackable</param>
     /// <param name="capability">list metadata associated with the pose estimation of this element</param>
     /// <returns>Capabilities have correctly identified or not</returns>
-    public CapabilityResult GetCapability(string token, string uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability);
+    public CapabilityResult GetCapability(string token, Guid uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability);
 
     #endregion
 }
\ No newline at end of file
diff --git a/Runtime/Scripts/WorldAnalysisREST.cs b/Runtime/Scripts/WorldAnalysisREST.cs
index 9d1de9d9328a313efa4fa7dd0fba70f7dd911247..5c18cebd58911b541edc3ef1a2809d7ac73a6b1a 100644
--- a/Runtime/Scripts/WorldAnalysisREST.cs
+++ b/Runtime/Scripts/WorldAnalysisREST.cs
@@ -1,6 +1,7 @@
 using UnityEngine;
 using ETSI.ARF.OpenAPI.WorldAnalysis;
 using static WorldAnalysisInterface;
+using System;
 
 //Implementation of the WorldAnalysis interface
 public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface
@@ -39,46 +40,46 @@ public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface
         return AskFrameRateResult.NOT_SUPPORTED; ///We cannot set any framerate for tracking on ARKit and ARCore
     }
 
-    public PoseEstimationResult GetLastPose(string token, string uuid, Mode_WorldAnalysis mode, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose pose)
+    public PoseEstimationResult GetLastPose(string token, Guid uuid, Mode_WorldAnalysis mode, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose pose)
     {
         pose = null;
         return PoseEstimationResult.OK;
     }
 
 
-    public PoseEstimationResult[] GetLastPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose[] poses)
+    public PoseEstimationResult[] GetLastPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose[] poses)
     {
         poses = null;
         return null;
     }
 
-    public InformationSubscriptionResult SubscribeToPose(string token, string uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out string subscriptionUUID)
+    public InformationSubscriptionResult SubscribeToPose(string token, Guid uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out Guid subscriptionUUID)
     {
-        subscriptionUUID = "";
+        subscriptionUUID = Guid.Empty;
         return InformationSubscriptionResult.OK;
     }
 
-    public InformationSubscriptionResult[] SubscribeToPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out string[] subscriptionUUIDs)
+    public InformationSubscriptionResult[] SubscribeToPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out Guid[] subscriptionUUIDs)
     {
         subscriptionUUIDs = null;
         return null;
     }
 
-    public InformationSubscriptionResult GetSubsription(string token, string subscriptionUUID, out PoseCallback callback, out string target, out Mode_WorldAnalysis mode, out int validity)
+    public InformationSubscriptionResult GetSubsription(string token, Guid subscriptionUUID, out PoseCallback callback, out Guid target, out Mode_WorldAnalysis mode, out int validity)
     {
         callback = null;
-        target = "";
+        target = Guid.Empty;
         mode = Mode_WorldAnalysis.TRACKABLES_TO_DEVICE;
         validity = 0;
         return InformationSubscriptionResult.OK;
     }
 
-    public InformationSubscriptionResult UpdateSubscription(string token, string subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback)
+    public InformationSubscriptionResult UpdateSubscription(string token, Guid subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback)
     {
         return InformationSubscriptionResult.OK;
     }
 
-    public InformationSubscriptionResult UnSubscribeToPose(string subscriptionUUID)
+    public InformationSubscriptionResult UnSubscribeToPose(Guid subscriptionUUID)
     {
         return InformationSubscriptionResult.OK;
     }
@@ -89,7 +90,7 @@ public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface
         return CapabilityResult.OK;
     }
 
-    public CapabilityResult GetCapability(string token, string uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability)
+    public CapabilityResult GetCapability(string token, Guid uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability)
     {
         isSupported = false;
         type = TypeWorldStorage.UNKNOWN;