diff --git a/config/configure-and-run-docker-playground.sh b/config/configure-and-run-docker-playground.sh
index 00ae911cf9573fc7444b1de26e055ab6941b54b1..2d67d570f5532483fc0e82317f59b3351586b765 100755
--- a/config/configure-and-run-docker-playground.sh
+++ b/config/configure-and-run-docker-playground.sh
@@ -14,28 +14,24 @@ gnmic -a "172.100.20.10:7030" -u admin -p admin --insecure -e JSON_IETF set --up
 sleep 2
 # initiating a key request from kms01
 curl -X POST -H "Content-Type: application/json" -d '{
-  "local_CKMS_ID": "172.100.20.13:50910",
+  "receiving_CKMS_ID": "172.100.20.13:50910",
   "request_ID": "request_ID-1234",
-  "key_properties": [
-    {
+  "key_properties": {
       "number": 1,
       "key_length": 256,
       "timeout": 20,
       "TTL": 24
     }
-  ]
 }' 'http://172.100.20.10:9696/api/v1/keys/ksa_key_req'
 
 # initiating a key request from kms04
 curl -X POST -H "Content-Type: application/json" -d '{
-  "local_CKMS_ID": "172.100.20.10:50910",
+  "receiving_CKMS_ID": "172.100.20.10:50910",
   "request_ID": "request_ID-1234",
-  "key_properties": [
-    {
-      "number": 5,
+  "key_properties": {
+      "number": 1,
       "key_length": 256,
       "timeout": 20,
       "TTL": 24
     }
-  ]
 }' 'http://172.100.20.13:9696/api/v1/keys/ksa_key_req'
diff --git a/ekms/internal/akmsCkmsServer/akmsCkmsServer.go b/ekms/internal/akmsCkmsServer/akmsCkmsServer.go
index 01692d5e88cafbc2426596fcf5d239a104267d93..a439c6a7d46b4bcd5e67fd28826d1f5f9422e6ad 100644
--- a/ekms/internal/akmsCkmsServer/akmsCkmsServer.go
+++ b/ekms/internal/akmsCkmsServer/akmsCkmsServer.go
@@ -43,9 +43,9 @@ type KeyProperties struct {
 }
 
 type KMSKeyRequest struct {
-	LocalCKMSID   string          `json:"local_CKMS_ID"`
-	RequestID     string          `json:"request_ID"`
-	KeyProperties []KeyProperties `json:"key_properties"`
+	ReceivingCKMSID string        `json:"receiving_CKMS_ID"`
+	RequestID       string        `json:"request_ID"`
+	KeyProperties   KeyProperties `json:"key_properties"`
 }
 
 func ksaReqHandler(ekms *kms.EKMS) http.HandlerFunc {
@@ -58,11 +58,14 @@ func ksaReqHandler(ekms *kms.EKMS) http.HandlerFunc {
 			return
 		}
 
-		logrus.Infof("received KSA key request for local CKMS %s, request ID %s, and key properties %v",
-			kmsKeyRequest.LocalCKMSID, kmsKeyRequest.RequestID, kmsKeyRequest.KeyProperties)
+		logrus.Infof("received KSA key request for receiving CKMS %s, request ID %s, and key properties %v",
+			kmsKeyRequest.ReceivingCKMSID, kmsKeyRequest.RequestID, kmsKeyRequest.KeyProperties)
 
-		for _, keyProperties := range kmsKeyRequest.KeyProperties {
-			go ekms.GenerateAndSendKSAKey(kmsKeyRequest.LocalCKMSID, kmsKeyRequest.RequestID, keyProperties.Number) //nolint:errcheck
+		err = ekms.GenerateAndSendKSAKey(kmsKeyRequest.ReceivingCKMSID, kmsKeyRequest.RequestID, kmsKeyRequest.KeyProperties.Number) //nolint:errcheck
+		if err != nil {
+			http.Error(w, err.Error(), http.StatusInternalServerError)
+			logrus.Errorf("error generating and sending KSA key: %s", err)
+			return
 		}
 
 		logrus.Info("requested all keys")