diff --git a/logs/api-logs.go b/logs/api-logs.go
index abbad4581575ee0b33928ac5c86ba19dbfc8a36a..da4c1b5ab9a192cb688f5f275f2a9a55f899132b 100644
--- a/logs/api-logs.go
+++ b/logs/api-logs.go
@@ -3,11 +3,13 @@ package logs
 import (
 	"net/http"
 	"sort"
+	"strconv"
 	"strings"
 	"time"
 
 	"github.com/aws/aws-lambda-go/events"
 	"gitlab.com/uafrica/go-utils/errors"
+	"gitlab.com/uafrica/go-utils/logger"
 	"gitlab.com/uafrica/go-utils/queues"
 )
 
@@ -25,6 +27,7 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri
 	}
 
 	//todo: filter out some noisy (method+path)
+	logger.Debugf("claim: %+v", claim)
 
 	endTime := time.Now()
 
@@ -44,8 +47,15 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri
 		}
 	}
 
-	username, _ := claim["user_id"].(string)
-	accountID, _ := claim["account_id"].(int64)
+	username, _ := claim["Username"].(string)
+	accountID, _ := claim["AccountID"].(int64)
+	if accountID == 0 {
+		if accountIDParam, ok := req.QueryStringParameters["account_id"]; ok {
+			if i64, err := strconv.ParseInt(accountIDParam, 10, 64); err == nil && i64 > 0 {
+				accountID = i64
+			}
+		}
+	}
 	apiLog := ApiLog{
 		StartTime:           startTime,
 		EndTime:             endTime,
@@ -93,6 +103,8 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri
 		apiLog.Response.Body = "<not logged>"
 	}
 
+	logger.Debugf("Send api-log to SQS: %+v", apiLog)
+
 	//todo: filter out sensitive values (e.g. OTP)
 	if _, err := producer.NewEvent("API_LOGS").
 		Type("api-log").