diff --git a/ocm/client.go b/ocm/client.go
index 862b1c3fbd0ce1514988731c3fbc3d1c0aa3b34d..3448cad6d4775e3b29eca8d6df81b5c2d26165ea 100644
--- a/ocm/client.go
+++ b/ocm/client.go
@@ -7,6 +7,7 @@ import (
 	"io"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 const (
@@ -43,9 +44,7 @@ func (c *Client) GetLoginProofInvitation(ctx context.Context, credTypes []string
 	}
 
 	v := url.Values{}
-	for _, t := range credTypes {
-		v.Add("type", t)
-	}
+	v.Add("type", strings.Join(credTypes, ","))
 	req.URL.RawQuery = v.Encode()
 
 	resp, err := c.httpClient.Do(req)
diff --git a/ocm/types.go b/ocm/types.go
index 3a002c4d7d1cf90d5359b7fa2e7496057b6cfeab..44239dad70dd67ccbcae8e6d64ead67eb0c606bd 100644
--- a/ocm/types.go
+++ b/ocm/types.go
@@ -18,7 +18,11 @@ type LoginProofResultResponse struct {
 }
 
 type LoginProofResultResponseData struct {
-	State     string                 `json:"state"`
+	State string       `json:"state"`
+	Data  []Credential `json:"data"`
+}
+
+type Credential struct {
 	SchemaID  string                 `json:"schemaId"`
 	CredDefID string                 `json:"credDefId"`
 	Claims    map[string]interface{} `json:"credentialSubject"`