diff --git a/pkg/schema/schema_json.go b/pkg/schema/schema_json.go
index 906acb5d0d361611d01f43d10bd0f80377ccb4a7..e8710f76dfb8a5a81da279e4ba6d46f77a1bbdb8 100644
--- a/pkg/schema/schema_json.go
+++ b/pkg/schema/schema_json.go
@@ -6,8 +6,8 @@ import (
 )
 
 type jsonSchema struct {
-	//Field  json.RawMessage `json:"field,inline"`
-	Loaded bool `json:"loaded"`
+	Loaded   bool              `json:"loaded"`
+	Metadata map[string]string `json:"metadata"`
 }
 
 func (s *Schema) UnmarshalJSON(b []byte) error {
@@ -17,6 +17,7 @@ func (s *Schema) UnmarshalJSON(b []byte) error {
 		return errors.Wrapf(err, "error unmarshal json into field")
 	}
 	s.Loaded = j.Loaded
+	s.Metadata = j.Metadata
 
 	if err := s.Field.UnmarshalJSON(b); err != nil {
 		return err
@@ -42,8 +43,8 @@ func (s *Schema) MarshalJSON() ([]byte, error) {
 	}
 
 	jsonSch, err := jsoniter.Marshal(jsonSchema{
-		//Field: b,
-		Loaded: s.Loaded,
+		Loaded:   s.Loaded,
+		Metadata: s.Metadata,
 	})
 	if err != nil {
 		return nil, err