diff --git a/design/design.go b/design/design.go
index 75b1d81bdee22c909a1ac1491172a62dd91171ea..7389f2e5197f06bfd6edbe797ee0bb863340795a 100644
--- a/design/design.go
+++ b/design/design.go
@@ -27,6 +27,17 @@ var _ = Service("infohub", func() {
 			Response(StatusOK)
 		})
 	})
+
+	Method("Import", func() {
+		Description("Import the given data wrapped as Verifiable Presentation into the Cache.")
+		Payload(ImportRequest)
+		Result(ImportResult)
+		HTTP(func() {
+			POST("/v1/import")
+			Body("data")
+			Response(StatusOK)
+		})
+	})
 })
 
 var _ = Service("health", func() {
diff --git a/design/types.go b/design/types.go
index cdc70b74c53a469f58d534122283bf5ce7947351..20f542cbd0e7461399e39f1b2db548866a2f8725 100644
--- a/design/types.go
+++ b/design/types.go
@@ -5,7 +5,21 @@ import . "goa.design/goa/v3/dsl"
 
 var ExportRequest = Type("ExportRequest", func() {
 	Field(1, "exportName", String, "Name of export to be performed.", func() {
-		Example("myexport")
+		Example("testexport")
 	})
 	Required("exportName")
 })
+
+var ImportRequest = Type("ImportRequest", func() {
+	Field(1, "data", Bytes, "Data wrapped in Verifiable Presentation that will be imported into Cache.", func() {
+		Example("data")
+	})
+	Required("data")
+})
+
+var ImportResult = Type("ImportResult", func() {
+	Field(1, "importIds", ArrayOf(String), "importIds is an array of unique identifiers used as Cache keys to retrieve the imported data entries later.", func() {
+		Example([]string{"585a999a-f36d-419d-bed3-8ebfa5bb79c9"})
+	})
+	Required("importIds")
+})
diff --git a/gen/health/client.go b/gen/health/client.go
index 406ce2f2836e0ccc0f3af1babdc0884ce546491d..b37fa3f068929aa006821788f05471be40d85ae9 100644
--- a/gen/health/client.go
+++ b/gen/health/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health client
 //
diff --git a/gen/health/endpoints.go b/gen/health/endpoints.go
index d7f429892558eec7e470227eded4734738e5e84f..438595edcf338dbb73cf1252e84be92f936bf324 100644
--- a/gen/health/endpoints.go
+++ b/gen/health/endpoints.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health endpoints
 //
diff --git a/gen/health/service.go b/gen/health/service.go
index 328823d3a7739e8ead79e4bb9dea706406a8e43c..4c16a9c8ea4fb51bcd7b4a308d7ef33325236659 100644
--- a/gen/health/service.go
+++ b/gen/health/service.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health service
 //
diff --git a/gen/http/cli/infohub/cli.go b/gen/http/cli/infohub/cli.go
index 1f962614eaae7cfa1247e17813842a58825dd3cc..785950bbbe8a5276174db69124a3c7fcfca730a4 100644
--- a/gen/http/cli/infohub/cli.go
+++ b/gen/http/cli/infohub/cli.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP client CLI support package
 //
@@ -25,14 +25,14 @@ import (
 //
 func UsageCommands() string {
 	return `health (liveness|readiness)
-infohub export
+infohub (export|import)
 `
 }
 
 // UsageExamples produces an example of a valid invocation of the CLI tool.
 func UsageExamples() string {
 	return os.Args[0] + ` health liveness` + "\n" +
-		os.Args[0] + ` infohub export --export-name "myexport"` + "\n" +
+		os.Args[0] + ` infohub export --export-name "testexport"` + "\n" +
 		""
 }
 
@@ -56,6 +56,9 @@ func ParseEndpoint(
 
 		infohubExportFlags          = flag.NewFlagSet("export", flag.ExitOnError)
 		infohubExportExportNameFlag = infohubExportFlags.String("export-name", "REQUIRED", "Name of export to be performed.")
+
+		infohubImportFlags    = flag.NewFlagSet("import", flag.ExitOnError)
+		infohubImportBodyFlag = infohubImportFlags.String("body", "REQUIRED", "")
 	)
 	healthFlags.Usage = healthUsage
 	healthLivenessFlags.Usage = healthLivenessUsage
@@ -63,6 +66,7 @@ func ParseEndpoint(
 
 	infohubFlags.Usage = infohubUsage
 	infohubExportFlags.Usage = infohubExportUsage
+	infohubImportFlags.Usage = infohubImportUsage
 
 	if err := flag.CommandLine.Parse(os.Args[1:]); err != nil {
 		return nil, nil, err
@@ -113,6 +117,9 @@ func ParseEndpoint(
 			case "export":
 				epf = infohubExportFlags
 
+			case "import":
+				epf = infohubImportFlags
+
 			}
 
 		}
@@ -151,6 +158,9 @@ func ParseEndpoint(
 			case "export":
 				endpoint = c.Export()
 				data, err = infohubc.BuildExportPayload(*infohubExportExportNameFlag)
+			case "import":
+				endpoint = c.Import()
+				data, err = infohubc.BuildImportPayload(*infohubImportBodyFlag)
 			}
 		}
 	}
@@ -203,6 +213,7 @@ Usage:
 
 COMMAND:
     export: Export returns data signed as Verifiable Presentation.
+    import: Import the given data wrapped as Verifiable Presentation into the Cache.
 
 Additional help:
     %[1]s infohub COMMAND --help
@@ -215,6 +226,17 @@ Export returns data signed as Verifiable Presentation.
     -export-name STRING: Name of export to be performed.
 
 Example:
-    %[1]s infohub export --export-name "myexport"
+    %[1]s infohub export --export-name "testexport"
+`, os.Args[0])
+}
+
+func infohubImportUsage() {
+	fmt.Fprintf(os.Stderr, `%[1]s [flags] infohub import -body STRING
+
+Import the given data wrapped as Verifiable Presentation into the Cache.
+    -body STRING: 
+
+Example:
+    %[1]s infohub import --body "data"
 `, os.Args[0])
 }
diff --git a/gen/http/health/client/cli.go b/gen/http/health/client/cli.go
index 87164f688310ebfafe7c65dd1d006476cc67d0ad..270e6fd089f999a09ceec4dee924b7978a9b79a2 100644
--- a/gen/http/health/client/cli.go
+++ b/gen/http/health/client/cli.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health HTTP client CLI support package
 //
diff --git a/gen/http/health/client/client.go b/gen/http/health/client/client.go
index d0d6d9164affa6eb757487cc097b9fad02d716fa..6f380ead947f5203d7a540fc546e5976d7122f45 100644
--- a/gen/http/health/client/client.go
+++ b/gen/http/health/client/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health client HTTP transport
 //
diff --git a/gen/http/health/client/encode_decode.go b/gen/http/health/client/encode_decode.go
index fb0dfe3f27ae5e4a44f41cc566acc8eed61b3df8..4b86a40ed3902c6a29d4bd97bc25f6e3d757d211 100644
--- a/gen/http/health/client/encode_decode.go
+++ b/gen/http/health/client/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health HTTP client encoders and decoders
 //
diff --git a/gen/http/health/client/paths.go b/gen/http/health/client/paths.go
index 04cc126013dfc58b5f13f87f9385d82cdc28c0af..f0f55df96071aa185a0bfceb45a8dc27cee7f3be 100644
--- a/gen/http/health/client/paths.go
+++ b/gen/http/health/client/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // HTTP request path constructors for the health service.
 //
diff --git a/gen/http/health/client/types.go b/gen/http/health/client/types.go
index 50dbf049a0a4d3de9889e7d3e5e37e75b39c81bc..4ceaa2446d43efe4f82fd06cfb7047028b0c3c6a 100644
--- a/gen/http/health/client/types.go
+++ b/gen/http/health/client/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health HTTP client types
 //
diff --git a/gen/http/health/server/encode_decode.go b/gen/http/health/server/encode_decode.go
index 9c5ef1945588650e91a5ae17923c859bd483ba36..dcf32b39e9c0a9d2f621e5a7788544859a672a16 100644
--- a/gen/http/health/server/encode_decode.go
+++ b/gen/http/health/server/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health HTTP server encoders and decoders
 //
diff --git a/gen/http/health/server/paths.go b/gen/http/health/server/paths.go
index 8b14384738cf0b6bead74001b8df464f9007a47c..567e60daa044e97ec90a406f490a93ed7f70012c 100644
--- a/gen/http/health/server/paths.go
+++ b/gen/http/health/server/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // HTTP request path constructors for the health service.
 //
diff --git a/gen/http/health/server/server.go b/gen/http/health/server/server.go
index 0e6bf48393dca58bbbee8c400eca1f902d261022..f37c7e61a790523e8a6446b9c310da05aa32eac8 100644
--- a/gen/http/health/server/server.go
+++ b/gen/http/health/server/server.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health HTTP server
 //
diff --git a/gen/http/health/server/types.go b/gen/http/health/server/types.go
index 72523d40bd09936f32fda5ecc12fe8c30eb42947..f60f04c4c2cc1318b2c5ff7011453ad52b3cd06c 100644
--- a/gen/http/health/server/types.go
+++ b/gen/http/health/server/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // health HTTP server types
 //
diff --git a/gen/http/infohub/client/cli.go b/gen/http/infohub/client/cli.go
index ede41623a055318005cd839434e5c78bf5a5691e..e7e678b48fd89e6961403c119080698e72f5e91e 100644
--- a/gen/http/infohub/client/cli.go
+++ b/gen/http/infohub/client/cli.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP client CLI support package
 //
@@ -23,3 +23,18 @@ func BuildExportPayload(infohubExportExportName string) (*infohub.ExportRequest,
 
 	return v, nil
 }
+
+// BuildImportPayload builds the payload for the infohub Import endpoint from
+// CLI flags.
+func BuildImportPayload(infohubImportBody string) (*infohub.ImportRequest, error) {
+	var body []byte
+	{
+		body = []byte(infohubImportBody)
+	}
+	v := body
+	res := &infohub.ImportRequest{
+		Data: v,
+	}
+
+	return res, nil
+}
diff --git a/gen/http/infohub/client/client.go b/gen/http/infohub/client/client.go
index dfcd5fce1fea960da2c07e02fce61fc9736fc7d0..1dfd6ebe8bdc08fcf9ca7f628ac55d820a25838e 100644
--- a/gen/http/infohub/client/client.go
+++ b/gen/http/infohub/client/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub client HTTP transport
 //
@@ -20,6 +20,9 @@ type Client struct {
 	// Export Doer is the HTTP client used to make requests to the Export endpoint.
 	ExportDoer goahttp.Doer
 
+	// Import Doer is the HTTP client used to make requests to the Import endpoint.
+	ImportDoer goahttp.Doer
+
 	// RestoreResponseBody controls whether the response bodies are reset after
 	// decoding so they can be read again.
 	RestoreResponseBody bool
@@ -41,6 +44,7 @@ func NewClient(
 ) *Client {
 	return &Client{
 		ExportDoer:          doer,
+		ImportDoer:          doer,
 		RestoreResponseBody: restoreBody,
 		scheme:              scheme,
 		host:                host,
@@ -67,3 +71,27 @@ func (c *Client) Export() goa.Endpoint {
 		return decodeResponse(resp)
 	}
 }
+
+// Import returns an endpoint that makes HTTP requests to the infohub service
+// Import server.
+func (c *Client) Import() goa.Endpoint {
+	var (
+		encodeRequest  = EncodeImportRequest(c.encoder)
+		decodeResponse = DecodeImportResponse(c.decoder, c.RestoreResponseBody)
+	)
+	return func(ctx context.Context, v interface{}) (interface{}, error) {
+		req, err := c.BuildImportRequest(ctx, v)
+		if err != nil {
+			return nil, err
+		}
+		err = encodeRequest(req, v)
+		if err != nil {
+			return nil, err
+		}
+		resp, err := c.ImportDoer.Do(req)
+		if err != nil {
+			return nil, goahttp.ErrRequestError("infohub", "Import", err)
+		}
+		return decodeResponse(resp)
+	}
+}
diff --git a/gen/http/infohub/client/encode_decode.go b/gen/http/infohub/client/encode_decode.go
index 4eea0d4eaabc3d53fc04ecf133059f35f5abb640..df2876a288fd401c2862c42c4ce4b8b88564fe72 100644
--- a/gen/http/infohub/client/encode_decode.go
+++ b/gen/http/infohub/client/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP client encoders and decoders
 //
@@ -77,3 +77,74 @@ func DecodeExportResponse(decoder func(*http.Response) goahttp.Decoder, restoreB
 		}
 	}
 }
+
+// BuildImportRequest instantiates a HTTP request object with method and path
+// set to call the "infohub" service "Import" endpoint
+func (c *Client) BuildImportRequest(ctx context.Context, v interface{}) (*http.Request, error) {
+	u := &url.URL{Scheme: c.scheme, Host: c.host, Path: ImportInfohubPath()}
+	req, err := http.NewRequest("POST", u.String(), nil)
+	if err != nil {
+		return nil, goahttp.ErrInvalidURL("infohub", "Import", u.String(), err)
+	}
+	if ctx != nil {
+		req = req.WithContext(ctx)
+	}
+
+	return req, nil
+}
+
+// EncodeImportRequest returns an encoder for requests sent to the infohub
+// Import server.
+func EncodeImportRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, interface{}) error {
+	return func(req *http.Request, v interface{}) error {
+		p, ok := v.(*infohub.ImportRequest)
+		if !ok {
+			return goahttp.ErrInvalidType("infohub", "Import", "*infohub.ImportRequest", v)
+		}
+		body := p.Data
+		if err := encoder(req).Encode(&body); err != nil {
+			return goahttp.ErrEncodingError("infohub", "Import", err)
+		}
+		return nil
+	}
+}
+
+// DecodeImportResponse returns a decoder for responses returned by the infohub
+// Import endpoint. restoreBody controls whether the response body should be
+// restored after having been read.
+func DecodeImportResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) {
+	return func(resp *http.Response) (interface{}, error) {
+		if restoreBody {
+			b, err := ioutil.ReadAll(resp.Body)
+			if err != nil {
+				return nil, err
+			}
+			resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
+			defer func() {
+				resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
+			}()
+		} else {
+			defer resp.Body.Close()
+		}
+		switch resp.StatusCode {
+		case http.StatusOK:
+			var (
+				body ImportResponseBody
+				err  error
+			)
+			err = decoder(resp).Decode(&body)
+			if err != nil {
+				return nil, goahttp.ErrDecodingError("infohub", "Import", err)
+			}
+			err = ValidateImportResponseBody(&body)
+			if err != nil {
+				return nil, goahttp.ErrValidationError("infohub", "Import", err)
+			}
+			res := NewImportResultOK(&body)
+			return res, nil
+		default:
+			body, _ := ioutil.ReadAll(resp.Body)
+			return nil, goahttp.ErrInvalidResponse("infohub", "Import", resp.StatusCode, string(body))
+		}
+	}
+}
diff --git a/gen/http/infohub/client/paths.go b/gen/http/infohub/client/paths.go
index 98272eefb89cd28b5be7ca4dba53fe68267f7f9b..72e6ec46ebc406fde5d4e6304ee550f12416f858 100644
--- a/gen/http/infohub/client/paths.go
+++ b/gen/http/infohub/client/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // HTTP request path constructors for the infohub service.
 //
@@ -15,3 +15,8 @@ import (
 func ExportInfohubPath(exportName string) string {
 	return fmt.Sprintf("/v1/export/%v", exportName)
 }
+
+// ImportInfohubPath returns the URL path to the infohub service Import HTTP endpoint.
+func ImportInfohubPath() string {
+	return "/v1/import"
+}
diff --git a/gen/http/infohub/client/types.go b/gen/http/infohub/client/types.go
index c1e33d999f9aee3f7a2a7bc9302bce57eee69847..7e0b0f04f4ca6d34c370a18c29e1cb5a3857e4b7 100644
--- a/gen/http/infohub/client/types.go
+++ b/gen/http/infohub/client/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP client types
 //
@@ -6,3 +6,36 @@
 // $ goa gen code.vereign.com/gaiax/tsa/infohub/design
 
 package client
+
+import (
+	infohub "code.vereign.com/gaiax/tsa/infohub/gen/infohub"
+	goa "goa.design/goa/v3/pkg"
+)
+
+// ImportResponseBody is the type of the "infohub" service "Import" endpoint
+// HTTP response body.
+type ImportResponseBody struct {
+	// importIds is an array of unique identifiers used as Cache keys to retrieve
+	// the imported data entries later.
+	ImportIds []string `form:"importIds,omitempty" json:"importIds,omitempty" xml:"importIds,omitempty"`
+}
+
+// NewImportResultOK builds a "infohub" service "Import" endpoint result from a
+// HTTP "OK" response.
+func NewImportResultOK(body *ImportResponseBody) *infohub.ImportResult {
+	v := &infohub.ImportResult{}
+	v.ImportIds = make([]string, len(body.ImportIds))
+	for i, val := range body.ImportIds {
+		v.ImportIds[i] = val
+	}
+
+	return v
+}
+
+// ValidateImportResponseBody runs the validations defined on ImportResponseBody
+func ValidateImportResponseBody(body *ImportResponseBody) (err error) {
+	if body.ImportIds == nil {
+		err = goa.MergeErrors(err, goa.MissingFieldError("importIds", "body"))
+	}
+	return
+}
diff --git a/gen/http/infohub/server/encode_decode.go b/gen/http/infohub/server/encode_decode.go
index 9aa1ff44cbb307caa30d63e8f6a32903a959c20b..ac3558541ffdff32b6aa86b22af29edcd56c8ea7 100644
--- a/gen/http/infohub/server/encode_decode.go
+++ b/gen/http/infohub/server/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP server encoders and decoders
 //
@@ -9,9 +9,12 @@ package server
 
 import (
 	"context"
+	"io"
 	"net/http"
 
+	infohub "code.vereign.com/gaiax/tsa/infohub/gen/infohub"
 	goahttp "goa.design/goa/v3/http"
+	goa "goa.design/goa/v3/pkg"
 )
 
 // EncodeExportResponse returns an encoder for responses returned by the
@@ -41,3 +44,36 @@ func DecodeExportRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.
 		return payload, nil
 	}
 }
+
+// EncodeImportResponse returns an encoder for responses returned by the
+// infohub Import endpoint.
+func EncodeImportResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, interface{}) error {
+	return func(ctx context.Context, w http.ResponseWriter, v interface{}) error {
+		res, _ := v.(*infohub.ImportResult)
+		enc := encoder(ctx, w)
+		body := NewImportResponseBody(res)
+		w.WriteHeader(http.StatusOK)
+		return enc.Encode(body)
+	}
+}
+
+// DecodeImportRequest returns a decoder for requests sent to the infohub
+// Import endpoint.
+func DecodeImportRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.Decoder) func(*http.Request) (interface{}, error) {
+	return func(r *http.Request) (interface{}, error) {
+		var (
+			body []byte
+			err  error
+		)
+		err = decoder(r).Decode(&body)
+		if err != nil {
+			if err == io.EOF {
+				return nil, goa.MissingPayloadError()
+			}
+			return nil, goa.DecodePayloadError(err.Error())
+		}
+		payload := NewImportRequest(body)
+
+		return payload, nil
+	}
+}
diff --git a/gen/http/infohub/server/paths.go b/gen/http/infohub/server/paths.go
index 303b230f5f446c7316a746b7eed24e9bfef825d2..9164f0582b5942f2a7ce66c97304c33594a76b9c 100644
--- a/gen/http/infohub/server/paths.go
+++ b/gen/http/infohub/server/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // HTTP request path constructors for the infohub service.
 //
@@ -15,3 +15,8 @@ import (
 func ExportInfohubPath(exportName string) string {
 	return fmt.Sprintf("/v1/export/%v", exportName)
 }
+
+// ImportInfohubPath returns the URL path to the infohub service Import HTTP endpoint.
+func ImportInfohubPath() string {
+	return "/v1/import"
+}
diff --git a/gen/http/infohub/server/server.go b/gen/http/infohub/server/server.go
index 961f9d524d2f1c93e3472c7e743734c893efa2f7..cacd6a1cec1b72ad7ce452c7dd11b21f1aae54a9 100644
--- a/gen/http/infohub/server/server.go
+++ b/gen/http/infohub/server/server.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP server
 //
@@ -20,6 +20,7 @@ import (
 type Server struct {
 	Mounts []*MountPoint
 	Export http.Handler
+	Import http.Handler
 }
 
 // ErrorNamer is an interface implemented by generated error structs that
@@ -56,8 +57,10 @@ func New(
 	return &Server{
 		Mounts: []*MountPoint{
 			{"Export", "GET", "/v1/export/{exportName}"},
+			{"Import", "POST", "/v1/import"},
 		},
 		Export: NewExportHandler(e.Export, mux, decoder, encoder, errhandler, formatter),
+		Import: NewImportHandler(e.Import, mux, decoder, encoder, errhandler, formatter),
 	}
 }
 
@@ -67,11 +70,13 @@ func (s *Server) Service() string { return "infohub" }
 // Use wraps the server handlers with the given middleware.
 func (s *Server) Use(m func(http.Handler) http.Handler) {
 	s.Export = m(s.Export)
+	s.Import = m(s.Import)
 }
 
 // Mount configures the mux to serve the infohub endpoints.
 func Mount(mux goahttp.Muxer, h *Server) {
 	MountExportHandler(mux, h.Export)
+	MountImportHandler(mux, h.Import)
 }
 
 // Mount configures the mux to serve the infohub endpoints.
@@ -129,3 +134,54 @@ func NewExportHandler(
 		}
 	})
 }
+
+// MountImportHandler configures the mux to serve the "infohub" service
+// "Import" endpoint.
+func MountImportHandler(mux goahttp.Muxer, h http.Handler) {
+	f, ok := h.(http.HandlerFunc)
+	if !ok {
+		f = func(w http.ResponseWriter, r *http.Request) {
+			h.ServeHTTP(w, r)
+		}
+	}
+	mux.Handle("POST", "/v1/import", f)
+}
+
+// NewImportHandler creates a HTTP handler which loads the HTTP request and
+// calls the "infohub" service "Import" endpoint.
+func NewImportHandler(
+	endpoint goa.Endpoint,
+	mux goahttp.Muxer,
+	decoder func(*http.Request) goahttp.Decoder,
+	encoder func(context.Context, http.ResponseWriter) goahttp.Encoder,
+	errhandler func(context.Context, http.ResponseWriter, error),
+	formatter func(err error) goahttp.Statuser,
+) http.Handler {
+	var (
+		decodeRequest  = DecodeImportRequest(mux, decoder)
+		encodeResponse = EncodeImportResponse(encoder)
+		encodeError    = goahttp.ErrorEncoder(encoder, formatter)
+	)
+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		ctx := context.WithValue(r.Context(), goahttp.AcceptTypeKey, r.Header.Get("Accept"))
+		ctx = context.WithValue(ctx, goa.MethodKey, "Import")
+		ctx = context.WithValue(ctx, goa.ServiceKey, "infohub")
+		payload, err := decodeRequest(r)
+		if err != nil {
+			if err := encodeError(ctx, w, err); err != nil {
+				errhandler(ctx, w, err)
+			}
+			return
+		}
+		res, err := endpoint(ctx, payload)
+		if err != nil {
+			if err := encodeError(ctx, w, err); err != nil {
+				errhandler(ctx, w, err)
+			}
+			return
+		}
+		if err := encodeResponse(ctx, w, res); err != nil {
+			errhandler(ctx, w, err)
+		}
+	})
+}
diff --git a/gen/http/infohub/server/types.go b/gen/http/infohub/server/types.go
index 6b919068f803907c34a0a699ae6bfd9cd90d1238..1964ea0bf1c1aae33be87a074cd64b776c1137d7 100644
--- a/gen/http/infohub/server/types.go
+++ b/gen/http/infohub/server/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub HTTP server types
 //
@@ -11,6 +11,27 @@ import (
 	infohub "code.vereign.com/gaiax/tsa/infohub/gen/infohub"
 )
 
+// ImportResponseBody is the type of the "infohub" service "Import" endpoint
+// HTTP response body.
+type ImportResponseBody struct {
+	// importIds is an array of unique identifiers used as Cache keys to retrieve
+	// the imported data entries later.
+	ImportIds []string `form:"importIds" json:"importIds" xml:"importIds"`
+}
+
+// NewImportResponseBody builds the HTTP response body from the result of the
+// "Import" endpoint of the "infohub" service.
+func NewImportResponseBody(res *infohub.ImportResult) *ImportResponseBody {
+	body := &ImportResponseBody{}
+	if res.ImportIds != nil {
+		body.ImportIds = make([]string, len(res.ImportIds))
+		for i, val := range res.ImportIds {
+			body.ImportIds[i] = val
+		}
+	}
+	return body
+}
+
 // NewExportRequest builds a infohub service Export endpoint payload.
 func NewExportRequest(exportName string) *infohub.ExportRequest {
 	v := &infohub.ExportRequest{}
@@ -18,3 +39,13 @@ func NewExportRequest(exportName string) *infohub.ExportRequest {
 
 	return v
 }
+
+// NewImportRequest builds a infohub service Import endpoint payload.
+func NewImportRequest(body []byte) *infohub.ImportRequest {
+	v := body
+	res := &infohub.ImportRequest{
+		Data: v,
+	}
+
+	return res
+}
diff --git a/gen/http/openapi.json b/gen/http/openapi.json
index 73d9f18fbc12c419e358c01fa76ffcd19cec29f8..42a48004c5c9060181c4ffa79cd67bdafaf55e4e 100644
--- a/gen/http/openapi.json
+++ b/gen/http/openapi.json
@@ -1 +1 @@
-{"swagger":"2.0","info":{"title":"Information Hub Service","description":"Information Hub Service exposes HTTP API for exporting and importing information.","version":""},"host":"localhost:8084","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/v1/export/{exportName}":{"get":{"tags":["infohub"],"summary":"Export infohub","description":"Export returns data signed as Verifiable Presentation.","operationId":"infohub#Export","parameters":[{"name":"exportName","in":"path","description":"Name of export to be performed.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"}}},"schemes":["http"]}}}}
\ No newline at end of file
+{"swagger":"2.0","info":{"title":"Information Hub Service","description":"Information Hub Service exposes HTTP API for exporting and importing information.","version":""},"host":"localhost:8084","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/v1/export/{exportName}":{"get":{"tags":["infohub"],"summary":"Export infohub","description":"Export returns data signed as Verifiable Presentation.","operationId":"infohub#Export","parameters":[{"name":"exportName","in":"path","description":"Name of export to be performed.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"}}},"schemes":["http"]}},"/v1/import":{"post":{"tags":["infohub"],"summary":"Import infohub","description":"Import the given data wrapped as Verifiable Presentation into the Cache.","operationId":"infohub#Import","parameters":[{"name":"bytes","in":"body","description":"Data wrapped in Verifiable Presentation that will be imported into Cache.","required":true,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/InfohubImportResponseBody","required":["importIds"]}}},"schemes":["http"]}}},"definitions":{"InfohubImportResponseBody":{"title":"InfohubImportResponseBody","type":"object","properties":{"importIds":{"type":"array","items":{"type":"string","example":"Veniam non."},"description":"importIds is an array of unique identifiers used as Cache keys to retrieve the imported data entries later.","example":["585a999a-f36d-419d-bed3-8ebfa5bb79c9"]}},"example":{"importIds":["585a999a-f36d-419d-bed3-8ebfa5bb79c9"]},"required":["importIds"]}}}
\ No newline at end of file
diff --git a/gen/http/openapi.yaml b/gen/http/openapi.yaml
index 1d2f51fd9a8c9a46cacf823aa59499353dd1102a..d97b75e1656bcbcebfe7f2ec1ae8ee24b2ab8365 100644
--- a/gen/http/openapi.yaml
+++ b/gen/http/openapi.yaml
@@ -1,59 +1,100 @@
 swagger: "2.0"
 info:
-  title: Information Hub Service
-  description: Information Hub Service exposes HTTP API for exporting and importing
-    information.
-  version: ""
+    title: Information Hub Service
+    description: Information Hub Service exposes HTTP API for exporting and importing information.
+    version: ""
 host: localhost:8084
 consumes:
-- application/json
-- application/xml
-- application/gob
+    - application/json
+    - application/xml
+    - application/gob
 produces:
-- application/json
-- application/xml
-- application/gob
+    - application/json
+    - application/xml
+    - application/gob
 paths:
-  /liveness:
-    get:
-      tags:
-      - health
-      summary: Liveness health
-      operationId: health#Liveness
-      responses:
-        "200":
-          description: OK response.
-      schemes:
-      - http
-  /readiness:
-    get:
-      tags:
-      - health
-      summary: Readiness health
-      operationId: health#Readiness
-      responses:
-        "200":
-          description: OK response.
-      schemes:
-      - http
-  /v1/export/{exportName}:
-    get:
-      tags:
-      - infohub
-      summary: Export infohub
-      description: Export returns data signed as Verifiable Presentation.
-      operationId: infohub#Export
-      parameters:
-      - name: exportName
-        in: path
-        description: Name of export to be performed.
-        required: true
-        type: string
-      responses:
-        "200":
-          description: OK response.
-          schema:
-            type: string
-            format: binary
-      schemes:
-      - http
+    /liveness:
+        get:
+            tags:
+                - health
+            summary: Liveness health
+            operationId: health#Liveness
+            responses:
+                "200":
+                    description: OK response.
+            schemes:
+                - http
+    /readiness:
+        get:
+            tags:
+                - health
+            summary: Readiness health
+            operationId: health#Readiness
+            responses:
+                "200":
+                    description: OK response.
+            schemes:
+                - http
+    /v1/export/{exportName}:
+        get:
+            tags:
+                - infohub
+            summary: Export infohub
+            description: Export returns data signed as Verifiable Presentation.
+            operationId: infohub#Export
+            parameters:
+                - name: exportName
+                  in: path
+                  description: Name of export to be performed.
+                  required: true
+                  type: string
+            responses:
+                "200":
+                    description: OK response.
+                    schema:
+                        type: string
+                        format: binary
+            schemes:
+                - http
+    /v1/import:
+        post:
+            tags:
+                - infohub
+            summary: Import infohub
+            description: Import the given data wrapped as Verifiable Presentation into the Cache.
+            operationId: infohub#Import
+            parameters:
+                - name: bytes
+                  in: body
+                  description: Data wrapped in Verifiable Presentation that will be imported into Cache.
+                  required: true
+                  schema:
+                    type: string
+                    format: byte
+            responses:
+                "200":
+                    description: OK response.
+                    schema:
+                        $ref: '#/definitions/InfohubImportResponseBody'
+                        required:
+                            - importIds
+            schemes:
+                - http
+definitions:
+    InfohubImportResponseBody:
+        title: InfohubImportResponseBody
+        type: object
+        properties:
+            importIds:
+                type: array
+                items:
+                    type: string
+                    example: Veniam non.
+                description: importIds is an array of unique identifiers used as Cache keys to retrieve the imported data entries later.
+                example:
+                    - 585a999a-f36d-419d-bed3-8ebfa5bb79c9
+        example:
+            importIds:
+                - 585a999a-f36d-419d-bed3-8ebfa5bb79c9
+        required:
+            - importIds
diff --git a/gen/http/openapi/client/client.go b/gen/http/openapi/client/client.go
index 7128c214cd9723a62a1984618e4bb0755483690f..ca8bf500ef27b626d91e393ed02ea6babf70a5cf 100644
--- a/gen/http/openapi/client/client.go
+++ b/gen/http/openapi/client/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi client HTTP transport
 //
diff --git a/gen/http/openapi/client/encode_decode.go b/gen/http/openapi/client/encode_decode.go
index 9bfd2d743bcce4a5fe165bd3cf2c46779ffe3c1e..e1b2965842d9b99c9ae2de3565fd4ee0c24d4a41 100644
--- a/gen/http/openapi/client/encode_decode.go
+++ b/gen/http/openapi/client/encode_decode.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi HTTP client encoders and decoders
 //
diff --git a/gen/http/openapi/client/paths.go b/gen/http/openapi/client/paths.go
index d0d05b62efcc070906e57919a19d5214ab2eb72b..3a1079bedcf0243ebe42f1c46d313d7286898fcc 100644
--- a/gen/http/openapi/client/paths.go
+++ b/gen/http/openapi/client/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // HTTP request path constructors for the openapi service.
 //
diff --git a/gen/http/openapi/client/types.go b/gen/http/openapi/client/types.go
index 16c762deb726d4fb8d1d761ed7c14b42fe06708f..61e271227a16ff9859f44b4fdabe71dfe3078b90 100644
--- a/gen/http/openapi/client/types.go
+++ b/gen/http/openapi/client/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi HTTP client types
 //
diff --git a/gen/http/openapi/server/paths.go b/gen/http/openapi/server/paths.go
index 6449fc4e62bf377062595e93d944cb0477d201d1..0b3a272787d2fced1ac596f3f2c75f4d84425253 100644
--- a/gen/http/openapi/server/paths.go
+++ b/gen/http/openapi/server/paths.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // HTTP request path constructors for the openapi service.
 //
diff --git a/gen/http/openapi/server/server.go b/gen/http/openapi/server/server.go
index 000ba5c13622865e8a4e36366817eb1f4321d164..7f14b07ffce9d8f88d5ec1a30e5a4a959ee076ab 100644
--- a/gen/http/openapi/server/server.go
+++ b/gen/http/openapi/server/server.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi HTTP server
 //
diff --git a/gen/http/openapi/server/types.go b/gen/http/openapi/server/types.go
index b67c6dc7b74482c9f3c730099f9df130ced2ca3e..a9b28d0257928814a8122423b09fc758e4037842 100644
--- a/gen/http/openapi/server/types.go
+++ b/gen/http/openapi/server/types.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi HTTP server types
 //
diff --git a/gen/http/openapi3.json b/gen/http/openapi3.json
index d35523af06ed4596e8772857a7727ecfe73e750e..e121b07cd358bb8a74fded3de2062adb554b48bc 100644
--- a/gen/http/openapi3.json
+++ b/gen/http/openapi3.json
@@ -1 +1 @@
-{"openapi":"3.0.3","info":{"title":"Information Hub Service","description":"Information Hub Service exposes HTTP API for exporting and importing information.","version":"1.0"},"servers":[{"url":"http://localhost:8084","description":"Information Hub Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}},"/v1/export/{exportName}":{"get":{"tags":["infohub"],"summary":"Export infohub","description":"Export returns data signed as Verifiable Presentation.","operationId":"infohub#Export","parameters":[{"name":"exportName","in":"path","description":"Name of export to be performed.","required":true,"schema":{"type":"string","description":"Name of export to be performed.","example":"myexport"},"example":"myexport"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"type":"string","example":"Veniam non.","format":"binary"},"example":"Ipsam similique nulla quis."}}}}}}},"components":{},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"infohub","description":"Information Hub Service enables exporting and importing information."}]}
\ No newline at end of file
+{"openapi":"3.0.3","info":{"title":"Information Hub Service","description":"Information Hub Service exposes HTTP API for exporting and importing information.","version":"1.0"},"servers":[{"url":"http://localhost:8084","description":"Information Hub Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}},"/v1/export/{exportName}":{"get":{"tags":["infohub"],"summary":"Export infohub","description":"Export returns data signed as Verifiable Presentation.","operationId":"infohub#Export","parameters":[{"name":"exportName","in":"path","description":"Name of export to be performed.","required":true,"schema":{"type":"string","description":"Name of export to be performed.","example":"testexport"},"example":"testexport"}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"type":"string","example":"Ipsam similique nulla quis.","format":"binary"},"example":"Hic iste totam."}}}}}},"/v1/import":{"post":{"tags":["infohub"],"summary":"Import infohub","description":"Import the given data wrapped as Verifiable Presentation into the Cache.","operationId":"infohub#Import","requestBody":{"description":"Data wrapped in Verifiable Presentation that will be imported into Cache.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Data wrapped in Verifiable Presentation that will be imported into Cache.","example":"data","format":"binary"},"example":"data"}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"},"example":{"importIds":["585a999a-f36d-419d-bed3-8ebfa5bb79c9"]}}}}}}}},"components":{"schemas":{"ImportResult":{"type":"object","properties":{"importIds":{"type":"array","items":{"type":"string","example":"Quibusdam ut exercitationem dolore eius id sed."},"description":"importIds is an array of unique identifiers used as Cache keys to retrieve the imported data entries later.","example":["585a999a-f36d-419d-bed3-8ebfa5bb79c9"]}},"example":{"importIds":["585a999a-f36d-419d-bed3-8ebfa5bb79c9"]},"required":["importIds"]}}},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"infohub","description":"Information Hub Service enables exporting and importing information."}]}
\ No newline at end of file
diff --git a/gen/http/openapi3.yaml b/gen/http/openapi3.yaml
index 9faf4e1c8bf3236cc130cddde6f220d762fd0613..bc9348f1cf7118b48525eb38f4c3a7c5eae1b32d 100644
--- a/gen/http/openapi3.yaml
+++ b/gen/http/openapi3.yaml
@@ -1,61 +1,105 @@
 openapi: 3.0.3
 info:
-  title: Information Hub Service
-  description: Information Hub Service exposes HTTP API for exporting and importing
-    information.
-  version: "1.0"
+    title: Information Hub Service
+    description: Information Hub Service exposes HTTP API for exporting and importing information.
+    version: "1.0"
 servers:
-- url: http://localhost:8084
-  description: Information Hub Server
+    - url: http://localhost:8084
+      description: Information Hub Server
 paths:
-  /liveness:
-    get:
-      tags:
-      - health
-      summary: Liveness health
-      operationId: health#Liveness
-      responses:
-        "200":
-          description: OK response.
-  /readiness:
-    get:
-      tags:
-      - health
-      summary: Readiness health
-      operationId: health#Readiness
-      responses:
-        "200":
-          description: OK response.
-  /v1/export/{exportName}:
-    get:
-      tags:
-      - infohub
-      summary: Export infohub
-      description: Export returns data signed as Verifiable Presentation.
-      operationId: infohub#Export
-      parameters:
-      - name: exportName
-        in: path
-        description: Name of export to be performed.
-        required: true
-        schema:
-          type: string
-          description: Name of export to be performed.
-          example: myexport
-        example: myexport
-      responses:
-        "200":
-          description: OK response.
-          content:
-            application/json:
-              schema:
-                type: string
-                example: Veniam non.
-                format: binary
-              example: Ipsam similique nulla quis.
-components: {}
+    /liveness:
+        get:
+            tags:
+                - health
+            summary: Liveness health
+            operationId: health#Liveness
+            responses:
+                "200":
+                    description: OK response.
+    /readiness:
+        get:
+            tags:
+                - health
+            summary: Readiness health
+            operationId: health#Readiness
+            responses:
+                "200":
+                    description: OK response.
+    /v1/export/{exportName}:
+        get:
+            tags:
+                - infohub
+            summary: Export infohub
+            description: Export returns data signed as Verifiable Presentation.
+            operationId: infohub#Export
+            parameters:
+                - name: exportName
+                  in: path
+                  description: Name of export to be performed.
+                  required: true
+                  schema:
+                    type: string
+                    description: Name of export to be performed.
+                    example: testexport
+                  example: testexport
+            responses:
+                "200":
+                    description: OK response.
+                    content:
+                        application/json:
+                            schema:
+                                type: string
+                                example: Ipsam similique nulla quis.
+                                format: binary
+                            example: Hic iste totam.
+    /v1/import:
+        post:
+            tags:
+                - infohub
+            summary: Import infohub
+            description: Import the given data wrapped as Verifiable Presentation into the Cache.
+            operationId: infohub#Import
+            requestBody:
+                description: Data wrapped in Verifiable Presentation that will be imported into Cache.
+                required: true
+                content:
+                    application/json:
+                        schema:
+                            type: string
+                            description: Data wrapped in Verifiable Presentation that will be imported into Cache.
+                            example: data
+                            format: binary
+                        example: data
+            responses:
+                "200":
+                    description: OK response.
+                    content:
+                        application/json:
+                            schema:
+                                $ref: '#/components/schemas/ImportResult'
+                            example:
+                                importIds:
+                                    - 585a999a-f36d-419d-bed3-8ebfa5bb79c9
+components:
+    schemas:
+        ImportResult:
+            type: object
+            properties:
+                importIds:
+                    type: array
+                    items:
+                        type: string
+                        example: Quibusdam ut exercitationem dolore eius id sed.
+                    description: importIds is an array of unique identifiers used as Cache keys to retrieve the imported data entries later.
+                    example:
+                        - 585a999a-f36d-419d-bed3-8ebfa5bb79c9
+            example:
+                importIds:
+                    - 585a999a-f36d-419d-bed3-8ebfa5bb79c9
+            required:
+                - importIds
 tags:
-- name: health
-  description: Health service provides health check endpoints.
-- name: infohub
-  description: Information Hub Service enables exporting and importing information.
+    - name: health
+      description: Health service provides health check endpoints.
+    - name: infohub
+      description: Information Hub Service enables exporting and importing information.
diff --git a/gen/infohub/client.go b/gen/infohub/client.go
index 2d942c2e7accee7df33554353c54de551faa0dfe..022aab5bf839f2fcc71aa5486667261262fdaec8 100644
--- a/gen/infohub/client.go
+++ b/gen/infohub/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub client
 //
@@ -16,12 +16,14 @@ import (
 // Client is the "infohub" service client.
 type Client struct {
 	ExportEndpoint goa.Endpoint
+	ImportEndpoint goa.Endpoint
 }
 
 // NewClient initializes a "infohub" service client given the endpoints.
-func NewClient(export goa.Endpoint) *Client {
+func NewClient(export, import_ goa.Endpoint) *Client {
 	return &Client{
 		ExportEndpoint: export,
+		ImportEndpoint: import_,
 	}
 }
 
@@ -34,3 +36,13 @@ func (c *Client) Export(ctx context.Context, p *ExportRequest) (res interface{},
 	}
 	return ires.(interface{}), nil
 }
+
+// Import calls the "Import" endpoint of the "infohub" service.
+func (c *Client) Import(ctx context.Context, p *ImportRequest) (res *ImportResult, err error) {
+	var ires interface{}
+	ires, err = c.ImportEndpoint(ctx, p)
+	if err != nil {
+		return
+	}
+	return ires.(*ImportResult), nil
+}
diff --git a/gen/infohub/endpoints.go b/gen/infohub/endpoints.go
index e3a12a4ca5de10ac812a0b1654f91a91a5b99036..e4089e43603fc00a26a29a01565ffe04c6a7841d 100644
--- a/gen/infohub/endpoints.go
+++ b/gen/infohub/endpoints.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub endpoints
 //
@@ -16,18 +16,21 @@ import (
 // Endpoints wraps the "infohub" service endpoints.
 type Endpoints struct {
 	Export goa.Endpoint
+	Import goa.Endpoint
 }
 
 // NewEndpoints wraps the methods of the "infohub" service with endpoints.
 func NewEndpoints(s Service) *Endpoints {
 	return &Endpoints{
 		Export: NewExportEndpoint(s),
+		Import: NewImportEndpoint(s),
 	}
 }
 
 // Use applies the given middleware to all the "infohub" service endpoints.
 func (e *Endpoints) Use(m func(goa.Endpoint) goa.Endpoint) {
 	e.Export = m(e.Export)
+	e.Import = m(e.Import)
 }
 
 // NewExportEndpoint returns an endpoint function that calls the method
@@ -38,3 +41,12 @@ func NewExportEndpoint(s Service) goa.Endpoint {
 		return s.Export(ctx, p)
 	}
 }
+
+// NewImportEndpoint returns an endpoint function that calls the method
+// "Import" of service "infohub".
+func NewImportEndpoint(s Service) goa.Endpoint {
+	return func(ctx context.Context, req interface{}) (interface{}, error) {
+		p := req.(*ImportRequest)
+		return s.Import(ctx, p)
+	}
+}
diff --git a/gen/infohub/service.go b/gen/infohub/service.go
index e65ec3bcdbeea60e3a14b144e30e9297cdea52c8..3efe6c176ce84c2fec030d588a0547393df4773c 100644
--- a/gen/infohub/service.go
+++ b/gen/infohub/service.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // infohub service
 //
@@ -15,6 +15,8 @@ import (
 type Service interface {
 	// Export returns data signed as Verifiable Presentation.
 	Export(context.Context, *ExportRequest) (res interface{}, err error)
+	// Import the given data wrapped as Verifiable Presentation into the Cache.
+	Import(context.Context, *ImportRequest) (res *ImportResult, err error)
 }
 
 // ServiceName is the name of the service as defined in the design. This is the
@@ -25,10 +27,23 @@ const ServiceName = "infohub"
 // MethodNames lists the service method names as defined in the design. These
 // are the same values that are set in the endpoint request contexts under the
 // MethodKey key.
-var MethodNames = [1]string{"Export"}
+var MethodNames = [2]string{"Export", "Import"}
 
 // ExportRequest is the payload type of the infohub service Export method.
 type ExportRequest struct {
 	// Name of export to be performed.
 	ExportName string
 }
+
+// ImportRequest is the payload type of the infohub service Import method.
+type ImportRequest struct {
+	// Data wrapped in Verifiable Presentation that will be imported into Cache.
+	Data []byte
+}
+
+// ImportResult is the result type of the infohub service Import method.
+type ImportResult struct {
+	// importIds is an array of unique identifiers used as Cache keys to retrieve
+	// the imported data entries later.
+	ImportIds []string
+}
diff --git a/gen/openapi/client.go b/gen/openapi/client.go
index 7fe5e21ee48f640b9327f925971403b7faffb4ad..a6c286208c319e0c46c058e9ed668cecae7d87ee 100644
--- a/gen/openapi/client.go
+++ b/gen/openapi/client.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi client
 //
diff --git a/gen/openapi/endpoints.go b/gen/openapi/endpoints.go
index 1a95707da9d48917436b2d23f406f338e3440e0c..6bda9e7ecac2dce37a6d98da56ecb5fd6c7dee50 100644
--- a/gen/openapi/endpoints.go
+++ b/gen/openapi/endpoints.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi endpoints
 //
diff --git a/gen/openapi/service.go b/gen/openapi/service.go
index 05c0615e77adc911d112b809ffc8be5eb2ed792e..bb1d0081dcf080bca49c9db6afcbea6c41c7803d 100644
--- a/gen/openapi/service.go
+++ b/gen/openapi/service.go
@@ -1,4 +1,4 @@
-// Code generated by goa v3.7.5, DO NOT EDIT.
+// Code generated by goa v3.7.6, DO NOT EDIT.
 //
 // openapi service
 //