diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java
index 43b3598ee998f5a8d4e55ce8e7120677a076c701..f3bde1cd0dd9273719c0ef09a7792ad98aa2295e 100644
--- a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java
+++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java
@@ -5,15 +5,31 @@
  */
 package it.inaf.oats.vospace.datamodel.collections;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlRootElement;
+
 /**
  *
  * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it>
  */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlRootElement(name = "node-collection")
 public class NodeCollection {
     
+    @XmlAttribute(name = "id", required = true)
     private Long id;
+    
+    @XmlAttribute(name = "title", required = true)
     private String title;
+    
+    @XmlAttribute(name = "owner-id", required = true)
     private String ownerId;
+    
+    public NodeCollection() {
+        // no op
+    }
         
     public NodeCollection(Long id, String title, String ownerId) {
         this.id = id;
diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsList.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java
similarity index 58%
rename from src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsList.java
rename to src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java
index 09a9d221101af9b1b7073d69a8f9691d5dd6cedf..6f2b5d0314af320b814d29cf529cb50298f45853 100644
--- a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsList.java
+++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java
@@ -7,17 +7,26 @@ package it.inaf.oats.vospace.datamodel.collections;
 
 import java.util.ArrayList;
 import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlRootElement;
 
 /**
  * Wrapper class for REST GET
  *
  * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it>
  */
-public class NodeCollectionsList {
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlRootElement(name = "node-collections-wrapper")
+public class NodeCollectionsWrapper {
 
+    @XmlElementWrapper(name = "node-collections-list", required = true)
+    @XmlElement(name = "node-collection")
     private List<NodeCollection> nodeCollections;
 
-    public NodeCollectionsList() {
+    public NodeCollectionsWrapper() {
         this.nodeCollections = new ArrayList<>();
     }