{"id":"c82473b2-47ab-4f26-a1aa-72a3a561bcf6","issuer":"mahindra","journey":"ntb","startedAt":"2026-06-23T11:11:52.134Z","endedAt":"2026-06-23T11:14:06.241Z","durationMs":46517,"summary":{"total":565,"passed":562,"failed":1,"skipped":2,"running":0,"pending":0,"durationMs":46517},"steps":[{"stepId":"step-01-login","stepName":"Login","cases":[{"caseId":"MAH_LOGIN_001","caseName":"Send OTP to Mahindra Finance test mobile number","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:19.576Z","endedAt":"2026-06-23T11:13:19.671Z","durationMs":95,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:19 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2930","x-ratelimit-reset":"11","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"92","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response should indicate OTP send success","passed":true,"message":"Success envelope present"},{"description":"payload.attemptsUsed should be present","passed":true,"message":"attemptsUsed=0"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_017","caseName":"Verify success flag for valid send OTP request","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:19.671Z","endedAt":"2026-06-23T11:13:19.782Z","durationMs":111,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:19 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2929","x-ratelimit-reset":"11","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"107","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_018","caseName":"Verify body statusCode for valid send OTP request","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:19.782Z","endedAt":"2026-06-23T11:13:19.895Z","durationMs":113,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:19 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2928","x-ratelimit-reset":"11","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"110","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_019","caseName":"Verify success message for send OTP request","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:19.895Z","endedAt":"2026-06-23T11:13:20.002Z","durationMs":107,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:19 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2927","x-ratelimit-reset":"11","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"104","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response message should be \"OTP sent successfully.\"","passed":true,"message":"message=\"OTP sent successfully.\""}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_020","caseName":"Verify payload object exists in send OTP response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.002Z","endedAt":"2026-06-23T11:13:20.105Z","durationMs":103,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2926","x-ratelimit-reset":"11","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"100","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Payload object should exist","passed":true,"message":"payload present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_021","caseName":"Verify attemptsUsed value on first send OTP request","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.105Z","endedAt":"2026-06-23T11:13:20.196Z","durationMs":91,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2925","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"89","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"payload.attemptsUsed should be 0","passed":true,"message":"attemptsUsed=0"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_022","caseName":"Verify send OTP response content type","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.197Z","endedAt":"2026-06-23T11:13:20.331Z","durationMs":134,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2924","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response content type should be application/json","passed":true,"message":"content-type=application/json; charset=utf-8"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_023","caseName":"Verify send OTP response schema","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.331Z","endedAt":"2026-06-23T11:13:20.429Z","durationMs":98,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2923","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"95","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Success response schema should match contract","passed":true,"message":"Success schema valid"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_024","caseName":"Verify send OTP response time","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.429Z","endedAt":"2026-06-23T11:13:20.536Z","durationMs":107,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2922","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"104","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response time should be within 2000ms","passed":true,"message":"duration=107ms"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_025","caseName":"Verify OTP resend functionality for same mobile","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.536Z","endedAt":"2026-06-23T11:13:20.623Z","durationMs":87,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2921","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"84","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_026","caseName":"Verify attemptsUsed increments on resend","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:20.623Z","endedAt":"2026-06-23T11:13:20.716Z","durationMs":93,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2920","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"90","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"payload.attemptsUsed should remain a valid counter on resend","passed":true,"message":"attemptsUsed remained valid from 0 to 0"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_003","caseName":"Send OTP should fail when phone is missing","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:20.716Z","endedAt":"2026-06-23T11:13:20.831Z","durationMs":115,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2919","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response body should be Bad Request envelope","passed":true,"message":"Bad Request envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_004","caseName":"Send OTP should fail when phone is empty","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:20.831Z","endedAt":"2026-06-23T11:13:20.844Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":""},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2918","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response body should be Bad Request envelope","passed":true,"message":"Bad Request envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_027","caseName":"Send OTP should fail when phone is null","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:20.844Z","endedAt":"2026-06-23T11:13:21.031Z","durationMs":187,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":null},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:20 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2917","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"20","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":null}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate validation failure","passed":true,"message":"Validation error envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_005","caseName":"Send OTP should fail for 10-digit phone without 91 prefix","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.031Z","endedAt":"2026-06-23T11:13:21.131Z","durationMs":100,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2916","x-ratelimit-reset":"10","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_028","caseName":"Send OTP should fail for 11-digit phone number","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.131Z","endedAt":"2026-06-23T11:13:21.231Z","durationMs":100,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"91866833662"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2915","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"91866833662\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_029","caseName":"Send OTP should fail for phone number longer than 12 digits","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.231Z","endedAt":"2026-06-23T11:13:21.238Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9186683366299"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2914","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9186683366299\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_006","caseName":"Send OTP should fail for non-numeric phone","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.238Z","endedAt":"2026-06-23T11:13:21.331Z","durationMs":93,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"ABCDEFGHIJKL"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2913","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"ABCDEFGHIJKL\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1003","passed":true,"message":"FIXUSER1003 present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_030","caseName":"Send OTP should fail for phone with special characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.331Z","endedAt":"2026-06-23T11:13:21.339Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"91@#$%^1234"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2912","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"91@#$%^1234\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_031","caseName":"Send OTP should fail for phone containing spaces","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.339Z","endedAt":"2026-06-23T11:13:21.349Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"91 8668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2911","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"91 8668336629\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_032","caseName":"Send OTP should fail for phone with leading space","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.350Z","endedAt":"2026-06-23T11:13:21.357Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":" 918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2910","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\" 918668336629\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_033","caseName":"Send OTP should fail for phone with trailing space","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.357Z","endedAt":"2026-06-23T11:13:21.364Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629 "},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2909","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629 \"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_007","caseName":"Send OTP should fail for too-short phone number","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.364Z","endedAt":"2026-06-23T11:13:21.431Z","durationMs":67,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9191"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2908","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9191\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_008","caseName":"Send OTP should fail for wrong country code prefix","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.431Z","endedAt":"2026-06-23T11:13:21.441Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"449876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2907","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"449876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_034","caseName":"Send OTP should fail for decimal phone value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.441Z","endedAt":"2026-06-23T11:13:21.449Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629.5"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2906","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629.5\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_035","caseName":"Send OTP should fail for unicode phone characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.449Z","endedAt":"2026-06-23T11:13:21.458Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"९१८६६८३३६६२९"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2905","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"९१८६६८३३६६२९\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_036","caseName":"Send OTP should reject SQL-injection phone payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.458Z","endedAt":"2026-06-23T11:13:21.531Z","durationMs":73,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629' OR 1=1"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2904","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629'\\'' OR 1=1\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate request rejection","passed":true,"message":"Injection payload rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_037","caseName":"Send OTP should reject XSS phone payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.531Z","endedAt":"2026-06-23T11:13:21.538Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"<script>alert(1)</script>"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2903","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"<script>alert(1)</script>\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate request rejection","passed":true,"message":"XSS payload rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_038","caseName":"Send OTP should reject HTML phone payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.538Z","endedAt":"2026-06-23T11:13:21.546Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"<h1>test</h1>"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2902","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"<h1>test</h1>\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate request rejection","passed":true,"message":"HTML payload rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_039","caseName":"Send OTP should reject JSON-injection payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.546Z","endedAt":"2026-06-23T11:13:21.562Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":"{\"phone\":{\"$ne\":null}}","requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2901","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":{\"$ne\":null}}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate request rejection","passed":true,"message":"JSON injection rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_040","caseName":"Send OTP should fail for extremely long phone string","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.562Z","endedAt":"2026-06-23T11:13:21.637Z","durationMs":75,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9188888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"310","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"136-V9TtE3DuDamKo6e11Yk6QQ0cAE4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2900","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1003","error":"Invalid phone number"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9188888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208","FIXUSER1003"]},{"caseId":"MAH_LOGIN_041","caseName":"Send OTP should fail for malformed JSON body","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.637Z","endedAt":"2026-06-23T11:13:21.731Z","durationMs":94,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":"{\"phone\":","requestQuery":{},"responseHeaders":{"content-length":"246","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"f6-ySe3EJgjQXC755DXBtbxRm0LZnc\"","vary":"Origin","x-powered-by":"Express","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Unexpected token '\"', \"\"{\\\"phone\\\":\"\" is not valid JSON","payload":{},"error":{"statusCode":400,"message":"Unexpected token '\"', \"\"{\\\"phone\\\":\"\" is not valid JSON","error":"Bad Request"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate bad request","passed":true,"message":"Malformed JSON rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_042","caseName":"Send OTP should fail for empty request body","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.731Z","endedAt":"2026-06-23T11:13:21.745Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2899","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate validation failure","passed":true,"message":"Empty body rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_043","caseName":"Send OTP should fail without Content-Type header","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.745Z","endedAt":"2026-06-23T11:13:21.831Z","durationMs":86,"requestHeaders":{},"requestPayload":"{\"phone\":\"918668336629\"}","requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2898","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate request rejection","passed":true,"message":"Missing Content-Type rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_044","caseName":"Send OTP should fail with invalid Content-Type header","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.831Z","endedAt":"2026-06-23T11:13:21.847Z","durationMs":16,"requestHeaders":{"Content-Type":"text/plain"},"requestPayload":"{\"phone\":\"918668336629\"}","requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2897","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: text/plain' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate unsupported or invalid media type","passed":true,"message":"Invalid Content-Type rejected"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_045","caseName":"Verify success field in invalid-mobile error response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.847Z","endedAt":"2026-06-23T11:13:21.931Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2896","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_046","caseName":"Verify statusCode field in invalid-mobile error response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.931Z","endedAt":"2026-06-23T11:13:21.939Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2895","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_047","caseName":"Verify error message in invalid-mobile error response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.939Z","endedAt":"2026-06-23T11:13:21.947Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2894","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response message should be \"Bad request\"","passed":true,"message":"message=\"Bad request\""}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_048","caseName":"Verify payload object in invalid-mobile error response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.947Z","endedAt":"2026-06-23T11:13:21.955Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2893","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Payload object should be present in error response","passed":true,"message":"payload object present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_049","caseName":"Verify error array exists in invalid-mobile error response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:21.955Z","endedAt":"2026-06-23T11:13:22.031Z","durationMs":76,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:21 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2892","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Error array should exist","passed":true,"message":"error array present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_050","caseName":"Verify FIXUSER1208 error code for invalid mobile","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:22.031Z","endedAt":"2026-06-23T11:13:22.039Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2891","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1208","passed":true,"message":"FIXUSER1208 present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1208"],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_051","caseName":"Verify invalid-mobile error code for invalid mobile","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:22.039Z","endedAt":"2026-06-23T11:13:22.051Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2890","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1003 or FIXUSER1208","passed":true,"message":"FIXUSER1003/FIXUSER1208 present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_052","caseName":"Verify nested error message is not null","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:22.051Z","endedAt":"2026-06-23T11:13:22.065Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2889","x-ratelimit-reset":"9","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Error message should be populated","passed":true,"message":"error message populated"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_053","caseName":"Verify error schema structure for invalid mobile response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:22.065Z","endedAt":"2026-06-23T11:13:22.131Z","durationMs":66,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2888","x-ratelimit-reset":"8","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"62","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Error response schema should match contract","passed":true,"message":"Error schema valid"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_054","caseName":"Verify multiple validation errors returned for invalid mobile","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:22.131Z","endedAt":"2026-06-23T11:13:22.139Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2887","x-ratelimit-reset":"8","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\"}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain one or more validation errors","passed":true,"message":"error count=1"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_055","caseName":"Verify duplicate registration request returns controlled response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:22.139Z","endedAt":"2026-06-23T11:13:22.254Z","durationMs":115,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2886","x-ratelimit-reset":"8","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"112","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Duplicate request should return success or controlled guard response","passed":true,"message":"Controlled duplicate-request response received (HTTP 201)"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_056","caseName":"Verify OTP generated for unregistered mobile","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:22.254Z","endedAt":"2026-06-23T11:13:22.366Z","durationMs":112,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2885","x-ratelimit-reset":"8","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"109","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Current shared test phone should receive an OTP generation response","passed":true,"message":"OTP generation success envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_057","caseName":"Verify OTP generated for registered mobile","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:22.366Z","endedAt":"2026-06-23T11:13:22.461Z","durationMs":95,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2884","x-ratelimit-reset":"8","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"92","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_058","caseName":"Verify OTP resend limit","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:22.462Z","endedAt":"2026-06-23T11:13:22.909Z","durationMs":447,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:22 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2880","x-ratelimit-reset":"8","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"107","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 4 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 4 requests succeeded with HTTP 200/201/400"},{"description":"Average response time across burst should stay under 5000ms","passed":true,"message":"Average duration 112ms across 4 requests"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_059","caseName":"Verify user blocked after maximum OTP attempts","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:22.909Z","endedAt":"2026-06-23T11:13:23.419Z","durationMs":510,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:23 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2875","x-ratelimit-reset":"7","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"106","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201/400"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_060","caseName":"Verify cooldown period after OTP limit reached","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:23.419Z","endedAt":"2026-06-23T11:13:23.704Z","durationMs":285,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:23 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2872","x-ratelimit-reset":"7","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"99","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 3 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 3 requests succeeded with HTTP 200/201/400"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_064","caseName":"Verify HTTPS-only communication","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:23.704Z","endedAt":"2026-06-23T11:13:23.805Z","durationMs":101,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:23 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2871","x-ratelimit-reset":"7","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"99","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Configured service base URL should use HTTPS in non-local environments","passed":true,"message":"Request completed through configured service URL; transport scheme is controlled by runtime service config"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_065","caseName":"Verify sensitive data is not exposed in send OTP response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:23.805Z","endedAt":"2026-06-23T11:13:23.914Z","durationMs":109,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:23 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2870","x-ratelimit-reset":"7","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"105","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response should not expose OTP or token data","passed":true,"message":"No OTP/token leakage in response"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_066","caseName":"Verify send OTP response header values","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:23.914Z","endedAt":"2026-06-23T11:13:23.997Z","durationMs":83,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:23 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2869","x-ratelimit-reset":"7","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"80","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Required response headers should be present","passed":true,"message":"Required response headers present"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_067","caseName":"Verify send OTP API availability","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:23.997Z","endedAt":"2026-06-23T11:13:24.105Z","durationMs":108,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2868","x-ratelimit-reset":"7","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"105","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Response time should be within 5000ms","passed":true,"message":"duration=108ms"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_068","caseName":"Verify mobile-number boundary value for valid length","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:24.105Z","endedAt":"2026-06-23T11:13:24.195Z","durationMs":90,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2867","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"87","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Configured valid phone should be 12 digits with 91 prefix","passed":true,"message":"valid boundary phone=918668336629"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_069","caseName":"Verify mobile-number boundary value for maximum valid length","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/register","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:24.196Z","endedAt":"2026-06-23T11:13:24.293Z","durationMs":97,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"94","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"5e-u9pgAiC6r/+M8iGDbF15OUTKebo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2866","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"94","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"OTP sent successfully.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/register' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 201 OK"},{"description":"Configured valid phone should remain exactly 12 digits","passed":true,"message":"max boundary phone=918668336629"}],"docsFile":"user-services/API_QA_POST_AUTH_REGISTER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_002","caseName":"Verify OTP and extract auth tokens (Mahindra Finance)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:24.293Z","endedAt":"2026-06-23T11:13:24.343Z","durationMs":50,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629","otp":"123456","partner_url":"https://tradingquants.dev.fixerra.in","consent":false,"issuer_code":"MAHINDRA"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1002","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"3ea-c8xrzRsJptnGflcSdQpWveRMT5M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2986","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"47","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"User already exists.","payload":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E","refreshToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJyZWZyZXNoIiwiZl91c2VyX2lkIjoiNGU2OGMxZTQtYzQzYy00OGM1LWIyYTktMDhkN2Q2ZTQ5NTdlIiwiZl9wYXJ0bmVyX3VzZXJfaWQiOiJiOTA3NjdhNS01OWEzLTRlZTAtOWZiYy0yZGEzNjI4NWY0N2MiLCJmX3BhcnRuZXJfaWQiOiI2OGJkY2Y4OS04NDY0LTRmODUtODk4Ny1hYTI4OTA4ZTIxYWQiLCJwYXJ0bmVyX3VybCI6Imh0dHBzOi8vdHJhZGluZ3F1YW50cy5kZXYuZml4ZXJyYS5pbiIsImlhdCI6MTc4MjIxMzIwNCwiZXhwIjoxNzgyODE4MDA0fQ.UKct5Aas1ToA29_TOP9mBE4N9RY_SFPM_r3_dE2I5Gk"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\",\"otp\":\"123456\",\"partner_url\":\"https://tradingquants.dev.fixerra.in\",\"consent\":false,\"issuer_code\":\"MAHINDRA\"}'","validations":[{"description":"Response status should be 200 OK or 201 Created","passed":true,"message":"Status 201 OK"},{"description":"Response should indicate login success","passed":true,"message":"Success envelope present"},{"description":"Response should contain access token","passed":true,"message":"accessToken present"},{"description":"Response should contain refresh token","passed":true,"message":"refreshToken present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_009","caseName":"Verify OTP should fail for wrong OTP value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:13:24.343Z","endedAt":"2026-06-23T11:13:24.360Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629","otp":"000000","partner_url":"https://tradingquants.dev.fixerra.in","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"96","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"60-hfBiNy6xWaduSHI0F+WME7SvnL8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2985","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":403,"message":"OTP verification failed.","payload":{"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\",\"otp\":\"000000\",\"partner_url\":\"https://tradingquants.dev.fixerra.in\",\"consent\":false}'","validations":[{"description":"Response HTTP status should be 201 Created","passed":true,"message":"Status 201 OK"},{"description":"Response body statusCode should be 403 for OTP failure","passed":true,"message":"body.statusCode=403 present"},{"description":"Response should indicate OTP verification failure","passed":true,"message":"Error envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_010","caseName":"Verify OTP should fail when OTP is missing","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.360Z","endedAt":"2026-06-23T11:13:24.369Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"919876543210","partner_url":"https://partner.example.com","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"295","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"127-cTEsrvO0GcCv4Fg2XlcWjrb7cKg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2984","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1010","error":"OTP must be 6 characters long,"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1009","error":"OTP must be a numeric value,"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"919876543210\",\"partner_url\":\"https://partner.example.com\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate validation failure","passed":true,"message":"Validation error envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1010","FIXUSER1009"]},{"caseId":"MAH_LOGIN_011","caseName":"Verify OTP should fail for non-numeric OTP","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.369Z","endedAt":"2026-06-23T11:13:24.377Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"919876543210","otp":"ABCDEF","partner_url":"https://partner.example.com","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"185","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"b9-mN40uxs9gfZuKrp6tgl4TLhROd8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2983","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1009","error":"OTP must be a numeric value,"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"919876543210\",\"otp\":\"ABCDEF\",\"partner_url\":\"https://partner.example.com\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1009","passed":true,"message":"FIXUSER1009 present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":["FIXUSER1009"],"actualErrorCodes":["FIXUSER1009"]},{"caseId":"MAH_LOGIN_012","caseName":"Verify OTP should fail for 5-digit OTP","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.377Z","endedAt":"2026-06-23T11:13:24.434Z","durationMs":57,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"919876543210","otp":"12345","partner_url":"https://partner.example.com","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"bb-/V7uRMXgpDZS/f6s/2qoS8g/w0I\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2982","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"53","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1010","error":"OTP must be 6 characters long,"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"919876543210\",\"otp\":\"12345\",\"partner_url\":\"https://partner.example.com\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1010","passed":true,"message":"FIXUSER1010 present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":["FIXUSER1010"],"actualErrorCodes":["FIXUSER1010"]},{"caseId":"MAH_LOGIN_013","caseName":"Verify OTP should fail for 7-digit OTP","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.434Z","endedAt":"2026-06-23T11:13:24.440Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"919876543210","otp":"1234567","partner_url":"https://partner.example.com","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"bb-/V7uRMXgpDZS/f6s/2qoS8g/w0I\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2981","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1010","error":"OTP must be 6 characters long,"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"919876543210\",\"otp\":\"1234567\",\"partner_url\":\"https://partner.example.com\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1010","passed":true,"message":"FIXUSER1010 present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":["FIXUSER1010"],"actualErrorCodes":["FIXUSER1010"]},{"caseId":"MAH_LOGIN_014","caseName":"Verify OTP should fail when phone is missing","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.440Z","endedAt":"2026-06-23T11:13:24.460Z","durationMs":20,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"otp":"123456","partner_url":"https://partner.example.com","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2980","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"otp\":\"123456\",\"partner_url\":\"https://partner.example.com\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response body should be Bad Request envelope","passed":true,"message":"Bad Request envelope present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LOGIN_015","caseName":"Verify OTP should fail for invalid phone format","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.460Z","endedAt":"2026-06-23T11:13:24.526Z","durationMs":66,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"9876543210","otp":"123456","partner_url":"https://partner.example.com","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"d2-feFZaS8+X3jZ9MGovDAtYeX921U\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2979","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"63","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1208","error":"Please enter a valid mobile number (Ex. 918898989887)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"9876543210\",\"otp\":\"123456\",\"partner_url\":\"https://partner.example.com\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain invalid-phone error code","passed":true,"message":"Invalid-phone code present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":["FIXUSER1003","FIXUSER1208"],"actualErrorCodes":["FIXUSER1208"]},{"caseId":"MAH_LOGIN_016","caseName":"Verify OTP should fail for unknown partner URL","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/auth/api/v2/register/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:24.526Z","endedAt":"2026-06-23T11:13:24.543Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"phone":"918668336629","otp":"123456","partner_url":"https://unknown.invalid","consent":false},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"bb-5jureKlmL3WjRkBq8FblwYNw8fQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-ratelimit-limit":"3000","x-ratelimit-remaining":"2978","x-ratelimit-reset":"6","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXUSER1085","error":"partner public key not found"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/auth/api/v2/register/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"phone\":\"918668336629\",\"otp\":\"123456\",\"partner_url\":\"https://unknown.invalid\",\"consent\":false}'","validations":[{"description":"Response status should be 400 Bad Request","passed":true,"message":"Status 400 OK"},{"description":"Response should contain FIXUSER1085","passed":true,"message":"FIXUSER1085 present"}],"docsFile":"user-services/API_QA_POST_AUTH_VERIFY_OTP.md","expectedErrorCodes":["FIXUSER1085"],"actualErrorCodes":["FIXUSER1085"]}],"summary":{"total":66,"passed":66,"failed":0,"skipped":0,"running":0,"pending":0,"durationMs":4963}},{"stepId":"step-02-fd-detail","stepName":"FD Detail","cases":[{"caseId":"MAH_FD_DETAIL_001","caseName":"Get Mahindra Finance issuer detail","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.543Z","endedAt":"2026-06-23T11:13:24.633Z","durationMs":90,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"89038","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"15bce-ZMONtx9sDmORz3MiEC3RnHL6ZEs\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"18","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"issuerData":{"id":3,"name":"Mahindra Finance Ltd","description":"Mahindra Finance Ltd. has diversified into a financial services provider and is registered with the RBI as an asset finance, deposit-taking NBFC. It boasts a vast network of 1,300+ offices, reaching more than 380,000 villages, and manages assets exceeding ₹ 99,565 Crores.","f_code":"MAH","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","url":"https://images.dev.fixerra.in/logos/mahindra/Mahindra.png","sub_logo":"https://images.dev.fixerra.in/logos/mahindra/Mahindra_Logo.png","compounding_freq":"Yearly","issuer_type":"NBFC","crisil_rating":"AAA/Stable","icra_rating":"","trusted_users":"1CR+ Since 1991","hero_tag":null,"subtag_1":"AAA RATED BY CRISIL","subtag_2":"Compounds Yearly","is_range_required":true,"bank_disabled_at":null,"faq":null,"active_issuer_rank":3,"baseline_issuer_rank":null,"deleted_at":null,"upcoming_bank":false,"upcoming_bank_date":null,"utm_url":null,"renewal_options":{"Principal":true,"No Renewal":true,"Total Amount":true},"enable_our_pg":false,"enable_easy_split":false,"pg_setting":null,"is_nominee_required":false,"bank_type":"","is_issuer_live":true,"women_benefit":0,"senior_citizen_benefit":0.25,"minTenure":365,"maxTenure":1825},"vehiclesPayload":[{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"b7a1931b-e88d-4251-a822-3d81329c88dd","product_details":"","product_type":"FD","product_rank":11,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.76","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0e47b184-a51c-4d20-a4c0-7168878c0762","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"9.12","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"450fab26-9739-48f6-93dd-3e673e3113a4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.76","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"682f3233-7644-4f6c-8981-a149ab27661f","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"9.12","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a73de787-4cf7-4422-b961-e97f0a44aed8","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.80","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"df8ca871-e506-4922-b638-7c1c1562e331","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.80","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"1580393e-b00c-4f1c-89b4-e7d2695a1a63","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.76","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"549818ac-ddbf-419f-8095-898929e0aa4d","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"9.12","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"9e89e67d-d18d-440c-950a-473e2b0f6598","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.37","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"35228b39-fe37-4b30-9679-50000e7280d7","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.53","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"74644831-f344-4230-932b-dd51bf8f0dbf","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.37","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"d7a1dd7a-d7c6-465a-8b6d-27720e703646","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.75","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"68f83d87-ea51-41ae-8479-c949178ebee1","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.75","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0697711b-0fd7-4a02-93a9-87ea214b0c21","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.37","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"2d87a875-22f7-499d-ad0a-f70bf7c229c5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.53","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4e2d06f8-c545-42b1-9d10-3bf786b33616","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.53","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4e2bdc70-e643-47bd-9c1b-7ac78885466b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"41575eae-6cbb-48c7-8fa6-a3de81e75de4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ea2189d1-f5ba-4c1a-9303-1697351f175e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"966781d1-110b-407a-8775-16790e1e2b53","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"404abfc4-43b6-4917-80d4-ef63c8159322","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3867f5af-2b39-4901-9eb8-08ebb6ab5f27","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7316c78b-a8ca-4123-980d-901c8ff194e1","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"c0a581cc-b35b-4360-99cd-f8f19b48011e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4ee7e8c5-06fe-4431-af1d-0590f7a38b09","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0e332dac-d47e-4318-99da-e5af7977375e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"97719d8c-a627-414c-af66-ab0e39f3332c","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.50","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"481a5435-4b81-46ea-98fb-1ef004ea0d1f","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.50","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"43efbd46-dc76-4ee0-a9c8-bd34bcbc0e19","product_details":"","product_type":"FD","product_rank":4,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.32","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"f9f1b229-0a57-46c2-b05d-287733d2b6f0","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"fa01a749-dc91-4f8c-9a65-c6cd3fbceeb5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.32","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8b798fe2-5112-4cbe-8145-b4dd4c502310","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ed7f8c30-0de3-4be9-9bc9-6548d8b56573","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.45","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"e6292d44-2e2e-4682-868f-83d85fe77c5b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.45","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"e60c8270-f55d-416b-9731-a08100406304","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.32","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"cd1448ed-af12-45d4-9ddc-338b135f30d4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"c0bd536e-d132-4459-898d-99c88f6a8703","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.96","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3465f79a-e12b-4482-8023-33b12d748111","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.11","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"fee564f6-3c4c-4f30-9b92-72068cd069de","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.96","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"f87b87bd-875f-48f4-9188-02b0785c5765","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.40","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5fe90e93-3a37-4648-85b8-f5b6d20c98f0","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.40","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"62cf4339-f8ca-4981-8b12-678b555c82bc","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.96","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eba957cb-d5a4-47f6-93ca-b87971651796","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.11","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ce242bff-bb4c-4478-a706-0fee710fdccc","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.11","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8b2b4bca-8e52-4975-bb96-6d22c2dcb5ea","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.30","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.30","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"cbf112ca-6d4a-4247-a22e-2bd68dd2ca8a","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.30","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.30","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"05f7fe27-724c-478d-8dea-7af0c9220517","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"20e622d3-1d66-4f34-ba1d-b4975cfdeaec","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eb7f865b-a1ed-47a9-bbed-e807138b098e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"66ffbf08-1db9-4a2d-97fb-c44b04ed0575","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"57f6d2fd-753c-4207-b4e5-a2164a51166b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"895acfcc-bd13-42e6-940a-1ec5b01b83a9","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"6c54c77c-9dfc-4811-8bfa-803d4d36c33a","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a790e185-eb6b-4d62-a4f3-77af33f97201","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eb8ea117-01fd-445f-af0a-67b1b5554008","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.15","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.15","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"61119961-10ad-45c4-8762-0eb56fc40ad5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.15","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.15","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8ed006df-c502-4e3c-9d2c-0e80366deb7f","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.35","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eafd5fd9-a838-40c0-be23-2e1ace0db4ea","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.49","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7c29f531-5685-42a0-8769-2a66b48a8fbd","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.35","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"46a33f27-e897-4595-9d3e-76d891dbde48","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.10","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a1d0c3ec-be5c-49b5-9fe1-fc288d61c39c","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.10","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a5e98ef1-7e81-4f1b-ac77-9325c8ec26ab","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.35","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3dc073ef-c7d0-4dfe-a941-af11265effdf","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.49","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"57bf94bd-0180-4f1c-94c3-75ea57a8abbf","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.49","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"6f48159a-52be-4ba6-a45d-b0602f92094b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.00","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.00","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ec2bbfdb-d9ee-4260-baa6-58e8334c6aa9","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.00","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.00","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a268bc58-4fa1-4917-842b-a4f57d45d617","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.95","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.95","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"08622691-71f1-4468-9179-8b16c225da97","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.95","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.95","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"277ae1d5-825d-4151-ba35-735603f52864","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.90","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.90","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"abb24a1f-7657-4c98-b0a2-8f70333ec658","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.90","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.90","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"18272491-9713-4506-bb1b-38c1a37fc406","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"346920e7-512e-463b-aa92-8d59d899045d","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.21","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"95304a59-3724-4688-8778-b4d6c4e53965","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.97","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ac1e965e-edf4-43b3-9af7-6e0c1fba1634","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.08","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"771f3990-819f-4aff-949e-ec1b3a8a12b4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"fc8c06ae-3cc1-4704-a109-a15cd1580923","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8aded7a7-e616-4f8e-87f7-0a17344dc6f1","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.86","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"19b6028b-5b0c-4006-9cf2-63a1fc00a5eb","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"01051cbf-31c2-4d1c-b5c6-bbb7a22d1427","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"22014848-d53a-41f2-a4f0-93866401bcfb","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.08","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"be46e091-e5df-42ff-abb0-038b9aba3778","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5167cab4-28a7-4d7d-8a5d-9bedebec646b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.21","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4f40df19-b9c3-45ec-ae1a-5a60e52f1fb2","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.97","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"56403167-af6c-4001-a0bf-685c8eee9e8e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.21","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"59f65ddc-520b-477e-8f8c-c28e2ba944e4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.97","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"6364398b-c38a-4555-aaa8-0404ac0514d5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.08","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"d1c86cd8-81fd-4947-b7a0-1502486aeb76","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.75","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3564039c-a276-4eb7-a7d1-34c903dd39c9","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.75","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5fd84399-e906-41a1-bf67-28ed5b62c18d","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.76","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ab9a1f84-2287-499c-93e4-bd1374a26a5e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.75","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"78d5aa6e-2777-446d-8818-b9464ea05b0a","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.70","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3bc02d61-3b22-401b-988c-abebe8ad5900","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.70","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3b3e2ac3-697c-4a67-a61d-9d6aa04f0920","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.70","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"08326044-4d44-4a9a-8b00-bacd31b30674","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"85912e78-7a8d-4dc9-891f-6fc1382b98c8","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ded8ddaf-ac2e-4827-a640-314aab84d47e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"e32f3ca5-02ba-4cad-a156-8eb34673f268","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.65","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"46266dc0-72e2-4fb3-be6e-7cb1677bdd78","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.66","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a925ff1b-2b8a-49f4-82a8-24a2e0047de8","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"05dda2c9-4039-445c-867c-5587cba71791","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.61","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8f52adf2-c4fb-46da-8c5a-14f7f1d4a010","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"dd9d5f07-135f-4753-b6f5-9024001e237e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7974695c-9625-44e4-a7d0-855a56eab1d0","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"10712939-b8d7-4dad-9f0b-6a8b1b84c899","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0eb69db0-acfc-4554-9036-92a1c0732636","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"82c2cd2f-944b-4166-b28e-63aac00bef9e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.50","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"b36dbbe0-d5bc-42c0-b69a-21725568f432","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.51","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7cec3cfe-6cd9-4c59-a2f5-5bdb1f6f8aca","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.45","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"d3a1be9a-0517-43bd-a8ac-11f26e251032","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.46","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.40","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5d2f688e-ad35-4d96-bca5-097e8ea8a405","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.41","senior_citizen_benefit":0.2}],"highlights":[{"title":"All investments are regulated by RBI","url":"https://images.dev.fixerra.in/illustrations/RBI@3x.png"},{"title":"Maturity Amount is directly credited to your bank account","url":"https://images.dev.fixerra.in/illustrations/Bank@3x.png"},{"title":"Senior Citizens get up to 0.25% extra","url":"https://images.dev.fixerra.in/illustrations/Senior@3x.png"}],"about":[{"key":"Founded","value":"1991"},{"key":"Customers Served","value":"1 Cr+"},{"key":"Number of Branches","value":"1300+"},{"key":"Reach","value":"380,000+ Villages"},{"key":"CRISIL Rating","value":"AAA+ Stable"},{"key":"Assets Under Management","value":"₹99,565 Cr+"}],"distinctMinTenureValues":[{"value":1095},{"value":1277},{"value":1460},{"value":1825},{"value":365},{"value":547},{"value":730},{"value":912}],"interestPayouts":["Maturity","Yearly","HalfYearly","Quarterly","Monthly"]}},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Response should contain issuer data (payload.issuerData)","passed":true,"message":"Issuer data present (f_code=MAH, f_issuer_id=57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16)"}],"docsFile":"master-services/API_QA_GET_DETAIL_ISSUER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_FD_DETAIL_002","caseName":"Get Mahindra maturity quote and capture investment vehicle id","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.633Z","endedAt":"2026-06-23T11:13:24.667Z","durationMs":34,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"25000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"446","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"1be-Rog+aJi6SpyNysBc8BwrqB/o+z8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"30","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"dd9d5f07-135f-4753-b6f5-9024001e237e","average_yield":"6.60","product_min_investment":10000,"product_max_investment":9999999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":26650}]}],"maturity_amount":26650},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=25000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Maturity quote should include f_investment_vehicle_id","passed":true,"message":"Vehicle id present (dd9d5f07-135f-4753-b6f5-9024001e237e)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_AUTH_001","caseName":"MAH maturity should reject missing auth","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:24.667Z","endedAt":"2026-06-23T11:13:24.831Z","durationMs":164,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{"tenure":"365","investment_amount":"10000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"79","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"4f-e9FJ4UDsD4YIbJ0B0XBRK2nO4MQ\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=10000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"HTTP status should be 401","passed":true,"message":"HTTP 401"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_FREQ001","caseName":"MAH Maturity payout success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.831Z","endedAt":"2026-06-23T11:13:24.866Z","durationMs":35,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"10000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"446","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"1be-8QUSrGDTo2PLzwOl0nFlIz5FrAg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"31","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"dd9d5f07-135f-4753-b6f5-9024001e237e","average_yield":"6.60","product_min_investment":10000,"product_max_investment":9999999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":10660}]}],"maturity_amount":10660},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=10000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_FREQ002","caseName":"MAH Monthly payout success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.866Z","endedAt":"2026-06-23T11:13:24.908Z","durationMs":42,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"37","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_FREQ003","caseName":"MAH Quarterly payout success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.908Z","endedAt":"2026-06-23T11:13:24.934Z","durationMs":26,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Quarterly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"639","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"27f-ecnnA0kQw7t/pUOkxeoq+mv+LCo\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"23","server":"envoy"},"responseBody":{"product_interest":"6.45","payout_frequency":"Quarterly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"7cec3cfe-6cd9-4c59-a2f5-5bdb1f6f8aca","average_yield":"6.45","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.85},{"date":"2026-09-30","amount":806.25},{"date":"2026-12-31","amount":806.25}]},{"year":2027,"data":[{"date":"2027-03-31","amount":806.25},{"date":"2027-06-23","amount":744.95}]}],"payout_amount":806,"total_payout":3225},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Quarterly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_FREQ004","caseName":"MAH HalfYearly payout success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.935Z","endedAt":"2026-06-23T11:13:24.961Z","durationMs":26,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"25000","payout_frequency":"HalfYearly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"563","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"233-fUwaeI9NKxaxP9OCCaI/mUlGzC8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"24","server":"envoy"},"responseBody":{"product_interest":"6.50","payout_frequency":"HalfYearly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"82c2cd2f-944b-4166-b28e-63aac00bef9e","average_yield":"6.50","product_min_investment":25000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-09-30","amount":440.75}]},{"year":2027,"data":[{"date":"2027-03-31","amount":812.5},{"date":"2027-06-23","amount":372.3}]}],"payout_amount":812,"total_payout":1625},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=25000&payout_frequency=HalfYearly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_FREQ005","caseName":"MAH Yearly payout success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.961Z","endedAt":"2026-06-23T11:13:24.988Z","durationMs":27,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"25000","payout_frequency":"Yearly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"502","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:24 GMT","etag":"W/\"1f6-Nx+mbwk5/hjdKrxL0L+N20ZoIc4\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"24","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Yearly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"8f52adf2-c4fb-46da-8c5a-14f7f1d4a010","average_yield":"6.60","product_min_investment":25000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-03-31","amount":1270.27},{"date":"2027-06-23","amount":380.86}]}],"payout_amount":1650,"total_payout":1650},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=25000&payout_frequency=Yearly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_BOUND_001","caseName":"MAH min amount boundary success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:24.988Z","endedAt":"2026-06-23T11:13:25.039Z","durationMs":51,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"48","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_BOUND_002","caseName":"MAH max amount boundary success","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.039Z","endedAt":"2026-06-23T11:13:25.087Z","durationMs":48,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"1825","investment_amount":"50000000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"464","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1d0-4lVrQi3gVEwIAKTJNlAH9O7GtR8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"44","server":"envoy"},"responseBody":{"product_interest":"7.45","payout_frequency":"Maturity","maturity_date":"2031-06-22","maturity_date_ist":"2031-06-22","f_investment_vehicle_id":"f9f1b229-0a57-46c2-b05d-287733d2b6f0","average_yield":"8.65","product_min_investment":10000000,"product_max_investment":50000000,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_tenure_label":"","payout":[{"year":2031,"data":[{"date":"2031-06-22","amount":71614687.88}]}],"maturity_amount":71614687.88},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=1825&investment_amount=50000000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be success payload with maturity fields","passed":true,"message":"Success schema valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_BOUND_003","caseName":"MAH amount below min should fail","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.087Z","endedAt":"2026-06-23T11:13:25.101Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"4000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"214","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"d6-01ft2Fyu7FRTRYdxlqCDAqs14Lw\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS092","error":"The entered Investment Amount is not accepted by the issuer"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=4000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be Fixerra error with FIXMAS092","passed":true,"message":"FIXMAS092 present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS092"]},{"caseId":"MAH_MAT_BOUND_004","caseName":"MAH tenure below min should fail","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.101Z","endedAt":"2026-06-23T11:13:25.149Z","durationMs":48,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"364","investment_amount":"10000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"45","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=364&investment_amount=10000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be Fixerra error with FIXMAS005","passed":true,"message":"FIXMAS005 present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS005"]},{"caseId":"MAH_MAT_NBFC_001","caseName":"MAH non-multiple amount should fail FIXMAS091","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.149Z","endedAt":"2026-06-23T11:13:25.153Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"100500","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"201","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"c9-2re6GDMEIAEFJ1IzkNKzA/vr5Vo\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS091","error":"investment_amount should be a multiple of 1000"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=100500&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be Fixerra error with FIXMAS091","passed":true,"message":"FIXMAS091 present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS091"]},{"caseId":"MAH_MAT_WOMEN_001","caseName":"MAH women_citizen=true should fail","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.153Z","endedAt":"2026-06-23T11:13:25.183Z","durationMs":30,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"10000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"true","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"27","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=10000&payout_frequency=Maturity&senior_citizen=false&women_citizen=true&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be Fixerra error with FIXMAS005","passed":true,"message":"FIXMAS005 present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS005"]},{"caseId":"MAH_MAT_005","caseName":"Verify product_interest field is populated","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.183Z","endedAt":"2026-06-23T11:13:25.198Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.product_interest should be a non-empty numeric string","passed":true,"message":"product_interest=\"6.60\""}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_006","caseName":"Verify average_yield field is populated","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.198Z","endedAt":"2026-06-23T11:13:25.212Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.average_yield should be a non-empty numeric string","passed":true,"message":"average_yield=\"6.60\""}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_007","caseName":"Verify maturity_date field is returned","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.212Z","endedAt":"2026-06-23T11:13:25.230Z","durationMs":18,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.maturity_date should be a YYYY-MM-DD date string","passed":true,"message":"maturity_date=\"2027-06-23\""}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_008","caseName":"Verify f_investment_vehicle_id field is returned","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.230Z","endedAt":"2026-06-23T11:13:25.245Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.f_investment_vehicle_id should be a non-empty string","passed":true,"message":"f_investment_vehicle_id=\"29bd10ea-cbff-4894-b03b-1ccc64b1ce60\""}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_009","caseName":"Verify minimum investment amount returned (5000)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.245Z","endedAt":"2026-06-23T11:13:25.330Z","durationMs":85,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.product_min_investment should equal 5000","passed":true,"message":"product_min_investment=5000"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_010","caseName":"Verify maximum investment amount returned (50000000)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"failed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.331Z","endedAt":"2026-06-23T11:13:25.342Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.product_max_investment should equal 50000000","passed":false,"message":"Expected 50000000, got 9999"}],"failureReason":"Expected 50000000, got 9999","docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_041","caseName":"Verify maturity amount greater than principal in cumulative FD","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.343Z","endedAt":"2026-06-23T11:13:25.430Z","durationMs":87,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.maturity_amount should be greater than the invested principal","passed":true,"message":"maturity_amount=5330 > principal=5000"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_042","caseName":"Verify total_payout returned for monthly (non-cumulative) FD","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.431Z","endedAt":"2026-06-23T11:13:25.448Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.total_payout should be a positive number","passed":true,"message":"total_payout=3200"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_043","caseName":"Verify payout_amount field present for monthly (non-cumulative) FD","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.448Z","endedAt":"2026-06-23T11:13:25.463Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.payout_amount should be a positive number","passed":true,"message":"payout_amount=266"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_044","caseName":"Verify payout data is grouped by year","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.463Z","endedAt":"2026-06-23T11:13:25.478Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.payout should be an array of {year, data[]} groups","passed":true,"message":"payout has 2 year group(s)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_045","caseName":"Verify payout dates are in ascending order","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.478Z","endedAt":"2026-06-23T11:13:25.530Z","durationMs":52,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payout dates should be sorted in ascending order","passed":true,"message":"13 payout date(s) in ascending order"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_053","caseName":"Verify invalid payout_frequency value is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.531Z","endedAt":"2026-06-23T11:13:25.535Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Weekly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"218","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"da-GsGPQpwhN6hvx2akpkhgtc/Orb8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS071","error":"Invalid payout_frequency. Please enter a valid payout_frequency"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Weekly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be a Fixerra error envelope with FIXMAS071","passed":true,"message":"Error envelope present (FIXMAS071)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS071"]},{"caseId":"MAH_MAT_059","caseName":"Verify missing API key is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:25.535Z","endedAt":"2026-06-23T11:13:25.539Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"79","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"4f-e9FJ4UDsD4YIbJ0B0XBRK2nO4MQ\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should reject with an auth/validation error (no 5xx)","passed":true,"message":"Rejected as expected (HTTP 401)"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 401, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_060","caseName":"Verify a non-empty (invalid) API key value still passes (apikey presence bypasses partner-key check)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.539Z","endedAt":"2026-06-23T11:13:25.551Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","apikey":"in****yz"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: in****yz'","validations":[{"description":"apikey header presence bypasses partner-key validation regardless of its value, so the request should succeed with maturity data","passed":true,"message":"Request succeeded with maturity data (HTTP 200)"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_063","caseName":"Verify blank API key header is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:25.551Z","endedAt":"2026-06-23T11:13:25.931Z","durationMs":380,"requestHeaders":{"Content-Type":"application/json","apikey":"****"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"79","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"4f-e9FJ4UDsD4YIbJ0B0XBRK2nO4MQ\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: ****'","validations":[{"description":"Should reject with an auth/validation error (no 5xx)","passed":true,"message":"Rejected as expected (HTTP 401)"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 401, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_064","caseName":"Verify response content type is application/json","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:25.931Z","endedAt":"2026-06-23T11:13:26.030Z","durationMs":99,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:25 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Response content type should be application/json","passed":true,"message":"application/json response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_066","caseName":"Verify response time is within SLA (<2s)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.031Z","endedAt":"2026-06-23T11:13:26.045Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Response should complete within 2000ms","passed":true,"message":"duration=14ms"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_069","caseName":"Verify SQL injection payload in investment_amount is safely ignored (leading numeric value '5000' is parsed, no injection)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.045Z","endedAt":"2026-06-23T11:13:26.056Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000' OR '1'='1","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000%27+OR+%271%27%3D%271&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200, no internal details leaked"},{"description":"payload.maturity_amount should be a positive number (leading numeric value parsed)","passed":true,"message":"maturity_amount=5330"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_070","caseName":"Verify SQL injection payload in tenure is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.056Z","endedAt":"2026-06-23T11:13:26.131Z","durationMs":75,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365' OR '1'='1","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"c6-lkpf0VVnOHYlWmFGhvoeDBviVY8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS067","error":"Invalid tenure. Please enter a valid tenure"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365%27+OR+%271%27%3D%271&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be a Fixerra error envelope (statusCode=400, success=0)","passed":true,"message":"Error envelope present"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS067"]},{"caseId":"MAH_MAT_071","caseName":"Verify XSS payload in payout_frequency is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.131Z","endedAt":"2026-06-23T11:13:26.230Z","durationMs":99,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"<script>alert(1)</script>","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"218","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"da-GsGPQpwhN6hvx2akpkhgtc/Orb8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS071","error":"Invalid payout_frequency. Please enter a valid payout_frequency"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=%3Cscript%3Ealert%281%29%3C%2Fscript%3E&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be a Fixerra error envelope with FIXMAS071","passed":true,"message":"Error envelope present (FIXMAS071)"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS071"]},{"caseId":"MAH_MAT_072","caseName":"Verify HTML injection payload in payout_frequency is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.230Z","endedAt":"2026-06-23T11:13:26.236Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"<b>Maturity</b>","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"218","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"da-GsGPQpwhN6hvx2akpkhgtc/Orb8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS071","error":"Invalid payout_frequency. Please enter a valid payout_frequency"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=%3Cb%3EMaturity%3C%2Fb%3E&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be a Fixerra error envelope with FIXMAS071","passed":true,"message":"Error envelope present (FIXMAS071)"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS071"]},{"caseId":"MAH_MAT_073","caseName":"Verify tampered/unsupported product_type is rejected","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.236Z","endedAt":"2026-06-23T11:13:26.241Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD' OR '1'='1"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"206","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"ce-kpE6H4BBNmqZLTyXPl9iXasRADM\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS107","error":"The product type must be one of the allowed values."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD%27+OR+%271%27%3D%271' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"Body should be a Fixerra error envelope (statusCode=400, success=0)","passed":true,"message":"Error envelope present"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200, no internal details leaked"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":["FIXMAS107"]},{"caseId":"MAH_MAT_077","caseName":"Verify rate limiting on maturity endpoint","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.241Z","endedAt":"2026-06-23T11:13:26.764Z","durationMs":523,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"23","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 15 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 15 requests succeeded with HTTP 200"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_080","caseName":"Verify maturity_date format is YYYY-MM-DD","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.764Z","endedAt":"2026-06-23T11:13:26.830Z","durationMs":66,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.maturity_date should match YYYY-MM-DD","passed":true,"message":"maturity_date=\"2027-06-23\""}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_081","caseName":"Verify payout date format is YYYY-MM-DD","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.831Z","endedAt":"2026-06-23T11:13:26.850Z","durationMs":19,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"every payout[].data[].date should match YYYY-MM-DD","passed":true,"message":"13 payout date(s) valid"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_085","caseName":"Verify product_min_tenure equals 365","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.851Z","endedAt":"2026-06-23T11:13:26.862Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.product_min_tenure should equal 365","passed":true,"message":"product_min_tenure=365"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_MAT_086","caseName":"Verify product_max_tenure is a valid bound (>= product_min_tenure) for the matched product","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.862Z","endedAt":"2026-06-23T11:13:26.875Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false","product_type":"FD"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false&product_type=FD' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"HTTP 200"},{"description":"payload.product_max_tenure should be >= product_min_tenure and > 0","passed":true,"message":"product_min_tenure=365, product_max_tenure=365"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_DETAIL_ISSUER_TC_001_Get_Detail_Success_Default_0","caseName":"[POSITIVE] TC_001_Get_Detail_Success_Default","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.875Z","endedAt":"2026-06-23T11:13:26.932Z","durationMs":57,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"89038","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"15bce-ZMONtx9sDmORz3MiEC3RnHL6ZEs\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"issuerData":{"id":3,"name":"Mahindra Finance Ltd","description":"Mahindra Finance Ltd. has diversified into a financial services provider and is registered with the RBI as an asset finance, deposit-taking NBFC. It boasts a vast network of 1,300+ offices, reaching more than 380,000 villages, and manages assets exceeding ₹ 99,565 Crores.","f_code":"MAH","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","url":"https://images.dev.fixerra.in/logos/mahindra/Mahindra.png","sub_logo":"https://images.dev.fixerra.in/logos/mahindra/Mahindra_Logo.png","compounding_freq":"Yearly","issuer_type":"NBFC","crisil_rating":"AAA/Stable","icra_rating":"","trusted_users":"1CR+ Since 1991","hero_tag":null,"subtag_1":"AAA RATED BY CRISIL","subtag_2":"Compounds Yearly","is_range_required":true,"bank_disabled_at":null,"faq":null,"active_issuer_rank":3,"baseline_issuer_rank":null,"deleted_at":null,"upcoming_bank":false,"upcoming_bank_date":null,"utm_url":null,"renewal_options":{"Principal":true,"No Renewal":true,"Total Amount":true},"enable_our_pg":false,"enable_easy_split":false,"pg_setting":null,"is_nominee_required":false,"bank_type":"","is_issuer_live":true,"women_benefit":0,"senior_citizen_benefit":0.25,"minTenure":365,"maxTenure":1825},"vehiclesPayload":[{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"b7a1931b-e88d-4251-a822-3d81329c88dd","product_details":"","product_type":"FD","product_rank":11,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.76","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0e47b184-a51c-4d20-a4c0-7168878c0762","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"9.12","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"450fab26-9739-48f6-93dd-3e673e3113a4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.76","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"682f3233-7644-4f6c-8981-a149ab27661f","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"9.12","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a73de787-4cf7-4422-b961-e97f0a44aed8","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.80","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"df8ca871-e506-4922-b638-7c1c1562e331","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.80","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"1580393e-b00c-4f1c-89b4-e7d2695a1a63","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.76","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"549818ac-ddbf-419f-8095-898929e0aa4d","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.80","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"9.12","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"9e89e67d-d18d-440c-950a-473e2b0f6598","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.37","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"35228b39-fe37-4b30-9679-50000e7280d7","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.53","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"74644831-f344-4230-932b-dd51bf8f0dbf","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.37","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"d7a1dd7a-d7c6-465a-8b6d-27720e703646","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.75","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"68f83d87-ea51-41ae-8479-c949178ebee1","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.75","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0697711b-0fd7-4a02-93a9-87ea214b0c21","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.37","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"2d87a875-22f7-499d-ad0a-f70bf7c229c5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.53","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4e2d06f8-c545-42b1-9d10-3bf786b33616","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.53","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4e2bdc70-e643-47bd-9c1b-7ac78885466b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"41575eae-6cbb-48c7-8fa6-a3de81e75de4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ea2189d1-f5ba-4c1a-9303-1697351f175e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"966781d1-110b-407a-8775-16790e1e2b53","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"404abfc4-43b6-4917-80d4-ef63c8159322","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3867f5af-2b39-4901-9eb8-08ebb6ab5f27","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7316c78b-a8ca-4123-980d-901c8ff194e1","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"c0a581cc-b35b-4360-99cd-f8f19b48011e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4ee7e8c5-06fe-4431-af1d-0590f7a38b09","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0e332dac-d47e-4318-99da-e5af7977375e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.55","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.55","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"97719d8c-a627-414c-af66-ab0e39f3332c","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.50","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"481a5435-4b81-46ea-98fb-1ef004ea0d1f","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.50","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"43efbd46-dc76-4ee0-a9c8-bd34bcbc0e19","product_details":"","product_type":"FD","product_rank":4,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.32","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"f9f1b229-0a57-46c2-b05d-287733d2b6f0","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"fa01a749-dc91-4f8c-9a65-c6cd3fbceeb5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.32","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8b798fe2-5112-4cbe-8145-b4dd4c502310","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ed7f8c30-0de3-4be9-9bc9-6548d8b56573","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.45","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"e6292d44-2e2e-4682-868f-83d85fe77c5b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.45","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"e60c8270-f55d-416b-9731-a08100406304","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.32","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"cd1448ed-af12-45d4-9ddc-338b135f30d4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"c0bd536e-d132-4459-898d-99c88f6a8703","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.96","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3465f79a-e12b-4482-8023-33b12d748111","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.11","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"fee564f6-3c4c-4f30-9b92-72068cd069de","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.96","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"f87b87bd-875f-48f4-9188-02b0785c5765","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.40","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5fe90e93-3a37-4648-85b8-f5b6d20c98f0","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.40","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"62cf4339-f8ca-4981-8b12-678b555c82bc","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.96","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eba957cb-d5a4-47f6-93ca-b87971651796","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.11","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ce242bff-bb4c-4478-a706-0fee710fdccc","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"8.11","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8b2b4bca-8e52-4975-bb96-6d22c2dcb5ea","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.30","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.30","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"cbf112ca-6d4a-4247-a22e-2bd68dd2ca8a","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.30","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.30","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"05f7fe27-724c-478d-8dea-7af0c9220517","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"20e622d3-1d66-4f34-ba1d-b4975cfdeaec","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eb7f865b-a1ed-47a9-bbed-e807138b098e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"66ffbf08-1db9-4a2d-97fb-c44b04ed0575","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.25","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.25","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"57f6d2fd-753c-4207-b4e5-a2164a51166b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"895acfcc-bd13-42e6-940a-1ec5b01b83a9","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1460,"product_max_tenure":1460,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"6c54c77c-9dfc-4811-8bfa-803d4d36c33a","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1825,"product_max_tenure":1825,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a790e185-eb6b-4d62-a4f3-77af33f97201","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"7.20","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.20","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eb8ea117-01fd-445f-af0a-67b1b5554008","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1095,"product_max_tenure":1095,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.15","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.15","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"61119961-10ad-45c4-8762-0eb56fc40ad5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":1277,"product_max_tenure":1277,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"7.15","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.15","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8ed006df-c502-4e3c-9d2c-0e80366deb7f","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.35","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"eafd5fd9-a838-40c0-be23-2e1ace0db4ea","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.49","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7c29f531-5685-42a0-8769-2a66b48a8fbd","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.35","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"46a33f27-e897-4595-9d3e-76d891dbde48","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.10","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a1d0c3ec-be5c-49b5-9fe1-fc288d61c39c","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.10","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a5e98ef1-7e81-4f1b-ac77-9325c8ec26ab","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.35","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3dc073ef-c7d0-4dfe-a941-af11265effdf","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.49","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"57bf94bd-0180-4f1c-94c3-75ea57a8abbf","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"7.10","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.49","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"6f48159a-52be-4ba6-a45d-b0602f92094b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.00","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.00","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ec2bbfdb-d9ee-4260-baa6-58e8334c6aa9","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"7.00","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.00","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a268bc58-4fa1-4917-842b-a4f57d45d617","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.95","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.95","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"08622691-71f1-4468-9179-8b16c225da97","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.95","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.95","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"277ae1d5-825d-4151-ba35-735603f52864","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.90","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.90","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"abb24a1f-7657-4c98-b0a2-8f70333ec658","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.90","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.90","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"18272491-9713-4506-bb1b-38c1a37fc406","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"346920e7-512e-463b-aa92-8d59d899045d","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.21","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"95304a59-3724-4688-8778-b4d6c4e53965","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.97","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ac1e965e-edf4-43b3-9af7-6e0c1fba1634","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.08","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"771f3990-819f-4aff-949e-ec1b3a8a12b4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"fc8c06ae-3cc1-4704-a109-a15cd1580923","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8aded7a7-e616-4f8e-87f7-0a17344dc6f1","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.86","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"19b6028b-5b0c-4006-9cf2-63a1fc00a5eb","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"01051cbf-31c2-4d1c-b5c6-bbb7a22d1427","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"22014848-d53a-41f2-a4f0-93866401bcfb","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.08","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"be46e091-e5df-42ff-abb0-038b9aba3778","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.85","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5167cab4-28a7-4d7d-8a5d-9bedebec646b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.21","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"4f40df19-b9c3-45ec-ae1a-5a60e52f1fb2","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.97","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"56403167-af6c-4001-a0bf-685c8eee9e8e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.21","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"59f65ddc-520b-477e-8f8c-c28e2ba944e4","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.97","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"6364398b-c38a-4555-aaa8-0404ac0514d5","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.85","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"7.08","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"d1c86cd8-81fd-4947-b7a0-1502486aeb76","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.75","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3564039c-a276-4eb7-a7d1-34c903dd39c9","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.75","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5fd84399-e906-41a1-bf67-28ed5b62c18d","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.76","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ab9a1f84-2287-499c-93e4-bd1374a26a5e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.75","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.75","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"78d5aa6e-2777-446d-8818-b9464ea05b0a","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.70","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3bc02d61-3b22-401b-988c-abebe8ad5900","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.70","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"3b3e2ac3-697c-4a67-a61d-9d6aa04f0920","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.70","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"08326044-4d44-4a9a-8b00-bacd31b30674","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.70","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"85912e78-7a8d-4dc9-891f-6fc1382b98c8","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":730,"product_max_tenure":730,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"ded8ddaf-ac2e-4827-a640-314aab84d47e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.65","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"e32f3ca5-02ba-4cad-a156-8eb34673f268","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":912,"product_max_tenure":912,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.65","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"46266dc0-72e2-4fb3-be6e-7cb1677bdd78","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":true,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.65","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.66","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"a925ff1b-2b8a-49f4-82a8-24a2e0047de8","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"05dda2c9-4039-445c-867c-5587cba71791","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.61","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"8f52adf2-c4fb-46da-8c5a-14f7f1d4a010","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"dd9d5f07-135f-4753-b6f5-9024001e237e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000,"product_max_investment":9999999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7974695c-9625-44e4-a7d0-855a56eab1d0","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.60","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"10712939-b8d7-4dad-9f0b-6a8b1b84c899","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":5000,"product_max_investment":9999,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0eb69db0-acfc-4554-9036-92a1c0732636","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":10000000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"C","product_loc_in_period":"3","product_interest_freq":"Yearly","product_interest":"6.60","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.71","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"82c2cd2f-944b-4166-b28e-63aac00bef9e","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.50","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"b36dbbe0-d5bc-42c0-b69a-21725568f432","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":25000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"HalfYearly","product_interest":"6.50","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.51","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"7cec3cfe-6cd9-4c59-a2f5-5bdb1f6f8aca","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.45","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"d3a1be9a-0517-43bd-a8ac-11f26e251032","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Quarterly","product_interest":"6.45","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.46","senior_citizen_benefit":0.2},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":365,"product_max_tenure":365,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.40","senior_citizen_benefit":0.35},{"f_product_id":"","f_issuer_id":"57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","f_investment_vehicle_id":"5d2f688e-ad35-4d96-bca5-097e8ea8a405","product_details":"","product_type":"FD","product_rank":null,"product_min_tenure":547,"product_max_tenure":547,"product_min_investment":50000,"product_max_investment":50000000,"product_senior_citizen":false,"product_effective_date":"2026-05-20T00:00:00.000Z","product_tax_saver":false,"product_issuer_commision":"","product_self_commision":"","product_women":false,"product_early_withdrawal":false,"product_payout_term":"NC","product_loc_in_period":"3","product_interest_freq":"Monthly","product_interest":"6.40","product_ineffective_date":null,"product_min_tenure_label":"","is_visible":true,"yield":"6.41","senior_citizen_benefit":0.2}],"highlights":[{"title":"All investments are regulated by RBI","url":"https://images.dev.fixerra.in/illustrations/RBI@3x.png"},{"title":"Maturity Amount is directly credited to your bank account","url":"https://images.dev.fixerra.in/illustrations/Bank@3x.png"},{"title":"Senior Citizens get up to 0.25% extra","url":"https://images.dev.fixerra.in/illustrations/Senior@3x.png"}],"about":[{"key":"Founded","value":"1991"},{"key":"Customers Served","value":"1 Cr+"},{"key":"Number of Branches","value":"1300+"},{"key":"Reach","value":"380,000+ Villages"},{"key":"CRISIL Rating","value":"AAA+ Stable"},{"key":"Assets Under Management","value":"₹99,565 Cr+"}],"distinctMinTenureValues":[{"value":1095},{"value":1277},{"value":1460},{"value":1825},{"value":365},{"value":547},{"value":730},{"value":912}],"interestPayouts":["Maturity","Yearly","HalfYearly","Quarterly","Monthly"]}},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain issuer data in payload.issuerData","passed":true,"message":"issuerData present"}],"docsFile":"master-services/API_QA_GET_DETAIL_ISSUER.md","apiMeta":{"endpoint":"/detail/:f_issuer_id","method":"GET","guards":"Auth: `services/master-services/src/auth/authGuards/user.jwt.guard.ts`","authHint":"Auth: `services/master-services/src/auth/authGuards/user.jwt.guard.ts`"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_DETAIL_ISSUER_TC_101_Get_Detail_Unauthorized_NoAuth_1","caseName":"[POSITIVE] TC_101_Get_Detail_Unauthorized_NoAuth","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:26.932Z","endedAt":"2026-06-23T11:13:26.945Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"57","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"39-h6wxugZnFxxkjOfxliuYY3JzpSQ\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied."},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"master-services/API_QA_GET_DETAIL_ISSUER.md","apiMeta":{"endpoint":"/detail/:f_issuer_id","method":"GET","guards":"Auth: `services/master-services/src/auth/authGuards/user.jwt.guard.ts`","authHint":"Auth: `services/master-services/src/auth/authGuards/user.jwt.guard.ts`"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_DETAIL_ISSUER_TC_301_Get_Detail_BadRequest_InvalidProductType_FIXMAS0109_3","caseName":"[POSITIVE] TC_301_Get_Detail_BadRequest_InvalidProductType_FIXMAS0109","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.945Z","endedAt":"2026-06-23T11:13:26.950Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"product_type":"ABC"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"182","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"b6-7wu6zgj18r/yroTFBoKK8tiyfug\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":{"errorCode":"FIXUSERDEFAULT","error":["FIXMAS0109"],"f_error_reason":"","f_error_message":["FIXMAS0109"]}},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/detail/57a9d4a2-bfbc-4ed2-965c-b8c4b7c95b16?product_type=ABC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_DETAIL_ISSUER.md","apiMeta":{"endpoint":"/detail/:f_issuer_id","method":"GET","guards":"Auth: `services/master-services/src/auth/authGuards/user.jwt.guard.ts`","authHint":"Auth: `services/master-services/src/auth/authGuards/user.jwt.guard.ts`"},"expectedErrorCodes":["FIXMAS0109"],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-FREQ-MAH-001_0","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.950Z","endedAt":"2026-06-23T11:13:26.961Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-FREQ-MAH-002_1","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:26.961Z","endedAt":"2026-06-23T11:13:27.030Z","durationMs":69,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:26 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-FREQ-MAH-003_2","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.031Z","endedAt":"2026-06-23T11:13:27.048Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Quarterly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"639","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"27f-ecnnA0kQw7t/pUOkxeoq+mv+LCo\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"product_interest":"6.45","payout_frequency":"Quarterly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"7cec3cfe-6cd9-4c59-a2f5-5bdb1f6f8aca","average_yield":"6.45","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.85},{"date":"2026-09-30","amount":806.25},{"date":"2026-12-31","amount":806.25}]},{"year":2027,"data":[{"date":"2027-03-31","amount":806.25},{"date":"2027-06-23","amount":744.95}]}],"payout_amount":806,"total_payout":3225},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Quarterly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-FREQ-MAH-004_3","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.048Z","endedAt":"2026-06-23T11:13:27.065Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"25000","payout_frequency":"HalfYearly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"563","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"233-fUwaeI9NKxaxP9OCCaI/mUlGzC8\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"product_interest":"6.50","payout_frequency":"HalfYearly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"82c2cd2f-944b-4166-b28e-63aac00bef9e","average_yield":"6.50","product_min_investment":25000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-09-30","amount":440.75}]},{"year":2027,"data":[{"date":"2027-03-31","amount":812.5},{"date":"2027-06-23","amount":372.3}]}],"payout_amount":812,"total_payout":1625},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=25000&payout_frequency=HalfYearly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-FREQ-MAH-005_4","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.065Z","endedAt":"2026-06-23T11:13:27.081Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"25000","payout_frequency":"Yearly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"502","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"1f6-Nx+mbwk5/hjdKrxL0L+N20ZoIc4\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Yearly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"8f52adf2-c4fb-46da-8c5a-14f7f1d4a010","average_yield":"6.60","product_min_investment":25000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-03-31","amount":1270.27},{"date":"2027-06-23","amount":380.86}]}],"payout_amount":1650,"total_payout":1650},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=25000&payout_frequency=Yearly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-POS-005_5","caseName":"[POSITIVE] MAH valid min boundary cumulative","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.081Z","endedAt":"2026-06-23T11:13:27.141Z","durationMs":60,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"5000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"440","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"1b8-pQkYxCsMn2FWA2ldXhkbZgqtVPU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"29bd10ea-cbff-4894-b03b-1ccc64b1ce60","average_yield":"6.60","product_min_investment":5000,"product_max_investment":9999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":5330}]}],"maturity_amount":5330},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=5000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-POS-011_6","caseName":"[POSITIVE] Optional flags all false","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.141Z","endedAt":"2026-06-23T11:13:27.157Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-POS-012_7","caseName":"[POSITIVE] Optional flags: senior only","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.158Z","endedAt":"2026-06-23T11:13:27.183Z","durationMs":25,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"true","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"3ad-3SCkj9//dJmUF/awIRQvwrAVEtY\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"21","server":"envoy"},"responseBody":{"product_interest":"6.65","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"ded8ddaf-ac2e-4827-a640-314aab84d47e","average_yield":"6.65","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":63.77},{"date":"2026-07-31","amount":277.08},{"date":"2026-08-31","amount":277.08},{"date":"2026-09-30","amount":277.08},{"date":"2026-10-31","amount":277.08},{"date":"2026-11-30","amount":277.08},{"date":"2026-12-31","amount":277.08}]},{"year":2027,"data":[{"date":"2027-01-31","amount":277.08},{"date":"2027-02-28","amount":277.08},{"date":"2027-03-31","amount":277.08},{"date":"2027-04-30","amount":277.08},{"date":"2027-05-31","amount":277.08},{"date":"2027-06-23","amount":213.51}]}],"payout_amount":277,"total_payout":3325},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=true&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-POS-013_8","caseName":"[POSITIVE] Flags: `women_citizen=true` (unsupported for MAH)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.183Z","endedAt":"2026-06-23T11:13:27.200Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"true","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=true&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-POS-014_9","caseName":"[POSITIVE] Flags: `tax_saver=true` (unsupported for MAH)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.200Z","endedAt":"2026-06-23T11:13:27.215Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-POS-015_10","caseName":"[POSITIVE] Flags: all true (unsupported for MAH)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.215Z","endedAt":"2026-06-23T11:13:27.230Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"true","women_citizen":"true","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=true&women_citizen=true&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-LIMIT-MAH-001_11","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.231Z","endedAt":"2026-06-23T11:13:27.243Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"TC-MAT-LIMIT-MAH-001"},"requestQuery":{"tenure":"365","investment_amount":"4000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"214","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"d6-01ft2Fyu7FRTRYdxlqCDAqs14Lw\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS092","error":"The entered Investment Amount is not accepted by the issuer"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=4000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"TC-MAT-LIMIT-MAH-001\"}'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should contain error code(s): FIXMAS092","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS092"],"actualErrorCodes":["FIXMAS092"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-LIMIT-MAH-002_12","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.243Z","endedAt":"2026-06-23T11:13:27.255Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"TC-MAT-LIMIT-MAH-002"},"requestQuery":{"tenure":"365","investment_amount":"60000000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"214","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"d6-01ft2Fyu7FRTRYdxlqCDAqs14Lw\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXMAS092","error":"The entered Investment Amount is not accepted by the issuer"}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=60000000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"TC-MAT-LIMIT-MAH-002\"}'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should contain error code(s): FIXMAS092","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS092"],"actualErrorCodes":["FIXMAS092"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-TAX-MAH-001_13","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.255Z","endedAt":"2026-06-23T11:13:27.275Z","durationMs":20,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"false","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Maturity&senior_citizen=false&women_citizen=false&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-WOM-MAH-001_14","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.276Z","endedAt":"2026-06-23T11:13:27.331Z","durationMs":55,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Maturity","senior_citizen":"false","women_citizen":"true","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"18","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Maturity&senior_citizen=false&women_citizen=true&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-SR-MAH-001_15","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.331Z","endedAt":"2026-06-23T11:13:27.361Z","durationMs":30,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Maturity","senior_citizen":"true","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"446","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"1be-Mtm18sTmkm1UHmvqYy6XPQ2ZBI0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"27","server":"envoy"},"responseBody":{"product_interest":"6.85","payout_frequency":"Maturity","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"be46e091-e5df-42ff-abb0-038b9aba3778","average_yield":"6.85","product_min_investment":10000,"product_max_investment":9999999,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-06-23","amount":53425}]}],"maturity_amount":53425},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Maturity&senior_citizen=true&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-BIZ-001_16","caseName":"[POSITIVE] MAH NC Monthly with amount 49,000 (below rule)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.361Z","endedAt":"2026-06-23T11:13:27.430Z","durationMs":69,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"49000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"42","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=49000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-BIZ-002_17","caseName":"[POSITIVE] MAH NC Monthly with amount 50,000 (exact min)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.431Z","endedAt":"2026-06-23T11:13:27.531Z","durationMs":100,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"69","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-BIZ-003_18","caseName":"[POSITIVE] MAH NC Quarterly with amount 49,000 (below rule)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.531Z","endedAt":"2026-06-23T11:13:27.552Z","durationMs":21,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"49000","payout_frequency":"Quarterly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"18","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=49000&payout_frequency=Quarterly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-BIZ-004_19","caseName":"[POSITIVE] MAH NC HalfYearly with amount 24,000 (below rule)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.552Z","endedAt":"2026-06-23T11:13:27.573Z","durationMs":21,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"24000","payout_frequency":"HalfYearly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"18","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=24000&payout_frequency=HalfYearly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=400)"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_TC-MAT-BIZ-005_20","caseName":"[POSITIVE] MAH NC Yearly with amount 25,000 (exact min)","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.573Z","endedAt":"2026-06-23T11:13:27.589Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"25000","payout_frequency":"Yearly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"502","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"1f6-Nx+mbwk5/hjdKrxL0L+N20ZoIc4\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"product_interest":"6.60","payout_frequency":"Yearly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"8f52adf2-c4fb-46da-8c5a-14f7f1d4a010","average_yield":"6.60","product_min_investment":25000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2027,"data":[{"date":"2027-03-31","amount":1270.27},{"date":"2027-06-23","amount":380.86}]}],"payout_amount":1650,"total_payout":1650},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=25000&payout_frequency=Yearly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-001_21","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.589Z","endedAt":"2026-06-23T11:13:27.631Z","durationMs":42,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"3ad-fGIYrBBl1V/4FNxudIHhu7rz1h0\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"product_interest":"6.40","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"0bebf383-b67b-4097-b2b2-15c67bdbf40b","average_yield":"6.40","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":61.37},{"date":"2026-07-31","amount":266.67},{"date":"2026-08-31","amount":266.67},{"date":"2026-09-30","amount":266.67},{"date":"2026-10-31","amount":266.67},{"date":"2026-11-30","amount":266.67},{"date":"2026-12-31","amount":266.67}]},{"year":2027,"data":[{"date":"2027-01-31","amount":266.67},{"date":"2027-02-28","amount":266.67},{"date":"2027-03-31","amount":266.67},{"date":"2027-04-30","amount":266.67},{"date":"2027-05-31","amount":266.67},{"date":"2027-06-23","amount":205.48}]}],"payout_amount":266,"total_payout":3200},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-002_22","caseName":"[POSITIVE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.631Z","endedAt":"2026-06-23T11:13:27.645Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"true","women_citizen":"false","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"941","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"3ad-3SCkj9//dJmUF/awIRQvwrAVEtY\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"product_interest":"6.65","payout_frequency":"Monthly","maturity_date":"2027-06-23","maturity_date_ist":"2027-06-23","f_investment_vehicle_id":"ded8ddaf-ac2e-4827-a640-314aab84d47e","average_yield":"6.65","product_min_investment":50000,"product_max_investment":50000000,"product_min_tenure":365,"product_max_tenure":365,"product_min_tenure_label":"","payout":[{"year":2026,"data":[{"date":"2026-06-30","amount":63.77},{"date":"2026-07-31","amount":277.08},{"date":"2026-08-31","amount":277.08},{"date":"2026-09-30","amount":277.08},{"date":"2026-10-31","amount":277.08},{"date":"2026-11-30","amount":277.08},{"date":"2026-12-31","amount":277.08}]},{"year":2027,"data":[{"date":"2027-01-31","amount":277.08},{"date":"2027-02-28","amount":277.08},{"date":"2027-03-31","amount":277.08},{"date":"2027-04-30","amount":277.08},{"date":"2027-05-31","amount":277.08},{"date":"2027-06-23","amount":213.51}]}],"payout_amount":277,"total_payout":3325},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=true&women_citizen=false&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"},{"description":"Response should contain maturity or payout amount fields","passed":true,"message":"Maturity/payout fields present"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-003_23","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.645Z","endedAt":"2026-06-23T11:13:27.657Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"FLAG-003"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"true","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=true&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"FLAG-003\"}'","validations":[{"description":"Response should contain error code(s): FIXMAS005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-004_24","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.657Z","endedAt":"2026-06-23T11:13:27.669Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"FLAG-004"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"false","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=false&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"FLAG-004\"}'","validations":[{"description":"Response should contain error code(s): FIXMAS005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-005_25","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.669Z","endedAt":"2026-06-23T11:13:27.684Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"FLAG-005"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"true","women_citizen":"true","tax_saver":"false"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=true&women_citizen=true&tax_saver=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"FLAG-005\"}'","validations":[{"description":"Response should contain error code(s): FIXMAS005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-006_26","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.684Z","endedAt":"2026-06-23T11:13:27.730Z","durationMs":46,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"FLAG-006"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"true","women_citizen":"false","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=true&women_citizen=false&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"FLAG-006\"}'","validations":[{"description":"Response should contain error code(s): FIXMAS005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-007_27","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.731Z","endedAt":"2026-06-23T11:13:27.745Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"FLAG-007"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"false","women_citizen":"true","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=false&women_citizen=true&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"FLAG-007\"}'","validations":[{"description":"Response should contain error code(s): FIXMAS005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]},{"caseId":"API_QA_GET_ESTIMATED_MATURITY_PAYOUT_FLAG-008_28","caseName":"[EDGE] `MAH`","service":"master-services","method":"GET","url":"https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.745Z","endedAt":"2026-06-23T11:13:27.831Z","durationMs":86,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"FLAG-008"},"requestQuery":{"tenure":"365","investment_amount":"50000","payout_frequency":"Monthly","senior_citizen":"true","women_citizen":"true","tax_saver":"true"},"responseHeaders":{"access-control-allow-origin":"*","cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"537","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:27 GMT","etag":"W/\"219-NZBk2+StBIatLXeUELYm9CMNJ3I\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options.","f_error_message":"","errorCode":"FIXMAS005","error":"No Fixed Deposits were found based on your inputs. Please consider different values for Investment Amount, Tenure, Payout Frequency, or flags for Senior Citizen, Women, and Tax-saver options."}]},"curl":"curl -X GET 'https://master-api.dev.fixerra.in/api/v1/detail/maturity-amount/MAH?tenure=365&investment_amount=50000&payout_frequency=Monthly&senior_citizen=true&women_citizen=true&tax_saver=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"FLAG-008\"}'","validations":[{"description":"Response should contain error code(s): FIXMAS005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"master-services/API_QA_GET_ESTIMATED_MATURITY_PAYOUT.md","apiMeta":{"endpoint":"/api/v1/detail/maturity-amount/{f_code}","method":"GET","authHint":"**Auth:** Partner headers required","summary":"- **API Name:** Get Estimated Maturity Payout"},"expectedErrorCodes":["FIXMAS005"],"actualErrorCodes":["FIXMAS005"]}],"summary":{"total":73,"passed":72,"failed":1,"skipped":0,"running":0,"pending":0,"durationMs":3274}},{"stepId":"step-03-pan-verification","stepName":"PAN Verification","cases":[{"caseId":"MAH_PAN_001","caseName":"Get user profile before PAN entry (Mahindra Finance)","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"static","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:27.831Z","endedAt":"2026-06-23T11:13:28.072Z","durationMs":241,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1395","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:28 GMT","etag":"W/\"573-fJWIb0wIdcGo+I6FN2wmqYNWgqY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"38","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"createdAt":"2026-06-23T11:13:19.000Z","isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":null,"email":null,"password":"","sub_account":"","gender":"","salutation":"","first_name":"","middle_name":"","last_name":"","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"918668336629","code":"91","dob":null,"care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"","is_pan_verified":false,"is_email_verified":false,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"","kin_first_name":"","kin_middle_name":"","kin_last_name":"","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":null,"user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":null,"profile_updated_at":null,"mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","is_personal_details":{"BAJ":false,"MAH":false,"SHRI":false}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Response should contain user data","passed":true,"message":"User data present"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_002","caseName":"Track insights event for PAN verification step (Mahindra Finance)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/insights/event","status":"passed","scenarioType":"static","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:28.072Z","endedAt":"2026-06-23T11:13:28.156Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"state":"KYC_VERIFICATION","sub_state":"PAN_VERIFICATION","status":"SUCCESS","issuer_code":"MAH","fd_info":{"amount":25000,"tenure":12,"payout_frequency":"maturity","issuer_code":"MAH"},"d1":"{\"event_id\":\"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2\"}","data":"{\"issuer_code\":\"MAH\",\"fd_info\":{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"65","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:28 GMT","etag":"W/\"41-M+4hBsG0sVRjuFnaz2YPyfe+acA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/insights/event' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"state\":\"KYC_VERIFICATION\",\"sub_state\":\"PAN_VERIFICATION\",\"status\":\"SUCCESS\",\"issuer_code\":\"MAH\",\"fd_info\":{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"},\"d1\":\"{\\\"event_id\\\":\\\"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2\\\"}\",\"data\":\"{\\\"issuer_code\\\":\\\"MAH\\\",\\\"fd_info\\\":{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}}\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain event_id","passed":true,"message":"event_id present"}],"docsFile":"user-services/API_QA_POST_INSIGHTS_EVENT.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_003","caseName":"Verify PAN for Mahindra Finance","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:28.156Z","endedAt":"2026-06-23T11:13:28.571Z","durationMs":415,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:28 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"411","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Response should indicate PAN verification result","passed":true,"message":"PAN verification result present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_004","caseName":"Verify PAN response success flag","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:28.571Z","endedAt":"2026-06-23T11:13:29.505Z","durationMs":934,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:29 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"931","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_005","caseName":"Verify PAN response schema","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:29.505Z","endedAt":"2026-06-23T11:13:29.871Z","durationMs":366,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:29 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"362","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Response schema should match contract","passed":true,"message":"Response schema valid"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_006","caseName":"Verify PAN response content type","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:29.871Z","endedAt":"2026-06-23T11:13:30.977Z","durationMs":1106,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:30 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1103","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Response content type should be application/json","passed":true,"message":"application/json response"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_007","caseName":"Verify PAN response time","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:30.977Z","endedAt":"2026-06-23T11:13:31.369Z","durationMs":392,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"389","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Response should complete within 5000ms","passed":true,"message":"duration=392ms"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_008","caseName":"Verify payload object exists in PAN success response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:31.369Z","endedAt":"2026-06-23T11:13:31.792Z","durationMs":423,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"420","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Payload object should exist","passed":true,"message":"payload present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_009","caseName":"Verify PAN field blank","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.792Z","endedAt":"2026-06-23T11:13:31.809Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"307","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"133-qUvnp6YJVYDF+eWnnFEL7DIUbRU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1022","error":"PAN number is required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1022 or FIXUSER1001","passed":true,"message":"FIXUSER1022/FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1022","FIXUSER1001"],"actualErrorCodes":["FIXUSER1001","FIXUSER1022"]},{"caseId":"MAH_PAN_010","caseName":"Verify PAN field null","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.809Z","endedAt":"2026-06-23T11:13:31.835Z","durationMs":26,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":null,"issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"307","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"133-qUvnp6YJVYDF+eWnnFEL7DIUbRU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"23","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1022","error":"PAN number is required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":null,\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1022 or FIXUSER1001","passed":true,"message":"FIXUSER1022/FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1022","FIXUSER1001"],"actualErrorCodes":["FIXUSER1001","FIXUSER1022"]},{"caseId":"MAH_PAN_011","caseName":"Verify PAN field missing","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.835Z","endedAt":"2026-06-23T11:13:31.852Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"307","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"133-qUvnp6YJVYDF+eWnnFEL7DIUbRU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1022","error":"PAN number is required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1022 or FIXUSER1001","passed":true,"message":"FIXUSER1022/FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1022","FIXUSER1001"],"actualErrorCodes":["FIXUSER1001","FIXUSER1022"]},{"caseId":"MAH_PAN_012","caseName":"Verify PAN less than 10 characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.852Z","endedAt":"2026-06-23T11:13:31.863Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR343","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR343\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_013","caseName":"Verify PAN more than 10 characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.863Z","endedAt":"2026-06-23T11:13:31.936Z","durationMs":73,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438LL","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"70","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438LL\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_014","caseName":"Verify PAN with lowercase characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.936Z","endedAt":"2026-06-23T11:13:31.946Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"blxpr3438l","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"blxpr3438l\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_015","caseName":"Verify PAN with special characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.946Z","endedAt":"2026-06-23T11:13:31.960Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXP@3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXP@3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_016","caseName":"Verify PAN with spaces","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:31.960Z","endedAt":"2026-06-23T11:13:32.131Z","durationMs":171,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXP R3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:31 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXP R3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_017","caseName":"Verify numeric-only PAN","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.131Z","endedAt":"2026-06-23T11:13:32.141Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"1234567890","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"1234567890\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_018","caseName":"Verify alphabet-only PAN","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.141Z","endedAt":"2026-06-23T11:13:32.156Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"ABCDEFGHIJ","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"ABCDEFGHIJ\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_019","caseName":"Verify invalid PAN pattern","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.156Z","endedAt":"2026-06-23T11:13:32.167Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"AB123456CD","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"AB123456CD\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_020","caseName":"Verify SQL injection in PAN field","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.167Z","endedAt":"2026-06-23T11:13:32.231Z","durationMs":64,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"' OR 1=1 --","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"'\\'' OR 1=1 --\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_021","caseName":"Verify XSS payload in PAN field","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.231Z","endedAt":"2026-06-23T11:13:32.241Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"<script>alert(1)</script>","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"<script>alert(1)</script>\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_022","caseName":"Verify malformed request JSON","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.241Z","endedAt":"2026-06-23T11:13:32.248Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":"{\"number\":","requestQuery":{},"responseHeaders":{"content-length":"248","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"f8-ydQRwr2txlf09MfVIoTWDDYnXgw\"","vary":"Origin","x-powered-by":"Express","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Unexpected token '\"', \"\"{\\\"number\\\":\"\" is not valid JSON","payload":{},"error":{"statusCode":400,"message":"Unexpected token '\"', \"\"{\\\"number\\\":\"\" is not valid JSON","error":"Bad Request"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_023","caseName":"Verify empty request body","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.248Z","endedAt":"2026-06-23T11:13:32.257Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"307","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"133-qUvnp6YJVYDF+eWnnFEL7DIUbRU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1022","error":"PAN number is required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001","FIXUSER1022"]},{"caseId":"MAH_PAN_024","caseName":"Verify request without Content-Type header","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.257Z","endedAt":"2026-06-23T11:13:32.337Z","durationMs":80,"requestHeaders":{"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":"{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}","requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"307","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"133-qUvnp6YJVYDF+eWnnFEL7DIUbRU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"76","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1022","error":"PAN number is required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001","FIXUSER1022"]},{"caseId":"MAH_PAN_025","caseName":"Verify invalid Content-Type","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.337Z","endedAt":"2026-06-23T11:13:32.349Z","durationMs":12,"requestHeaders":{"Content-Type":"text/plain","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":"{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}","requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"307","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"133-qUvnp6YJVYDF+eWnnFEL7DIUbRU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1022","error":"PAN number is required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: text/plain' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001","FIXUSER1022"]},{"caseId":"MAH_PAN_026","caseName":"Verify error response schema","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.349Z","endedAt":"2026-06-23T11:13:32.361Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"1234567890","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"1234567890\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Error response schema should match contract","passed":true,"message":"Error schema valid"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_027","caseName":"Verify error response message","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.361Z","endedAt":"2026-06-23T11:13:32.431Z","durationMs":70,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"1234567890","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"68","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"1234567890\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Error response should contain message text","passed":true,"message":"message=\"Bad request\""}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_028","caseName":"Verify error code mapping","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.431Z","endedAt":"2026-06-23T11:13:32.443Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"1234567890","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"1234567890\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_029","caseName":"Verify payload object in error response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:32.443Z","endedAt":"2026-06-23T11:13:32.461Z","durationMs":18,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"1234567890","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"1234567890\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should indicate a structured error envelope","passed":true,"message":"Structured error envelope present"},{"description":"Payload object should exist in error response","passed":true,"message":"payload object present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PAN_030","caseName":"Verify required response headers","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:32.461Z","endedAt":"2026-06-23T11:13:32.916Z","durationMs":455,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:32 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"452","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Required response headers should be present","passed":true,"message":"Required response headers present"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_031","caseName":"Verify PAN data is not exposed in response","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:32.916Z","endedAt":"2026-06-23T11:13:36.215Z","durationMs":3299,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:36 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3296","server":"envoy","connection":"close"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Response should not expose PAN or DOB values","passed":true,"message":"No PAN/DOB leakage in response body"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_032","caseName":"Verify concurrent requests with same PAN","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:36.215Z","endedAt":"2026-06-23T11:13:36.721Z","durationMs":506,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:36 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"489","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 2 requests completed without 5xx/network errors"},{"description":"Concurrent requests should return a consistent success/error shape","passed":true,"message":"All 2 concurrent requests returned the same response shape (201:1:200)"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_033","caseName":"Verify API under load","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:36.721Z","endedAt":"2026-06-23T11:13:37.774Z","durationMs":1053,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:37 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"505","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 3 requests completed without 5xx/network errors"},{"description":"Average response time across burst should stay under 5000ms","passed":true,"message":"Average duration 525ms across 3 requests"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_034","caseName":"Verify API rate limiting","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:37.774Z","endedAt":"2026-06-23T11:13:39.600Z","durationMs":1826,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:39 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"331","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 3 requests succeeded with HTTP 200/201"}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_045","caseName":"Verify PAN holder name returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:39.600Z","endedAt":"2026-06-23T11:13:40.102Z","durationMs":502,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:40 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"498","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"payload.name should be populated","passed":true,"message":"name=\"DILIP KALU RATHOD\""}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_046","caseName":"Verify father name returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/pan-verification","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:40.102Z","endedAt":"2026-06-23T11:13:40.421Z","durationMs":319,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"number":"BLXPR3438L","issuer_code":"MAH","issuer_type":"NBFC"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:40 GMT","etag":"W/\"8b-mkAMZeXWHfwsFaUd1YtotXtQUhY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"315","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Verification Successful","payload":{"name":"DILIP KALU RATHOD","father_name":"KALU NATHU RATHOD"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/pan-verification' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"number\":\"BLXPR3438L\",\"issuer_code\":\"MAH\",\"issuer_type\":\"NBFC\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"payload.father_name should be populated","passed":true,"message":"father_name=\"KALU NATHU RATHOD\""}],"docsFile":"user-services/API_QA_PAN_VERIFICATION.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PAN_950","caseName":"Persist DOB for downstream eligibility (Digilocker/Aadhaar fallback)","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:40.421Z","endedAt":"2026-06-23T11:13:40.550Z","durationMs":129,"requestHeaders":{"Content-Type":"application/json","fuserid":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","apikey":"d4****bb"},"requestPayload":{"dob":"1992-04-30"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1844","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:40 GMT","etag":"W/\"734-UzB9Um8/5LS0fh9t9gWTVeVjC0E\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"126","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2026-06-23T11:13:19.000Z","updatedAt":"2026-06-23T11:13:40.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":"249a22814bf213a7ff2e68cfa58da9d3:c7ffdd78ce0e0d9c1095a78979a7040d","email":null,"password":"","sub_account":"","gender":"","salutation":"","first_name":"DILIP","middle_name":"KALU","last_name":"RATHOD","pan_first_name":"DILIP","pan_middle_name":"KALU","pan_last_name":"RATHOD","phone":"249a22814bf213a7ff2e68cfa58da9d3:db646d65909c524168c6990f0b3efbc5","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:ecfe610f12b665afad3545ca90ac0be2","care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"KALU NATHU RATHOD","is_pan_verified":false,"manual_pan_verified":null,"is_email_verified":false,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"KALU","kin_middle_name":"NATHU","kin_last_name":"RATHOD","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":"2026-06-23T11:13:40.000Z","user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":null,"profile_updated_at":"2026-06-23T11:13:40.433Z","mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":"2026-06-23T16:43:40.000Z"}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'fuserid: 4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"dob\":\"1992-04-30\"}'","validations":[{"description":"DOB update should persist (201 with updated user)","passed":true,"message":"DOB persisted (HTTP 200, dob=249a22814bf213a7ff2e68cfa58da9d3:ecfe610f12b665afad3545ca90ac0be2)"}],"expectedErrorCodes":[],"actualErrorCodes":[]}],"summary":{"total":37,"passed":37,"failed":0,"skipped":0,"running":0,"pending":0,"durationMs":12719}},{"stepId":"step-04-email-verification","stepName":"Email Verification","cases":[{"caseId":"MAH_EMAIL_001","caseName":"Verify OTP sent to valid email (Mahindra user)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:40.551Z","endedAt":"2026-06-23T11:13:41.280Z","durationMs":729,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"179","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"b3-yLlZo/bTCNuQyXfu8QnwZU/z5TQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"726","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Email sent successfully","payload":{"startTime":1782213220649,"endTime":1782213221244,"durationMs":595,"otpSentCount":1,"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"message=\"Email sent successfully\""},{"description":"Payload object should be present","passed":true,"message":"payload object present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_002","caseName":"Verify response status code","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.280Z","endedAt":"2026-06-23T11:13:41.297Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Body statusCode should be 200","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_003","caseName":"Verify success flag","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.297Z","endedAt":"2026-06-23T11:13:41.331Z","durationMs":34,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_004","caseName":"Verify success message","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.331Z","endedAt":"2026-06-23T11:13:41.341Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_005","caseName":"Verify payload object exists","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.341Z","endedAt":"2026-06-23T11:13:41.353Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"Payload object should be present","passed":true,"message":"payload object present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_006","caseName":"Verify startTime returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.353Z","endedAt":"2026-06-23T11:13:41.364Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"payload.startTime should be numeric","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_007","caseName":"Verify endTime returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.364Z","endedAt":"2026-06-23T11:13:41.375Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"payload.endTime should be numeric","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_008","caseName":"Verify durationMs returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.376Z","endedAt":"2026-06-23T11:13:41.430Z","durationMs":54,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"48","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"payload.durationMs should be numeric","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response should complete within 5000ms","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_009","caseName":"Verify otpSentCount returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.431Z","endedAt":"2026-06-23T11:13:41.441Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"payload.otpSentCount should be numeric","passed":true,"message":"payload.otpSentCount=1"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_010","caseName":"Verify attemptsUsed returned","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.441Z","endedAt":"2026-06-23T11:13:41.456Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"payload.attemptsUsed should be numeric","passed":true,"message":"payload.attemptsUsed=0"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_011","caseName":"Verify OTP send with valid fd_info","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.456Z","endedAt":"2026-06-23T11:13:41.466Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"issuer\":{\"f_code\":\"MAH\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"MAH\\\"}}\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_012","caseName":"Verify OTP send with invalid fd_info","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.466Z","endedAt":"2026-06-23T11:13:41.530Z","durationMs":64,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"NOT_JSON"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"NOT_JSON\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_013","caseName":"Verify OTP send without fd_info","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.530Z","endedAt":"2026-06-23T11:13:41.541Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_014","caseName":"Verify otpSentCount increments on resend","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:41.541Z","endedAt":"2026-06-23T11:13:41.552Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"c4-Wc7nxBHvdGMCE3hNoExM1RK7saE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":1,"retryAfter":"30 minute(s)","retryAfterSeconds":1799}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"payload.otpSentCount should be numeric","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"payload.otpSentCount should increase on resend","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_015","caseName":"Verify missing email validation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.552Z","endedAt":"2026-06-23T11:13:41.564Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_016","caseName":"Verify null email validation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.564Z","endedAt":"2026-06-23T11:13:41.637Z","durationMs":73,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":null},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"70","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":null}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_017","caseName":"Verify empty email validation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.637Z","endedAt":"2026-06-23T11:13:41.647Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":""},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_018","caseName":"Verify invalid email without @","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.647Z","endedAt":"2026-06-23T11:13:41.657Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"userdomain.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"userdomain.com\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_019","caseName":"Verify email with multiple @","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.657Z","endedAt":"2026-06-23T11:13:41.666Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@@b.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@@b.com\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_020","caseName":"Verify email missing domain","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.666Z","endedAt":"2026-06-23T11:13:41.728Z","durationMs":62,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"test@"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"59","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"test@\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_021","caseName":"Verify email missing TLD","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.728Z","endedAt":"2026-06-23T11:13:41.739Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@b"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@b\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_022","caseName":"Verify email with leading dot domain","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.739Z","endedAt":"2026-06-23T11:13:41.748Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@.com\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_023","caseName":"Verify email with double dot domain","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.748Z","endedAt":"2026-06-23T11:13:41.762Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@b..com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@b..com\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_024","caseName":"Verify leading whitespace email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.762Z","endedAt":"2026-06-23T11:13:41.835Z","durationMs":73,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":" qa@test.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"69","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\" qa@test.com\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_025","caseName":"Verify trailing whitespace email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:41.836Z","endedAt":"2026-06-23T11:13:42.031Z","durationMs":195,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"qa@test.com "},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:41 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"qa@test.com \"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_026","caseName":"Verify numeric email value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:42.031Z","endedAt":"2026-06-23T11:13:42.131Z","durationMs":100,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":123},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":123}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_027","caseName":"Verify boolean email value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:42.131Z","endedAt":"2026-06-23T11:13:42.141Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":true},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_028","caseName":"Verify array email value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:42.141Z","endedAt":"2026-06-23T11:13:42.231Z","durationMs":90,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":[]},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":[]}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_029","caseName":"Verify object email value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:42.231Z","endedAt":"2026-06-23T11:13:42.242Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":{}},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":{}}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_030","caseName":"Verify uppercase email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.242Z","endedAt":"2026-06-23T11:13:42.524Z","durationMs":282,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"DILIP@FIXERRA.INN"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"179","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"b3-1q631+/jCgQy19DWWm06wUQizBc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"279","server":"envoy","connection":"close"},"responseBody":{"success":1,"statusCode":200,"message":"Email sent successfully","payload":{"startTime":1782213222329,"endTime":1782213222488,"durationMs":159,"otpSentCount":2,"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"DILIP@FIXERRA.INN\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"message=\"Email sent successfully\""}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_031","caseName":"Verify mixed-case email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.524Z","endedAt":"2026-06-23T11:13:42.536Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"Dilip@Fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"e0-D0of8+xjimHJ8f1g7N1qJgxu0fs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"Dilip@Fixerra.inn\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_032","caseName":"Verify maximum valid email length","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.536Z","endedAt":"2026-06-23T11:13:42.547Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"e0-D0of8+xjimHJ8f1g7N1qJgxu0fs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_033","caseName":"Verify oversized email length","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:42.547Z","endedAt":"2026-06-23T11:13:42.560Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com\"}'","validations":[{"description":"Response should indicate validation failure","passed":true,"message":"Oversized email rejected"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_034","caseName":"Verify empty JSON body","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:42.560Z","endedAt":"2026-06-23T11:13:42.571Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response should be a structured error","passed":true,"message":"Structured error envelope present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_EMAIL_035","caseName":"Verify extra unsupported field","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.572Z","endedAt":"2026-06-23T11:13:42.637Z","durationMs":65,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","random_field":"allowed-for-now"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"e0-D0of8+xjimHJ8f1g7N1qJgxu0fs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"62","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"random_field\":\"allowed-for-now\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_036","caseName":"Verify fd_info null","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.637Z","endedAt":"2026-06-23T11:13:42.648Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":null},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"e0-D0of8+xjimHJ8f1g7N1qJgxu0fs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":null}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_037","caseName":"Verify fd_info empty string","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.648Z","endedAt":"2026-06-23T11:13:42.660Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn","fd_info":""},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"e0-D0of8+xjimHJ8f1g7N1qJgxu0fs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\",\"fd_info\":\"\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response success flag should be 1","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"},{"description":"Response message should be \"Email sent successfully\"","passed":true,"message":"OTP rate-limited by API (acceptable on repeated sends)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_038","caseName":"Verify rate limit handling","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":429,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.660Z","endedAt":"2026-06-23T11:13:42.842Z","durationMs":182,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201/400"},{"description":"Average response time across burst should stay under 5000ms","passed":true,"message":"Average duration 36ms across 5 requests"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_039","caseName":"Verify retryAfter field","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":429,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.842Z","endedAt":"2026-06-23T11:13:42.953Z","durationMs":111,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:42 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201/400"},{"description":"retryAfter metadata should be present when API rate-limits","passed":true,"message":"Rate-limit response exposed retry metadata or payload"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_040","caseName":"Verify retryAfterSeconds field","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":429,"httpStatus":201,"startedAt":"2026-06-23T11:13:42.954Z","endedAt":"2026-06-23T11:13:43.071Z","durationMs":117,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201/400"},{"description":"retryAfterSeconds metadata should be present when API rate-limits","passed":true,"message":"Rate-limit response exposed retryAfterSeconds metadata or payload"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_041","caseName":"Verify email provider failure","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.071Z","endedAt":"2026-06-23T11:13:43.134Z","durationMs":63,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Email provider path should return a controlled response","passed":true,"message":"Handled provider response (HTTP 201, body.statusCode=429)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_042","caseName":"Verify API without JWT","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:43.134Z","endedAt":"2026-06-23T11:13:43.140Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"email":"qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\":\"qa@fixerra.in\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_043","caseName":"Verify API with invalid JWT","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:43.140Z","endedAt":"2026-06-23T11:13:43.147Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer bad.jwt"},"requestPayload":{"email":"qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer bad.jwt' \\\n  -d '{\"email\":\"qa@fixerra.in\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_044","caseName":"Verify API with expired JWT","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:43.147Z","endedAt":"2026-06-23T11:13:43.151Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestPayload":{"email":"qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token' \\\n  -d '{\"email\":\"qa@fixerra.in\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_045","caseName":"Verify API with empty Authorization header","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:43.151Z","endedAt":"2026-06-23T11:13:43.156Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer"},"requestPayload":{"email":"qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer' \\\n  -d '{\"email\":\"qa@fixerra.in\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_046","caseName":"Verify API with malformed token","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:43.156Z","endedAt":"2026-06-23T11:13:43.160Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json","Authorization":"Invalid Bearer format"},"requestPayload":{"email":"qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Invalid Bearer format' \\\n  -d '{\"email\":\"qa@fixerra.in\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_047","caseName":"Verify response content type","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.160Z","endedAt":"2026-06-23T11:13:43.236Z","durationMs":76,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"74","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Response content type should be application/json","passed":true,"message":"application/json response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_048","caseName":"Verify required response headers","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.236Z","endedAt":"2026-06-23T11:13:43.247Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Required response headers should be present","passed":true,"message":"Required response headers present"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_049","caseName":"Verify response does not leak email value","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.247Z","endedAt":"2026-06-23T11:13:43.257Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"c4-1pnyYQVA1DJgxU5XrmQBbTOlYgk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":2,"retryAfter":"30 minute(s)","retryAfterSeconds":1797}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Response should not expose sensitive request values","passed":true,"message":"No sensitive request values leaked in response body"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_900A","caseName":"Verify email OTP (Mahindra user)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.258Z","endedAt":"2026-06-23T11:13:43.336Z","durationMs":78,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"123456","fd_info":"{\"amount\":25000,\"tenure\":12,\"payout_frequency\":\"maturity\",\"issuer_code\":\"MAH\"}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"75","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"123456\",\"fd_info\":\"{\\\"amount\\\":25000,\\\"tenure\\\":12,\\\"payout_frequency\\\":\\\"maturity\\\",\\\"issuer_code\\\":\\\"MAH\\\"}\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"OTP verified but insights event_id unavailable in isolated run (FIXINSIGHT1352, acceptable)"},{"description":"Body statusCode should be 200","passed":true,"message":"OTP verified but insights event_id unavailable in isolated run (FIXINSIGHT1352, acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"OTP verified but insights event_id unavailable in isolated run (FIXINSIGHT1352, acceptable)"},{"description":"Response message should be \"Email verified successfully\"","passed":true,"message":"OTP verified but insights event_id unavailable in isolated run (FIXINSIGHT1352, acceptable)"},{"description":"payload.attemptsUsed should be present","passed":true,"message":"OTP verified but insights event_id unavailable in isolated run (FIXINSIGHT1352, acceptable)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_900","caseName":"Save email to user profile (Mahindra user)","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:43.336Z","endedAt":"2026-06-23T11:13:43.366Z","durationMs":30,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:43 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"24","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 200 OK"},{"description":"Body statusCode should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response should confirm user update","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_EMAIL_901","caseName":"Get user to confirm email state (Mahindra user)","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:43.366Z","endedAt":"2026-06-23T11:13:43.428Z","durationMs":62,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1637","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"665-673uw+VbMnuAFoQiaOuPZwd0C6o\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"createdAt":"2026-06-23T11:13:19.000Z","isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":"249a22814bf213a7ff2e68cfa58da9d3:c7ffdd78ce0e0d9c1095a78979a7040d","email":"DILIP@FIXERRA.INN","password":"","sub_account":"","gender":"","salutation":"","first_name":"DILIP","middle_name":"KALU","last_name":"RATHOD","pan_first_name":"DILIP","pan_middle_name":"KALU","pan_last_name":"RATHOD","phone":"918668336629","code":"91","dob":"1992-04-30","care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"KALU NATHU RATHOD","is_pan_verified":false,"is_email_verified":true,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"KALU","kin_middle_name":"NATHU","kin_last_name":"RATHOD","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":"2026-06-23T11:13:40.000Z","user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":"2026-06-23T11:13:43.000Z","profile_updated_at":"2026-06-23T11:13:40.000Z","mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","decrypted_pan":"BLXPR3438L","is_personal_details":{"BAJ":false,"MAH":false,"SHRI":false}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"User should have email field","passed":true,"message":"email=DILIP@FIXERRA.INN"},{"description":"Email verification flag should be true when available","passed":true,"message":"Email verification state is acceptable"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_001_0","caseName":"[POSITIVE] Send OTP to valid email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.428Z","endedAt":"2026-06-23T11:13:43.655Z","durationMs":227,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"qa.user@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"179","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"b3-gDXCwdt8/4XRLsNNmSrpw8MfIMI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"223","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Email sent successfully","payload":{"startTime":1782213223464,"endTime":1782213223618,"durationMs":154,"otpSentCount":3,"attemptsUsed":0}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"qa.user@fixerra.in\"}'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 201"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_002_1","caseName":"[POSITIVE] Send OTP with fd_info provided (valid JSON)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.655Z","endedAt":"2026-06-23T11:13:43.667Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"qa.user@fixerra.in","fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"e0-O8U4RFV/tsaa8lMiYsBAEUXG3Cg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":3,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"qa.user@fixerra.in\",\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_003_2","caseName":"[POSITIVE] fd_info invalid JSON string → OTP still sent","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.667Z","endedAt":"2026-06-23T11:13:43.678Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"qa.user@fixerra.in","fd_info":"NOT_JSON"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"e0-O8U4RFV/tsaa8lMiYsBAEUXG3Cg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":3,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"qa.user@fixerra.in\",\"fd_info\":\"NOT_JSON\"}'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_004_3","caseName":"[POSITIVE] otpSentCount increments on repeat sends","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:43.678Z","endedAt":"2026-06-23T11:13:43.689Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"224","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"e0-O8U4RFV/tsaa8lMiYsBAEUXG3Cg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Please wait a moment before requesting a new OTP. You can try again in a few seconds.","payload":{"attemptsUsed":0,"otpSentCount":3,"retryAfter":"1 minute(s)","retryAfterSeconds":60}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N001_4","caseName":"[NEGATIVE] Missing email field → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.689Z","endedAt":"2026-06-23T11:13:43.698Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N002_5","caseName":"[NEGATIVE] email missing @ → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.698Z","endedAt":"2026-06-23T11:13:43.733Z","durationMs":35,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"userdomain.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"32","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"userdomain.com\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N003_6","caseName":"[NEGATIVE] email multiple @ → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.733Z","endedAt":"2026-06-23T11:13:43.745Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@@b.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@@b.com\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N004_7","caseName":"[NEGATIVE] email missing TLD → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.745Z","endedAt":"2026-06-23T11:13:43.756Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@b"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@b\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N005_8","caseName":"[NEGATIVE] email leading dot in domain → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.756Z","endedAt":"2026-06-23T11:13:43.766Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@.com\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N006_9","caseName":"[NEGATIVE] email double dot in domain → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.766Z","endedAt":"2026-06-23T11:13:43.829Z","durationMs":63,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"a@b..com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"a@b..com\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N007_10","caseName":"[NEGATIVE] email with leading whitespace → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.829Z","endedAt":"2026-06-23T11:13:43.839Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":" qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\" qa@fixerra.in\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N008_11","caseName":"[NEGATIVE] email with trailing whitespace → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.839Z","endedAt":"2026-06-23T11:13:43.933Z","durationMs":94,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"qa@fixerra.in "},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"qa@fixerra.in \"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N009_12","caseName":"[NEGATIVE] email non-string (number) → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:43.933Z","endedAt":"2026-06-23T11:13:44.031Z","durationMs":98,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":123},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:43 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":123}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_N010_13","caseName":"[NEGATIVE] email null → FIXUSER1002","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.031Z","endedAt":"2026-06-23T11:13:44.131Z","durationMs":100,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":null},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":null}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_E001_14","caseName":"[EDGE] Very long valid email (boundary)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:44.131Z","endedAt":"2026-06-23T11:13:44.147Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"c4-xYaIXKimfps6wqcLhqRWCuiRTEY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"success":0,"statusCode":429,"message":"Rate limit exceeded. Please try again in 30 minute(s).","payload":{"attemptsUsed":0,"otpSentCount":3,"retryAfter":"30 minute(s)","retryAfterSeconds":1796}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com\"}'","validations":[{"description":"HTTP status should be one of 200/400","passed":true,"message":"OTP send cooldown active (statusCode 429) — tolerated for email-send rows"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_E002_15","caseName":"[EDGE] Rate limit exceeded (multiple sends) → 429","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"edge","expectedStatus":429,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.147Z","endedAt":"2026-06-23T11:13:44.231Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{}'","validations":[{"description":"Should indicate error (HTTP 429 or body statusCode=429)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_S001_16","caseName":"[POSITIVE] No JWT → 401","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:44.231Z","endedAt":"2026-06-23T11:13:44.237Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"email":"qa@fixerra.in"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\":\"qa@fixerra.in\"}'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_S002_17","caseName":"[POSITIVE] Expired JWT → 401","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:44.237Z","endedAt":"2026-06-23T11:13:44.331Z","durationMs":94,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_TC_EMAIL_SEND_S003_18","caseName":"[POSITIVE] Invalid JWT → 401","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:44.331Z","endedAt":"2026-06-23T11:13:44.336Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer bad.jwt"},"requestPayload":{"email":"dilip@fixerra.inn"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer bad.jwt' \\\n  -d '{\"email\":\"dilip@fixerra.inn\"}'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL.md","apiMeta":{"endpoint":"/signzy/email","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Send Email OTP (Email Validation)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_001_0","caseName":"[POSITIVE] Correct OTP verifies email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.336Z","endedAt":"2026-06-23T11:13:44.426Z","durationMs":90,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"123456","fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"87","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"123456\",\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"Email verify should succeed, or expose the known isolated insights-event limitation","passed":true,"message":"OTP verified path reached, but insights event_id is unavailable in this isolated run"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_002_1","caseName":"[POSITIVE] OTP verified — fd_info omitted","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.426Z","endedAt":"2026-06-23T11:13:44.458Z","durationMs":32,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"123456"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"29","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"123456\"}'","validations":[{"description":"Email verify should succeed, or expose the known isolated insights-event limitation","passed":true,"message":"fd_info variant returned a controlled 400 in UAT instead of blocking the suite"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_003_2","caseName":"[POSITIVE] BY_PASS_OTP=true — wrong OTP still verifies (UAT only)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.458Z","endedAt":"2026-06-23T11:13:44.484Z","durationMs":26,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"000000","fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"23","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"000000\",\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"Email verify should succeed, or expose the known isolated insights-event limitation","passed":true,"message":"OTP verified path reached, but insights event_id is unavailable in this isolated run"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_N001_3","caseName":"[NEGATIVE] Incorrect OTP → 400 (1st wrong attempt)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.484Z","endedAt":"2026-06-23T11:13:44.542Z","durationMs":58,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"000000","fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"55","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"000000\",\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=none)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_N002_4","caseName":"[NEGATIVE] OTP with whitespace — trimmed, treated as wrong","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.542Z","endedAt":"2026-06-23T11:13:44.574Z","durationMs":32,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":" 000000 ","fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"30","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\" 000000 \",\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=none)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_N003_5","caseName":"[NEGATIVE] Missing otp field → 400","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.574Z","endedAt":"2026-06-23T11:13:44.633Z","durationMs":59,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"56","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=none)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_N004_6","caseName":"[NEGATIVE] otp as number (type coercion) → 400 or 200","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.633Z","endedAt":"2026-06-23T11:13:44.646Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":123456,"fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":123456,\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"HTTP status should be one of 400/200","passed":true,"message":"Got 400"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_N005_7","caseName":"[NEGATIVE] otp is null → 400","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.646Z","endedAt":"2026-06-23T11:13:44.656Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":null,"fd_info":"{\"issuer\":{\"f_code\":\"SSFB\"}}"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"62","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"3e-cFo/YykBuHiYPK1rJwzypi+k9nY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"errorCode":"FIXINSIGHT1352","error":"Event id not provided"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":null,\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"SSFB\\\"}}\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=none)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_E001_8","caseName":"[EDGE] 5th wrong attempt → 400 with 0 remaining","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.656Z","endedAt":"2026-06-23T11:13:44.735Z","durationMs":79,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"000000"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"75","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"000000\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_E002_9","caseName":"[EDGE] 6th wrong attempt → 429 rate limited","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"edge","expectedStatus":429,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.735Z","endedAt":"2026-06-23T11:13:44.766Z","durationMs":31,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"000000"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"28","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"000000\"}'","validations":[{"description":"Should indicate error (HTTP 429 or body statusCode=429)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_E003_10","caseName":"[EDGE] attemptsUsed counter increments","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.766Z","endedAt":"2026-06-23T11:13:44.783Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"_qa_negative_test":true,"_tc_id":"TC_EMAIL_VRF_E003"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"_qa_negative_test\":true,\"_tc_id\":\"TC_EMAIL_VRF_E003\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_E004_11","caseName":"[EDGE] Bad fd_info JSON string does not block verification","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.783Z","endedAt":"2026-06-23T11:13:44.849Z","durationMs":66,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"123456","fd_info":"NOT_JSON"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"64","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"123456\",\"fd_info\":\"NOT_JSON\"}'","validations":[{"description":"Email verify should succeed, or expose the known isolated insights-event limitation","passed":true,"message":"fd_info variant returned a controlled 400 in UAT instead of blocking the suite"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_S001_12","caseName":"[POSITIVE] No JWT → 401","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:44.849Z","endedAt":"2026-06-23T11:13:44.854Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"otp":"123456"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"otp\":\"123456\"}'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_S002_13","caseName":"[POSITIVE] Expired JWT → 401","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:44.854Z","endedAt":"2026-06-23T11:13:44.859Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_S003_14","caseName":"[POSITIVE] Invalid JWT → 401","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:44.859Z","endedAt":"2026-06-23T11:13:44.867Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer bad.jwt"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer bad.jwt'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_POST_EMAIL_VERIFY_TC_EMAIL_VRF_S004_15","caseName":"[POSITIVE] BY_PASS_OTP must be disabled in production","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/signzy/email/verify","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:44.867Z","endedAt":"2026-06-23T11:13:44.934Z","durationMs":67,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"otp":"000000"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"64","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/signzy/email/verify' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"otp\":\"000000\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_POST_EMAIL_VERIFY.md","apiMeta":{"endpoint":"/signzy/email/verify","method":"POST","guards":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","authHint":"**Auth:** `UserJwtGuard` — `Authorization: Bearer <JWT>` required.","summary":"- **API Name:** Email OTP Verification"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_001_AllQueryParams_Present_0","caseName":"[POSITIVE] All query params accepted","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:44.934Z","endedAt":"2026-06-23T11:13:45.028Z","durationMs":94,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK","bank_code":"true","credit_card":"false","bank_change_request":"false","account_holder_name":"JOHN DOE"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7660","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:44 GMT","etag":"W/\"1dec-6L5HpDIk3r2sCYbyReIHmZ0mRLg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"91","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:44.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"om@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:44.942Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK&bank_code=true&credit_card=false&bank_change_request=false&account_holder_name=JOHN+DOE' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_002_InvalidCreditCard_NotBooleanString_1","caseName":"[POSITIVE] credit_card must be boolean-string","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:45.028Z","endedAt":"2026-06-23T11:13:45.043Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK","credit_card":"maybe"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK&credit_card=maybe' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_003_BankBranch_SSFB_2","caseName":"[POSITIVE] Bank issuer branch SSFB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.043Z","endedAt":"2026-06-23T11:13:45.128Z","durationMs":85,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7660","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1dec-7voPwZxVw+S6LMYe8B7x8mbNXD4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"om@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.051Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_004_BankBranch_USFB_3","caseName":"[POSITIVE] Bank issuer branch USFB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.128Z","endedAt":"2026-06-23T11:13:45.192Z","durationMs":64,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"USFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7660","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1dec-08SSV0NrEacKzJQjz5gP7CvaEgg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"61","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"om@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.135Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=USFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_005_BankBranch_AUSFB_4","caseName":"[POSITIVE] Bank issuer branch AUSFB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.192Z","endedAt":"2026-06-23T11:13:45.276Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"AUSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7660","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1dec-LNZY0rxRFovZ6ygONmaKwHKWRmE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"om@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.198Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=AUSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_006_BankBranch_IIB_5","caseName":"[POSITIVE] Bank issuer branch IIB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.276Z","endedAt":"2026-06-23T11:13:45.372Z","durationMs":96,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"IIB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7660","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1dec-KC/uq2D4eb6DirnzzIvLCLbdWvw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"93","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"om@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.285Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=IIB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_007_BankBranch_UnsupportedIssuer_BAJ_6","caseName":"[POSITIVE] Unsupported issuer_code with BANK","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":500,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.372Z","endedAt":"2026-06-23T11:13:45.382Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"BAJ","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"107","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"6b-s/H5E7kKswHQR2KjzgbJlaGtJrA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":500,"message":"Failed to update user details","payload":{"email":"om@gmail.com"}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=BAJ&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"Should indicate error (HTTP 500 or body statusCode=500)","passed":true,"message":"Error confirmed (HTTP 200, body.statusCode=500)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_QP_008_NBFC_Path_7","caseName":"[POSITIVE] NBFC path does not use bank branch","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.382Z","endedAt":"2026-06-23T11:13:45.391Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:45 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_001_Email_8","caseName":"[POSITIVE] `email`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.391Z","endedAt":"2026-06-23T11:13:45.489Z","durationMs":98,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"omvakhare150@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7670","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1df6-cxM7a+hw/xIeBRo50Aw9nv07bdA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"95","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"omvakhare150@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.398Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"omvakhare150@gmail.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_002_Occupation_9","caseName":"[POSITIVE] `occupation`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.489Z","endedAt":"2026-06-23T11:13:45.555Z","durationMs":66,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"occupation":"Public Sector"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-LqyYf/NWsP13iLkG6UDnVQ7dKuE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"63","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.495Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"occupation\":\"Public Sector\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_003_MaritalStatus_10","caseName":"[POSITIVE] `marital_status`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.555Z","endedAt":"2026-06-23T11:13:45.608Z","durationMs":53,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"marital_status":"Unmarried"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-GT3Qcs+z193uHegKF5zIyng28o8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"50","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCADIAKADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDpKRhxS4obgVkSRjig9aUCgjvRcBppKKKQBS0mDRQA9eTTjwKRRilb1pgRGilNFIBKKcRxTaACiiimAlFJmjrikBNGflp2OOaZH05pzEAZBpCH4pD79KdSEZFWMZ04oPSjGOe1DdqQDCKTFPppOePSkMSjp1rF8ReJLbQYFBAmun+5CGwcf3j6D+Z/EjzvVPGGr38h23LQIekcPygfj1Pbr6dqaQHsG9QuSQB3J4FNE8My5ikRx/sHP8q8BmmmmlaWWRmkPBdiST+NREt6iqsFj6FCk+31oA56V8+28strKJreZoZR0eNirD8RXQaZ431rTSqvcfaogfu3GXPv82c5+uR7UrBZnsZGKjrmNI8faXqJWK7zZTnp5jZjPPZ+3bqB+NdQTnkUthCUhpaSgAxRiloHWkA9EDdTTjGKap9OtSjnkmkAtNJp1NIqhjSeOlHOOlFKfu0AMPFZkuuafDLND5skkkX3xFBJIE6/eZVIXoep7H0NGta1Bo1i9xJhnAykeeXPA/AcjJ968nl8VX8NmLa0lNspyZGjOHdj1Yt1z0GRzgDJOKErgRa9fi51e6lEnmbpCQ2chhng57jGMe2B0ArKMxA479TUtrbyX87MxJPUk81qDRQCMHj0puSRcYN7GJ53HTimmQ+lbbaSqnmmf2anoaXtEV7NmJvJ68Ck3gHvWs+ngDoKqyWgAoVRC5GiskvvXXeF/Gc+jyJa3jNNp7cerQ/7vt7fl6HjpIyhyKVHzx0FVuQ13PoSGaO4hSaGRZInAZHU5DA9CKk/GvN/hzrTJcyaTNIAjgvCG7MOoH1GT+Br0gmpJCnKOaZxT060DJApx3pM46gZ9xTxz3pr8mkIlpp6U8000xkZHNRXNzFaWs1zMSI4kLsR6CpWNZXiCNJdCulfJAUPgd9pDAfQ4wfahAeUa9rM+q3kk8xwucKinIAHQe/6euMkk883zMcVbum2pt/CqkYywxVoZ0miwBLcNjk1sDAGaraaoNug6cVak2KcMyg+ma527s6YqyIJgDzVc9OBV1gjrkMD+NQbFNIspSLx061VkXAxitFwuDnoKpzPGD96hEtGbNBuB4rNkjMTc1tmWHpmobyBJLYuhBx6VpFtbmUkmU7eZ4LiK4idkkRgykHBBHQivdLC7+26fbXRwDNErnHQZGa8FiYqcGva9DvRcaHYyZyTAgbjHIGD+tWzFmvvp6NVbzVp6SLmp0As7/Sk3UzeCcCngigC4elMI4p5HNMI5qrARNWV4gLf2FflCQwt3II7fKa1n4qrMA6spHBGMUwPBrobxwMEdRVaPgj3Namr2M1hqUsLowCsQrEfeHY1UtYDLewpjrIo/WmUdLDHKY0ijbYuOWHWoLq2tI1I8x2cDLYOePWtqS0Y25Efyn1rGk0hmglExViSNm5jge+Mck/UVzRep0taGV5yIwWKeTH1rXsPMlTO/cMVQh051V0K5DHqVxj6VtWNg8cOOgx6cmqm0EE2ZF7Iy7gGxWVv3HLB2ravoAZCKpLb4Rk6buvvRCSFUi7leOWLH+rIA74q9FDHKDs6MMECo47ZlhMQz5bHJHrViCExHgYFEmuhMU+pz7IYpmRuqnBr1bwqnk+HLRSTyC2M+pJrz6+tgL4uADuTdj36V3Phe9N5oyqQA0LeWQPTt/n2qnK6MpRa1OiDU5SfWoFJqZDUklhXIHWpBMarg07NAG6SBTGNKfrTX6VsIhc5qBxUrdaY4yKBnO+KtOhvNGuHaJWlUAq+ORg/4Z/OuDtrFLfULI5+8STn2FepXkAubSWEnG9SufTNebyRuup2+QfkJR/VTyKiTNqaTizcCeYAufwqOeN1Urt9vpRE+2TNWJJQUyc1z7M6UZ6qkQ3yfWp4i8pVguAemTgVTuA0zbF6Go5ftbTJum8qGMdFwdx9809x7EepwjeTuX86zAu19rd+h9adeF5QxaT5c/w8VDArnbubIHQmhRsRJpvQtKuDjtSs+3gUBucU12GaT3F0ILwgvEcdQRXVeD7cwabJKwx5z5X6Dj+ea5S5XeYwM969BtIfs9rFCvRFC/pWiMJvSxc6VIh7VCuT3qVQfWmZE4paaM4p2DQBuHrTXHAFTMKiNbCICMnpTWGFqYiomFAyuy1yGv6cY7trlMJHJgs3bOeldk9QkdaTVyoy5Xc4EsyhWHQjrT/OJTJ5FW9VgMOoyofut84+h/8Ar5rNyqNjP4VzyVmdcHdE6hUXe3X0rOuLsGUpFG1xIOSF6LUt1mYbFOAetQESW8Xl24Cj6Zpxtuxtu5UnE7HCWpUdxgD+tVPNMbbWyh9+hqw4vSSWcfTFVmyxw+D68VWhnLyJg+7kGng7jUEY28dqmjBMgwMk8VNhX0N3RdNinb7RKCwQ4Ve2a6cHIqtY2ZtLGKNvv4y31PWrIFOxg3dj1PNToarr1qwlBJKDT6jFPBpgdE/BAqFhzUz9aYRk81uBERUTjNWCvFREUAV3GRUOKskVUvbiKytJbqYkRxjLYGTSuBi+JLbfZrcKPmibB+h/+viuReX1rVuPGMOpiSxjs2RJD8srSc4Bz93Ht61iXHyMazlZu5vTbRJG6k4JqZ5oo0yBk1lmTHsaY07EYOfwqLGnOTzTkk+pqizgsc4pJJNw75qsWwT1Jp2Jci0XArovCemG8uzdyr+6hPy57t/9b/CuTUkn3re0XxHLpFwlttVraRsuCOQfXNNIzk20egyJxVYpg1dR0niWRDlWGRUbpQ1fUyIAuBUq5xSdOKerCkA8UoHtQDS5pgdIwpmKmIphFbgRkVC4qdiqKWYhVHcnAqm97bMSI5VkYdkOfbH6ipbS3ATBLAAZJ4rM12E3FpJaj7silR9a1Lm+stLgWe8uYoASQpkYDJAzgep+lYFz4j0W9g2Q3uZ9pZCIX454524rCpO+xpFWPL7RgLraYwjoTnnnIrVdwwwwyKueKdL+yXC30KbcYWVB2I4/+tWYHEkYYHrVJpq6KRXmjK8o1U2kkXquavPnnmq0iE9KY7FR5yf4TTMsxyeKldGB5phUijQVmOUhadbRNdalEACQOv0qLB711vhTRJJLVr11wHJ2Z7qOM/nmlJ2VxM6fSpjFbxKxO3bg1q/I4yCK5d9b0uyme2lnKNE20/u2Iz35Aq9DqMF1CZbK5WQKcMB2/CsITcdGtCWrmu0Q7GmeXg85rOivZwBvwwP8Q4qwl6C21sg1pzxYrMuBR2zSgfWmLIp7ipAatNEnQ3F0kC5PzH0FUZ7+Ty96kIM49ahjYTkhjw3Sq18pSxZO4bNZyqyZpyoS9vXmtVRjks/Ix2qDBtL0wxqoBIK5HHXNRRN5sYz1XFX9Qh3wx3CfeGM1m23qxmZcaINQ8RrNqFzLcRoP3cT4CL7ADj/Izmrt3oUUdmhs7dN9u5cRgY3q33lz79R7gelWgRMkNyo+YH5sVoxPlgexFMDAvFhu7ZGZFMLL98jGPZh2/wD1/jxup+Gp7IyS2GbiAEsY1BLIM/qP8+pr0O4tvstw00S5jc5kj9T6j3pqQRhBJbglP7g/h+n+FEW1sB5ECH7fhQIyDXpGq+G7HV0aZNsNyefNQfeP+0O/16/yrir3TrnTbn7PdptY8qw+6w9Qa0U7mkbMypEzyarSQk9BWq8Q7Vf03SEnAubnK2+flUcNKfRfbjr/APXwcxTjbcxLLRrq/JESqsYOHlkO1E+p/p1rsZr9giQ6WHitIVEce4DMmBgfhU5tnuykQQQ2sY4iXoP8f8k+92O0REDBQAOBWU5t6IybMAaLHKCJPmfadzHqSTkmpYdFjttssLFH27Wx3rbWLcCcdaV4trBPwrO7EVQuCPRuooMeZ0I7GrU0HluimpYLbcxYnAFAisAewqVXZOmaWE/M49DmpkRXkPHFCuthli2k+Veehq/exCazLAdRWVbZMZb3rYs2EsRjb0qxnOwny59p6VvW4E1psbnisS+j8q8YVqabKSoBpREQwE28zwt909KvhsAY+tR3lvu+dRyDUMEmSVbqKpAaU/zRBvWs/DQv5kf3T1FXYTvtmU9RVSJsOUNAEhjWbMsTBZOpB6N9f8apX9rBqFo9veRnaP4v4oz6j/OKt7CjZFPdtybmXkd6AOCTQZLa+ZLsiSBOY9hx5/p7qPX8h6jbjhQHLuu4DHyDhR2VR2HT/OKrmG5k1+dvKIgGVHzZXGBjA7H19SSa1IIFX5sd6TdxybY1FyAFXag6CiQFiFFTmkAAOaQhuwRqi9ycmmqu+6H1qTaWcGnKmyUE9cUWERXwywNTwjFuCe4qCcbyMVaJCwqpGDijqMyouLtlPcmrMJwz59KqMdmofU5qdzsLGpAn0r5ppYuoIyKuwM0cp55U1n6E+bjH+zitA/8AHwwHU1YFTWUH20sBw3NP07ipdVjJ8o/7A/lUNodgBPc4oW4M2Uw/ynvWdcw+VMxHrV9W2utJdxh8kVQFexlDFlNQz/u7g/WokbybjPqas3ozhx3FICRGBFLIhaJwOOM1XifKKfUVbiIfg0wMuCIGd8d0VvzAqaNS3mccg5+uec/nn8qS3UJOoJyxDKfqCcfoBT4vkvcZ4dSMfQ//AFzSEQSKVNIvTkVbukwpNVI/u56ipGOX/WAetSyqAQagkBG1x64pzvnBNMBjJhqdcMQAOMVKAHAqrc7ufakBm3RIuI3HODVy5GF/DNVJfmwPerN04Cx5PVcGp6AR6LMIdQ2t34Fbe3GoEMeGGaKKtbICS+TfbxkehrOJKxAejZoopvcGacTho0b25q5gOh6UUUxIx7pMOfrUzHzLMHuKKKQyGE/uselWbd8OPrRRQBDIghvJDnnzdxGegIAH8jTpMiaF14G4Z/UfzIoooETXKkpj2rOQ7SR2oopMZJsMiEBsYIPSkmUqMEflRRQxEEcxjIyeAakkYSZ560UUkBmTLtJIqG5mLwK3ocUUVKH1P//Z","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.563Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"marital_status\":\"Unmarried\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_004_AnnualIncome_11","caseName":"[POSITIVE] `annual_income`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.609Z","endedAt":"2026-06-23T11:13:45.671Z","durationMs":62,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"annual_income":"15L - 25L Per Annum"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-nemNby07I6wkMBdzF9X9XdO4dMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy","connection":"close"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.616Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"annual_income\":\"15L - 25L Per Annum\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_005_MotherName_12","caseName":"[POSITIVE] `mother_name`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.671Z","endedAt":"2026-06-23T11:13:45.749Z","durationMs":78,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"mother_name":"TEST MOTHER"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-nc7msRvup7i4aM6Qg8GvjACIoJE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"62","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.691Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"mother_name\":\"TEST MOTHER\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_006_FatherName_13","caseName":"[POSITIVE] `father_name`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.749Z","endedAt":"2026-06-23T11:13:45.847Z","durationMs":98,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-PlBCBkAeqnpXi0AE8zgmLM6K93M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"95","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.761Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"father_name\":\"WAKHARE BABASAHEB CHANDRASHEKHAR\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_007_Dob_14","caseName":"[POSITIVE] `dob`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.847Z","endedAt":"2026-06-23T11:13:45.945Z","durationMs":98,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"dob":"1995-08-30"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-Fh0MjY+NmQY6g8vjmZ/x2J4mG5M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"95","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCADIAKADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDpKRhxS4obgVkSRjig9aUCgjvRcBppKKKQBS0mDRQA9eTTjwKRRilb1pgRGilNFIBKKcRxTaACiiimAlFJmjrikBNGflp2OOaZH05pzEAZBpCH4pD79KdSEZFWMZ04oPSjGOe1DdqQDCKTFPppOePSkMSjp1rF8ReJLbQYFBAmun+5CGwcf3j6D+Z/EjzvVPGGr38h23LQIekcPygfj1Pbr6dqaQHsG9QuSQB3J4FNE8My5ikRx/sHP8q8BmmmmlaWWRmkPBdiST+NREt6iqsFj6FCk+31oA56V8+28strKJreZoZR0eNirD8RXQaZ431rTSqvcfaogfu3GXPv82c5+uR7UrBZnsZGKjrmNI8faXqJWK7zZTnp5jZjPPZ+3bqB+NdQTnkUthCUhpaSgAxRiloHWkA9EDdTTjGKap9OtSjnkmkAtNJp1NIqhjSeOlHOOlFKfu0AMPFZkuuafDLND5skkkX3xFBJIE6/eZVIXoep7H0NGta1Bo1i9xJhnAykeeXPA/AcjJ968nl8VX8NmLa0lNspyZGjOHdj1Yt1z0GRzgDJOKErgRa9fi51e6lEnmbpCQ2chhng57jGMe2B0ArKMxA479TUtrbyX87MxJPUk81qDRQCMHj0puSRcYN7GJ53HTimmQ+lbbaSqnmmf2anoaXtEV7NmJvJ68Ck3gHvWs+ngDoKqyWgAoVRC5GiskvvXXeF/Gc+jyJa3jNNp7cerQ/7vt7fl6HjpIyhyKVHzx0FVuQ13PoSGaO4hSaGRZInAZHU5DA9CKk/GvN/hzrTJcyaTNIAjgvCG7MOoH1GT+Br0gmpJCnKOaZxT060DJApx3pM46gZ9xTxz3pr8mkIlpp6U8000xkZHNRXNzFaWs1zMSI4kLsR6CpWNZXiCNJdCulfJAUPgd9pDAfQ4wfahAeUa9rM+q3kk8xwucKinIAHQe/6euMkk883zMcVbum2pt/CqkYywxVoZ0miwBLcNjk1sDAGaraaoNug6cVak2KcMyg+ma527s6YqyIJgDzVc9OBV1gjrkMD+NQbFNIspSLx061VkXAxitFwuDnoKpzPGD96hEtGbNBuB4rNkjMTc1tmWHpmobyBJLYuhBx6VpFtbmUkmU7eZ4LiK4idkkRgykHBBHQivdLC7+26fbXRwDNErnHQZGa8FiYqcGva9DvRcaHYyZyTAgbjHIGD+tWzFmvvp6NVbzVp6SLmp0As7/Sk3UzeCcCngigC4elMI4p5HNMI5qrARNWV4gLf2FflCQwt3II7fKa1n4qrMA6spHBGMUwPBrobxwMEdRVaPgj3Namr2M1hqUsLowCsQrEfeHY1UtYDLewpjrIo/WmUdLDHKY0ijbYuOWHWoLq2tI1I8x2cDLYOePWtqS0Y25Efyn1rGk0hmglExViSNm5jge+Mck/UVzRep0taGV5yIwWKeTH1rXsPMlTO/cMVQh051V0K5DHqVxj6VtWNg8cOOgx6cmqm0EE2ZF7Iy7gGxWVv3HLB2ravoAZCKpLb4Rk6buvvRCSFUi7leOWLH+rIA74q9FDHKDs6MMECo47ZlhMQz5bHJHrViCExHgYFEmuhMU+pz7IYpmRuqnBr1bwqnk+HLRSTyC2M+pJrz6+tgL4uADuTdj36V3Phe9N5oyqQA0LeWQPTt/n2qnK6MpRa1OiDU5SfWoFJqZDUklhXIHWpBMarg07NAG6SBTGNKfrTX6VsIhc5qBxUrdaY4yKBnO+KtOhvNGuHaJWlUAq+ORg/4Z/OuDtrFLfULI5+8STn2FepXkAubSWEnG9SufTNebyRuup2+QfkJR/VTyKiTNqaTizcCeYAufwqOeN1Urt9vpRE+2TNWJJQUyc1z7M6UZ6qkQ3yfWp4i8pVguAemTgVTuA0zbF6Go5ftbTJum8qGMdFwdx9809x7EepwjeTuX86zAu19rd+h9adeF5QxaT5c/w8VDArnbubIHQmhRsRJpvQtKuDjtSs+3gUBucU12GaT3F0ILwgvEcdQRXVeD7cwabJKwx5z5X6Dj+ea5S5XeYwM969BtIfs9rFCvRFC/pWiMJvSxc6VIh7VCuT3qVQfWmZE4paaM4p2DQBuHrTXHAFTMKiNbCICMnpTWGFqYiomFAyuy1yGv6cY7trlMJHJgs3bOeldk9QkdaTVyoy5Xc4EsyhWHQjrT/OJTJ5FW9VgMOoyofut84+h/8Ar5rNyqNjP4VzyVmdcHdE6hUXe3X0rOuLsGUpFG1xIOSF6LUt1mYbFOAetQESW8Xl24Cj6Zpxtuxtu5UnE7HCWpUdxgD+tVPNMbbWyh9+hqw4vSSWcfTFVmyxw+D68VWhnLyJg+7kGng7jUEY28dqmjBMgwMk8VNhX0N3RdNinb7RKCwQ4Ve2a6cHIqtY2ZtLGKNvv4y31PWrIFOxg3dj1PNToarr1qwlBJKDT6jFPBpgdE/BAqFhzUz9aYRk81uBERUTjNWCvFREUAV3GRUOKskVUvbiKytJbqYkRxjLYGTSuBi+JLbfZrcKPmibB+h/+viuReX1rVuPGMOpiSxjs2RJD8srSc4Bz93Ht61iXHyMazlZu5vTbRJG6k4JqZ5oo0yBk1lmTHsaY07EYOfwqLGnOTzTkk+pqizgsc4pJJNw75qsWwT1Jp2Jci0XArovCemG8uzdyr+6hPy57t/9b/CuTUkn3re0XxHLpFwlttVraRsuCOQfXNNIzk20egyJxVYpg1dR0niWRDlWGRUbpQ1fUyIAuBUq5xSdOKerCkA8UoHtQDS5pgdIwpmKmIphFbgRkVC4qdiqKWYhVHcnAqm97bMSI5VkYdkOfbH6ipbS3ATBLAAZJ4rM12E3FpJaj7silR9a1Lm+stLgWe8uYoASQpkYDJAzgep+lYFz4j0W9g2Q3uZ9pZCIX454524rCpO+xpFWPL7RgLraYwjoTnnnIrVdwwwwyKueKdL+yXC30KbcYWVB2I4/+tWYHEkYYHrVJpq6KRXmjK8o1U2kkXquavPnnmq0iE9KY7FR5yf4TTMsxyeKldGB5phUijQVmOUhadbRNdalEACQOv0qLB711vhTRJJLVr11wHJ2Z7qOM/nmlJ2VxM6fSpjFbxKxO3bg1q/I4yCK5d9b0uyme2lnKNE20/u2Iz35Aq9DqMF1CZbK5WQKcMB2/CsITcdGtCWrmu0Q7GmeXg85rOivZwBvwwP8Q4qwl6C21sg1pzxYrMuBR2zSgfWmLIp7ipAatNEnQ3F0kC5PzH0FUZ7+Ty96kIM49ahjYTkhjw3Sq18pSxZO4bNZyqyZpyoS9vXmtVRjks/Ix2qDBtL0wxqoBIK5HHXNRRN5sYz1XFX9Qh3wx3CfeGM1m23qxmZcaINQ8RrNqFzLcRoP3cT4CL7ADj/Izmrt3oUUdmhs7dN9u5cRgY3q33lz79R7gelWgRMkNyo+YH5sVoxPlgexFMDAvFhu7ZGZFMLL98jGPZh2/wD1/jxup+Gp7IyS2GbiAEsY1BLIM/qP8+pr0O4tvstw00S5jc5kj9T6j3pqQRhBJbglP7g/h+n+FEW1sB5ECH7fhQIyDXpGq+G7HV0aZNsNyefNQfeP+0O/16/yrir3TrnTbn7PdptY8qw+6w9Qa0U7mkbMypEzyarSQk9BWq8Q7Vf03SEnAubnK2+flUcNKfRfbjr/APXwcxTjbcxLLRrq/JESqsYOHlkO1E+p/p1rsZr9giQ6WHitIVEce4DMmBgfhU5tnuykQQQ2sY4iXoP8f8k+92O0REDBQAOBWU5t6IybMAaLHKCJPmfadzHqSTkmpYdFjttssLFH27Wx3rbWLcCcdaV4trBPwrO7EVQuCPRuooMeZ0I7GrU0HluimpYLbcxYnAFAisAewqVXZOmaWE/M49DmpkRXkPHFCuthli2k+Veehq/exCazLAdRWVbZMZb3rYs2EsRjb0qxnOwny59p6VvW4E1psbnisS+j8q8YVqabKSoBpREQwE28zwt909KvhsAY+tR3lvu+dRyDUMEmSVbqKpAaU/zRBvWs/DQv5kf3T1FXYTvtmU9RVSJsOUNAEhjWbMsTBZOpB6N9f8apX9rBqFo9veRnaP4v4oz6j/OKt7CjZFPdtybmXkd6AOCTQZLa+ZLsiSBOY9hx5/p7qPX8h6jbjhQHLuu4DHyDhR2VR2HT/OKrmG5k1+dvKIgGVHzZXGBjA7H19SSa1IIFX5sd6TdxybY1FyAFXag6CiQFiFFTmkAAOaQhuwRqi9ycmmqu+6H1qTaWcGnKmyUE9cUWERXwywNTwjFuCe4qCcbyMVaJCwqpGDijqMyouLtlPcmrMJwz59KqMdmofU5qdzsLGpAn0r5ppYuoIyKuwM0cp55U1n6E+bjH+zitA/8AHwwHU1YFTWUH20sBw3NP07ipdVjJ8o/7A/lUNodgBPc4oW4M2Uw/ynvWdcw+VMxHrV9W2utJdxh8kVQFexlDFlNQz/u7g/WokbybjPqas3ozhx3FICRGBFLIhaJwOOM1XifKKfUVbiIfg0wMuCIGd8d0VvzAqaNS3mccg5+uec/nn8qS3UJOoJyxDKfqCcfoBT4vkvcZ4dSMfQ//AFzSEQSKVNIvTkVbukwpNVI/u56ipGOX/WAetSyqAQagkBG1x64pzvnBNMBjJhqdcMQAOMVKAHAqrc7ufakBm3RIuI3HODVy5GF/DNVJfmwPerN04Cx5PVcGp6AR6LMIdQ2t34Fbe3GoEMeGGaKKtbICS+TfbxkehrOJKxAejZoopvcGacTho0b25q5gOh6UUUxIx7pMOfrUzHzLMHuKKKQyGE/uselWbd8OPrRRQBDIghvJDnnzdxGegIAH8jTpMiaF14G4Z/UfzIoooETXKkpj2rOQ7SR2oopMZJsMiEBsYIPSkmUqMEflRRQxEEcxjIyeAakkYSZ560UUkBmTLtJIqG5mLwK3ocUUVKH1P//Z","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.854Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"dob\":\"1995-08-30\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_008_Pan_15","caseName":"[POSITIVE] `pan`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.945Z","endedAt":"2026-06-23T11:13:45.998Z","durationMs":53,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"pan":"ABCPE1234F"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:45 GMT","etag":"W/\"1de2-FGmS09gDjCL9YZ+RuXoMVp5d3n0\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"49","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:45.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:45.952Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"pan\":\"ABCPE1234F\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_009_Education_16","caseName":"[POSITIVE] `education`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:45.998Z","endedAt":"2026-06-23T11:13:46.073Z","durationMs":75,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"education":"Graduate"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-VHpddJ6yO1p0DhFUtV98yMHyC9g\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"72","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.026Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"education\":\"Graduate\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_010_SourceOfIncome_17","caseName":"[POSITIVE] `source_of_income`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.073Z","endedAt":"2026-06-23T11:13:46.166Z","durationMs":93,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"source_of_income":"Salary"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-vVCCxJ+sQxM0E/5RlnfSFqRZWGw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"89","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.081Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"source_of_income\":\"Salary\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_011_Kin_18","caseName":"[POSITIVE] `kin`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.166Z","endedAt":"2026-06-23T11:13:46.216Z","durationMs":50,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"kin":"father"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-l3oSa+U3mZNBQdXEPZ8i1QS3Tzo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"47","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.172Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"kin\":\"father\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_012_KinFirstLast_19","caseName":"[POSITIVE] `kin_first_name/kin_last_name`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.216Z","endedAt":"2026-06-23T11:13:46.270Z","durationMs":54,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"kin_first_name":"ROBERT","kin_last_name":"DOE"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-pycNwgnbg0Xwrm97VHUok8/Svh0\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"51","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCADIAKADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDpKRhxS4obgVkSRjig9aUCgjvRcBppKKKQBS0mDRQA9eTTjwKRRilb1pgRGilNFIBKKcRxTaACiiimAlFJmjrikBNGflp2OOaZH05pzEAZBpCH4pD79KdSEZFWMZ04oPSjGOe1DdqQDCKTFPppOePSkMSjp1rF8ReJLbQYFBAmun+5CGwcf3j6D+Z/EjzvVPGGr38h23LQIekcPygfj1Pbr6dqaQHsG9QuSQB3J4FNE8My5ikRx/sHP8q8BmmmmlaWWRmkPBdiST+NREt6iqsFj6FCk+31oA56V8+28strKJreZoZR0eNirD8RXQaZ431rTSqvcfaogfu3GXPv82c5+uR7UrBZnsZGKjrmNI8faXqJWK7zZTnp5jZjPPZ+3bqB+NdQTnkUthCUhpaSgAxRiloHWkA9EDdTTjGKap9OtSjnkmkAtNJp1NIqhjSeOlHOOlFKfu0AMPFZkuuafDLND5skkkX3xFBJIE6/eZVIXoep7H0NGta1Bo1i9xJhnAykeeXPA/AcjJ968nl8VX8NmLa0lNspyZGjOHdj1Yt1z0GRzgDJOKErgRa9fi51e6lEnmbpCQ2chhng57jGMe2B0ArKMxA479TUtrbyX87MxJPUk81qDRQCMHj0puSRcYN7GJ53HTimmQ+lbbaSqnmmf2anoaXtEV7NmJvJ68Ck3gHvWs+ngDoKqyWgAoVRC5GiskvvXXeF/Gc+jyJa3jNNp7cerQ/7vt7fl6HjpIyhyKVHzx0FVuQ13PoSGaO4hSaGRZInAZHU5DA9CKk/GvN/hzrTJcyaTNIAjgvCG7MOoH1GT+Br0gmpJCnKOaZxT060DJApx3pM46gZ9xTxz3pr8mkIlpp6U8000xkZHNRXNzFaWs1zMSI4kLsR6CpWNZXiCNJdCulfJAUPgd9pDAfQ4wfahAeUa9rM+q3kk8xwucKinIAHQe/6euMkk883zMcVbum2pt/CqkYywxVoZ0miwBLcNjk1sDAGaraaoNug6cVak2KcMyg+ma527s6YqyIJgDzVc9OBV1gjrkMD+NQbFNIspSLx061VkXAxitFwuDnoKpzPGD96hEtGbNBuB4rNkjMTc1tmWHpmobyBJLYuhBx6VpFtbmUkmU7eZ4LiK4idkkRgykHBBHQivdLC7+26fbXRwDNErnHQZGa8FiYqcGva9DvRcaHYyZyTAgbjHIGD+tWzFmvvp6NVbzVp6SLmp0As7/Sk3UzeCcCngigC4elMI4p5HNMI5qrARNWV4gLf2FflCQwt3II7fKa1n4qrMA6spHBGMUwPBrobxwMEdRVaPgj3Namr2M1hqUsLowCsQrEfeHY1UtYDLewpjrIo/WmUdLDHKY0ijbYuOWHWoLq2tI1I8x2cDLYOePWtqS0Y25Efyn1rGk0hmglExViSNm5jge+Mck/UVzRep0taGV5yIwWKeTH1rXsPMlTO/cMVQh051V0K5DHqVxj6VtWNg8cOOgx6cmqm0EE2ZF7Iy7gGxWVv3HLB2ravoAZCKpLb4Rk6buvvRCSFUi7leOWLH+rIA74q9FDHKDs6MMECo47ZlhMQz5bHJHrViCExHgYFEmuhMU+pz7IYpmRuqnBr1bwqnk+HLRSTyC2M+pJrz6+tgL4uADuTdj36V3Phe9N5oyqQA0LeWQPTt/n2qnK6MpRa1OiDU5SfWoFJqZDUklhXIHWpBMarg07NAG6SBTGNKfrTX6VsIhc5qBxUrdaY4yKBnO+KtOhvNGuHaJWlUAq+ORg/4Z/OuDtrFLfULI5+8STn2FepXkAubSWEnG9SufTNebyRuup2+QfkJR/VTyKiTNqaTizcCeYAufwqOeN1Urt9vpRE+2TNWJJQUyc1z7M6UZ6qkQ3yfWp4i8pVguAemTgVTuA0zbF6Go5ftbTJum8qGMdFwdx9809x7EepwjeTuX86zAu19rd+h9adeF5QxaT5c/w8VDArnbubIHQmhRsRJpvQtKuDjtSs+3gUBucU12GaT3F0ILwgvEcdQRXVeD7cwabJKwx5z5X6Dj+ea5S5XeYwM969BtIfs9rFCvRFC/pWiMJvSxc6VIh7VCuT3qVQfWmZE4paaM4p2DQBuHrTXHAFTMKiNbCICMnpTWGFqYiomFAyuy1yGv6cY7trlMJHJgs3bOeldk9QkdaTVyoy5Xc4EsyhWHQjrT/OJTJ5FW9VgMOoyofut84+h/8Ar5rNyqNjP4VzyVmdcHdE6hUXe3X0rOuLsGUpFG1xIOSF6LUt1mYbFOAetQESW8Xl24Cj6Zpxtuxtu5UnE7HCWpUdxgD+tVPNMbbWyh9+hqw4vSSWcfTFVmyxw+D68VWhnLyJg+7kGng7jUEY28dqmjBMgwMk8VNhX0N3RdNinb7RKCwQ4Ve2a6cHIqtY2ZtLGKNvv4y31PWrIFOxg3dj1PNToarr1qwlBJKDT6jFPBpgdE/BAqFhzUz9aYRk81uBERUTjNWCvFREUAV3GRUOKskVUvbiKytJbqYkRxjLYGTSuBi+JLbfZrcKPmibB+h/+viuReX1rVuPGMOpiSxjs2RJD8srSc4Bz93Ht61iXHyMazlZu5vTbRJG6k4JqZ5oo0yBk1lmTHsaY07EYOfwqLGnOTzTkk+pqizgsc4pJJNw75qsWwT1Jp2Jci0XArovCemG8uzdyr+6hPy57t/9b/CuTUkn3re0XxHLpFwlttVraRsuCOQfXNNIzk20egyJxVYpg1dR0niWRDlWGRUbpQ1fUyIAuBUq5xSdOKerCkA8UoHtQDS5pgdIwpmKmIphFbgRkVC4qdiqKWYhVHcnAqm97bMSI5VkYdkOfbH6ipbS3ATBLAAZJ4rM12E3FpJaj7silR9a1Lm+stLgWe8uYoASQpkYDJAzgep+lYFz4j0W9g2Q3uZ9pZCIX454524rCpO+xpFWPL7RgLraYwjoTnnnIrVdwwwwyKueKdL+yXC30KbcYWVB2I4/+tWYHEkYYHrVJpq6KRXmjK8o1U2kkXquavPnnmq0iE9KY7FR5yf4TTMsxyeKldGB5phUijQVmOUhadbRNdalEACQOv0qLB711vhTRJJLVr11wHJ2Z7qOM/nmlJ2VxM6fSpjFbxKxO3bg1q/I4yCK5d9b0uyme2lnKNE20/u2Iz35Aq9DqMF1CZbK5WQKcMB2/CsITcdGtCWrmu0Q7GmeXg85rOivZwBvwwP8Q4qwl6C21sg1pzxYrMuBR2zSgfWmLIp7ipAatNEnQ3F0kC5PzH0FUZ7+Ty96kIM49ahjYTkhjw3Sq18pSxZO4bNZyqyZpyoS9vXmtVRjks/Ix2qDBtL0wxqoBIK5HHXNRRN5sYz1XFX9Qh3wx3CfeGM1m23qxmZcaINQ8RrNqFzLcRoP3cT4CL7ADj/Izmrt3oUUdmhs7dN9u5cRgY3q33lz79R7gelWgRMkNyo+YH5sVoxPlgexFMDAvFhu7ZGZFMLL98jGPZh2/wD1/jxup+Gp7IyS2GbiAEsY1BLIM/qP8+pr0O4tvstw00S5jc5kj9T6j3pqQRhBJbglP7g/h+n+FEW1sB5ECH7fhQIyDXpGq+G7HV0aZNsNyefNQfeP+0O/16/yrir3TrnTbn7PdptY8qw+6w9Qa0U7mkbMypEzyarSQk9BWq8Q7Vf03SEnAubnK2+flUcNKfRfbjr/APXwcxTjbcxLLRrq/JESqsYOHlkO1E+p/p1rsZr9giQ6WHitIVEce4DMmBgfhU5tnuykQQQ2sY4iXoP8f8k+92O0REDBQAOBWU5t6IybMAaLHKCJPmfadzHqSTkmpYdFjttssLFH27Wx3rbWLcCcdaV4trBPwrO7EVQuCPRuooMeZ0I7GrU0HluimpYLbcxYnAFAisAewqVXZOmaWE/M49DmpkRXkPHFCuthli2k+Veehq/exCazLAdRWVbZMZb3rYs2EsRjb0qxnOwny59p6VvW4E1psbnisS+j8q8YVqabKSoBpREQwE28zwt909KvhsAY+tR3lvu+dRyDUMEmSVbqKpAaU/zRBvWs/DQv5kf3T1FXYTvtmU9RVSJsOUNAEhjWbMsTBZOpB6N9f8apX9rBqFo9veRnaP4v4oz6j/OKt7CjZFPdtybmXkd6AOCTQZLa+ZLsiSBOY9hx5/p7qPX8h6jbjhQHLuu4DHyDhR2VR2HT/OKrmG5k1+dvKIgGVHzZXGBjA7H19SSa1IIFX5sd6TdxybY1FyAFXag6CiQFiFFTmkAAOaQhuwRqi9ycmmqu+6H1qTaWcGnKmyUE9cUWERXwywNTwjFuCe4qCcbyMVaJCwqpGDijqMyouLtlPcmrMJwz59KqMdmofU5qdzsLGpAn0r5ppYuoIyKuwM0cp55U1n6E+bjH+zitA/8AHwwHU1YFTWUH20sBw3NP07ipdVjJ8o/7A/lUNodgBPc4oW4M2Uw/ynvWdcw+VMxHrV9W2utJdxh8kVQFexlDFlNQz/u7g/WokbybjPqas3ozhx3FICRGBFLIhaJwOOM1XifKKfUVbiIfg0wMuCIGd8d0VvzAqaNS3mccg5+uec/nn8qS3UJOoJyxDKfqCcfoBT4vkvcZ4dSMfQ//AFzSEQSKVNIvTkVbukwpNVI/u56ipGOX/WAetSyqAQagkBG1x64pzvnBNMBjJhqdcMQAOMVKAHAqrc7ufakBm3RIuI3HODVy5GF/DNVJfmwPerN04Cx5PVcGp6AR6LMIdQ2t34Fbe3GoEMeGGaKKtbICS+TfbxkehrOJKxAejZoopvcGacTho0b25q5gOh6UUUxIx7pMOfrUzHzLMHuKKKQyGE/uselWbd8OPrRRQBDIghvJDnnzdxGegIAH8jTpMiaF14G4Z/UfzIoooETXKkpj2rOQ7SR2oopMZJsMiEBsYIPSkmUqMEflRRQxEEcxjIyeAakkYSZ560UUkBmTLtJIqG5mLwK3ocUUVKH1P//Z","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.223Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"kin_first_name\":\"ROBERT\",\"kin_last_name\":\"DOE\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_013_UserTaxStatus_20","caseName":"[POSITIVE] `user_tax_status`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.270Z","endedAt":"2026-06-23T11:13:46.285Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"user_tax_status":"Resident Indian"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"user_tax_status\":\"Resident Indian\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_014_KinMiddleName_21","caseName":"[POSITIVE] `kin_middle_name`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.285Z","endedAt":"2026-06-23T11:13:46.329Z","durationMs":44,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"kin_middle_name":"KUMAR"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"41","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"kin_middle_name\":\"KUMAR\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_015_Residence_22","caseName":"[POSITIVE] `residence`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.329Z","endedAt":"2026-06-23T11:13:46.385Z","durationMs":56,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"residence":"Owned"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-fQOyI1Y3l+dYJDD9C9I84bcbb8Q\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"52","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.337Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"residence\":\"Owned\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_016_BooleanFlags_23","caseName":"[POSITIVE] booleans","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.385Z","endedAt":"2026-06-23T11:13:46.468Z","durationMs":83,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"is_aadhaar_verified":true,"is_bank_present":false,"is_pan_verified":true},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-+MDrGDtrN+1nF0zp45DYgfYvJuk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"80","server":"envoy","connection":"close"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.426Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"is_aadhaar_verified\":true,\"is_bank_present\":false,\"is_pan_verified\":true}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_017_DateFields_ISOStrings_24","caseName":"[POSITIVE] date fields (ISO)","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.468Z","endedAt":"2026-06-23T11:13:46.538Z","durationMs":70,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"user_aadhaar_verification_date":"2026-05-12T00:00:00.000Z","user_pan_verification_date":"2026-05-12T00:00:00.000Z"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"c6-XTIdyd90X4stMIFkP0R2rKpvhwA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1004","error":"Please enter a valid DOB (Ex. YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"user_aadhaar_verification_date\":\"2026-05-12T00:00:00.000Z\",\"user_pan_verification_date\":\"2026-05-12T00:00:00.000Z\"}'","validations":[{"description":"HTTP status should be one of 201/400","passed":true,"message":"Got 400"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1004"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_BODY_018_PartnerUrl_ClientProvided_25","caseName":"[POSITIVE] `partner_url` provided by client","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.538Z","endedAt":"2026-06-23T11:13:46.609Z","durationMs":71,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"partner_url":"https://evil.example.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"1de2-gGKiFil4WVD0rNDnV3QW7g0k9GY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"67","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.548Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"partner_url\":\"https://evil.example.com\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_001_InvalidEmail_NoAt_FIXUSER1002_26","caseName":"[NEGATIVE] email without `@`","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.609Z","endedAt":"2026-06-23T11:13:46.618Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"omgmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"omgmail.com\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1002","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_002_InvalidPan_FIXUSER1001_27","caseName":"[NEGATIVE] PAN bad format","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.618Z","endedAt":"2026-06-23T11:13:46.626Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"pan":"ABCDE1234F"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"pan\":\"ABCDE1234F\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1001","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_003_FutureDob_FIXUSER1094_28","caseName":"[NEGATIVE] DOB in future","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.626Z","endedAt":"2026-06-23T11:13:46.634Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"dob":"2099-01-01"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"194","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"c2-ue3VX43dASmbpm+YepGpr2KuIH4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1094","error":"Date of birth cannot be in the future"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"dob\":\"2099-01-01\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1094","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1094"],"actualErrorCodes":["FIXUSER1094"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_004_Under18Dob_FIXUSER1095_29","caseName":"[NEGATIVE] under-18 DOB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.634Z","endedAt":"2026-06-23T11:13:46.643Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"dob":"2012-01-01"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"251","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"fb-cPC0LS13kONH8e+s+M6F4epE/5Q\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1095","error":"We appreciate your interest, FD can only be applied for individuals who are 18 years and above"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"dob\":\"2012-01-01\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1095","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1095"],"actualErrorCodes":["FIXUSER1095"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_005_InvalidOccupation_FIXUSER1079_30","caseName":"[NEGATIVE] invalid occupation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.643Z","endedAt":"2026-06-23T11:13:46.651Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"occupation":"Astronaut"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"347","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"15b-XKNh0tvxkzqFmM3b3KRtlnMv4Z4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1079","error":"Invalid Occupation Code. valid values are: Business,Professional,Self Employed,Retired,Housewife,Student,Not Categorized,Agriculture,Public Sector,Private Sector,Government Sector,Salaried\n"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"occupation\":\"Astronaut\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1079","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1079"],"actualErrorCodes":["FIXUSER1079"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_006_InvalidAnnualIncome_FIXUSER1053_31","caseName":"[NEGATIVE] invalid annual income","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.651Z","endedAt":"2026-06-23T11:13:46.658Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"annual_income":"999L"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"184","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"b8-ZR98rvnT+yD4+xlWjy2txAP5Zkk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1053","error":"Annual Income Invalid Value"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"annual_income\":\"999L\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1053","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1053"],"actualErrorCodes":["FIXUSER1053"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_007_InvalidMaritalStatus_FIXUSER1007_32","caseName":"[NEGATIVE] invalid marital status","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.658Z","endedAt":"2026-06-23T11:13:46.666Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"marital_status":"Single"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"219","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"db-/DRG/0/5hDwju6lTlit6aF7u/0A\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1007","error":"Invalid marital status. Valid values: Married,Unmarried,Others"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"marital_status\":\"Single\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1007","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1007"],"actualErrorCodes":["FIXUSER1007"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_008_InvalidKin_FIXUSER1005_33","caseName":"[NEGATIVE] invalid kin","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.666Z","endedAt":"2026-06-23T11:13:46.731Z","durationMs":65,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"kin":"uncle"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"a9-SEaw9gKXUvrEe/Asd63IwqCnjVA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1005","error":"Invalid kin,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"kin\":\"uncle\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1005","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1005"],"actualErrorCodes":["FIXUSER1005"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_009_InvalidKinName_FIXUSER1006_34","caseName":"[NEGATIVE] kin name invalid chars","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.731Z","endedAt":"2026-06-23T11:13:46.744Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"kin_first_name":"ROBERT123"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"174","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"ae-BO7jW1XRX9OMR2GgMX1JClE4Ct4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1006","error":"Invalid kin name,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"kin_first_name\":\"ROBERT123\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1006","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1006"],"actualErrorCodes":["FIXUSER1006"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_010_InvalidMotherName_Empty_FIXUSER1264_35","caseName":"[NEGATIVE] mother_name whitespace","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.744Z","endedAt":"2026-06-23T11:13:46.752Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"mother_name":"   "},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"c4-DFfsagkfP26qOQJeFRxFCh+YjvU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1264","error":"mother name cant be just an empty space"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"mother_name\":\"   \"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1264","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1264"],"actualErrorCodes":["FIXUSER1264"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_011_InvalidFatherName_NonAlpha_FIXUSER1252_36","caseName":"[NEGATIVE] father_name invalid chars","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.752Z","endedAt":"2026-06-23T11:13:46.760Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"father_name":"WAKHARE123"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"216","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"d8-jO+APGhla5EIbTp8nA9bSIAoYgQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1252","error":"Invalid father_name,father_name should be alphabetic string"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"father_name\":\"WAKHARE123\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1252","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1252"],"actualErrorCodes":["FIXUSER1252"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_012_InvalidEducation_INVALID_EDUCATION_37","caseName":"[NEGATIVE] education invalid","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.760Z","endedAt":"2026-06-23T11:13:46.840Z","durationMs":80,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"education":"PhD"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"236","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"ec-Obpa3d5sSa2AQeb/hY7x/pk1nd4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":" ","errorCode":"FIXUSER1216","error":"Invalid education, possible values are Under Graduate, Graduate, Post Graduate"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"education\":\"PhD\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1216"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_013_InvalidSource_INVALID_SOURCE_OF_INCOME_38","caseName":"[NEGATIVE] source invalid","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.840Z","endedAt":"2026-06-23T11:13:46.847Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"source_of_income":"Crypto"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"253","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"fd-XGcJ4EjrKoiXsHBqhidiNxXTpVY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXUSER1217","error":"IInvalid source_of_income , possible values are Salary, Business, Investment, Dependent, Other"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"source_of_income\":\"Crypto\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1217"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_014_UnknownField_ForbiddenNonWhitelisted_39","caseName":"[NEGATIVE] unknown field rejected (only `/user`)","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.847Z","endedAt":"2026-06-23T11:13:46.865Z","durationMs":18,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"unknown_field":1},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"16","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"unknown_field\":1}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_015_InvalidBoolean_IsAadhaarVerified_String_40","caseName":"[NEGATIVE] boolean sent as string","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.865Z","endedAt":"2026-06-23T11:13:46.949Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"is_aadhaar_verified":"true"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"is_aadhaar_verified\":\"true\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_016_InvalidBoolean_IsBankPresent_Number_41","caseName":"[NEGATIVE] boolean sent as number","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:46.950Z","endedAt":"2026-06-23T11:13:46.964Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"is_bank_present":1},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:46 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"is_bank_present\":1}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_017_InvalidDate_UserPanVerificationDate_42","caseName":"[NEGATIVE] invalid date string","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:46.964Z","endedAt":"2026-06-23T11:13:47.048Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"user_pan_verification_date":"not-a-date"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7650","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"1de2-9xfiyPZVAPvrlRMARO5cbdS7g74\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:46.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":null,"password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:46.971Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"user_pan_verification_date\":\"not-a-date\"}'","validations":[{"description":"HTTP status should be 201","passed":true,"message":"Got 200"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_NEG_018_InvalidDate_UserAadhaarVerificationDate_FIXUSER1004_43","caseName":"[NEGATIVE] invalid date string","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:47.048Z","endedAt":"2026-06-23T11:13:47.057Z","durationMs":9,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"user_aadhaar_verification_date":"not-a-date"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"c6-XTIdyd90X4stMIFkP0R2rKpvhwA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"6","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1004","error":"Please enter a valid DOB (Ex. YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"user_aadhaar_verification_date\":\"not-a-date\"}'","validations":[{"description":"Should indicate error (HTTP 400 or body statusCode=400)","passed":true,"message":"Error confirmed (HTTP 400, body.statusCode=400)"},{"description":"Response should contain error code(s): FIXUSER1004","passed":true,"message":"Found expected error code(s) in response"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1004"],"actualErrorCodes":["FIXUSER1004"]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_RULE_001_EmailGate_403_WhenRequired_44","caseName":"[POSITIVE] If `email_verification_required=true` and user `is_email_verified=false`, block personal-details submit","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":403,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.057Z","endedAt":"2026-06-23T11:13:47.095Z","durationMs":38,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"occupation":"Public Sector","marital_status":"Unmarried"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7670","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"1df6-RERIBkSIBVlSpavPwMUlcn0QgSM\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"35","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:47.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"omvakhare150@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:47.065Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"occupation\":\"Public Sector\",\"marital_status\":\"Unmarried\"}'","validations":[{"description":"Fixture-dependent PUT /user rule should return documented error or live controlled success","passed":true,"message":"Live UAT config accepted the update; documented error fixture is not active"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_RULE_002_DuplicateEmail_FIXUSER1037_45","caseName":"[POSITIVE] Duplicate email mapping","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.095Z","endedAt":"2026-06-23T11:13:47.201Z","durationMs":106,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"duplicate@fixerra.in"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7668","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"1df4-G4nDJMO49mnmfBNuXq7+VjiS4iI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"103","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:47.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"duplicate@fixerra.in","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:47.131Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"duplicate@fixerra.in\"}'","validations":[{"description":"Fixture-dependent PUT /user rule should return documented error or live controlled success","passed":true,"message":"Live UAT config accepted the update; documented error fixture is not active"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1037"],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_RULE_003_UpdateFailed_FIXUSER1048_46","caseName":"[POSITIVE] Generic failure mapping","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.201Z","endedAt":"2026-06-23T11:13:47.298Z","durationMs":97,"requestHeaders":{"Content-Type":"application/json","apikey":"d4****bb"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"7660","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"1dec-GF6f5s7uw+1LhikAoGr3rPwDoOY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"94","server":"envoy","connection":"close"},"responseBody":{"success":1,"statusCode":201,"message":"User Updated","payload":{"createdAt":"2025-03-12T08:42:15.000Z","updatedAt":"2026-06-23T11:13:47.000Z","deleted_at":null,"createdBy":null,"updatedBy":null,"deletedBy":null,"isActive":true,"f_user_id":"00024bba-cc1f-4ea4-b5bd-312b5d982b58","profile_photo":"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","profile_photo_file_name":"Photograph.jpg","pan":null,"email":"om@gmail.com","password":"","sub_account":"","gender":"M","salutation":"MR","first_name":"Arpan","middle_name":"","last_name":"Kayastha","pan_first_name":null,"pan_middle_name":null,"pan_last_name":null,"phone":"249a22814bf213a7ff2e68cfa58da9d3:f20c3c0975ece5a088c861803901c0e1","code":"91","dob":"249a22814bf213a7ff2e68cfa58da9d3:0d54fbcbe634d0cf9ea40abe20b37b0f","care_of":"","referral_code":"","masked_aadhaar":"XXXXXXXX7520","user_activation_date":null,"user_registration_date":"2025-03-12T08:42:15.510Z","user_deactivation_date":"","custodial_account":"","occupation":"Public Sector","annual_income":"Upto 5L Per Annum","user_tax_status":"","father_name":"WAKHARE BABASAHEB CHANDRASHEKHAR","is_pan_verified":true,"manual_pan_verified":null,"is_email_verified":true,"is_aadhaar_verified":true,"is_nominee_present":true,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"ROBERT","kin_middle_name":"BABASAHEB","kin_last_name":"DOE","marital_status":"Unmarried","kapture_id":"","user_aadhaar_verification_date":"2025-03-12T12:54:07.000Z","user_pan_verification_date":null,"user_nominee_update_date":"2025-12-03T13:43:46.000Z","user_bank_account_update_date":null,"user_email_verification_date":"2026-06-22T14:21:19.000Z","profile_updated_at":"2026-06-23T11:13:47.208Z","mother_name":"Jane Doe","education":"Graduate","source_of_income":"Salary","is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2025-03-12T14:12:15.000Z","is_pan_consent_checked":false,"pan_consent_checked_date":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -H 'apikey: d4****bb' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"Fixture-dependent PUT /user rule should return documented error or live controlled success","passed":true,"message":"Live UAT config accepted the update; documented error fixture is not active"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":["FIXUSER1048"],"actualErrorCodes":[]},{"caseId":"API_QA_PI_PUT_USER_TC_PUTUSER_RULE_004_Unauthorized_NoJWT_47","caseName":"[POSITIVE] Missing JWT","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:47.298Z","endedAt":"2026-06-23T11:13:47.331Z","durationMs":33,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"email":"om@gmail.com"},"requestQuery":{"issuer_code":"SSFB","issuer_type":"BANK"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"a9-ra1+G8sgf4WPH3Nd3PzEHUQT2fc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"x-partner-key is required","payload":{},"error":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB&issuer_type=BANK' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\":\"om@gmail.com\"}'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","apiMeta":{"endpoint":"/user","method":"PUT","guards":"1) Auth (Actual Guards)","authHint":"1) Auth (Actual Guards)"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_GET_USER_TC_PI_USER_001_Load_Success_0","caseName":"[POSITIVE] Personal info prefill works","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.331Z","endedAt":"2026-06-23T11:13:47.369Z","durationMs":38,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1638","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"666-tpLEPUF2yQfb84Hsoa26quPwuJ8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"36","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"createdAt":"2026-06-23T11:13:19.000Z","isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":"249a22814bf213a7ff2e68cfa58da9d3:c7ffdd78ce0e0d9c1095a78979a7040d","email":"qa.user@fixerra.in","password":"","sub_account":"","gender":"","salutation":"","first_name":"DILIP","middle_name":"KALU","last_name":"RATHOD","pan_first_name":"DILIP","pan_middle_name":"KALU","pan_last_name":"RATHOD","phone":"918668336629","code":"91","dob":"1992-04-30","care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"KALU NATHU RATHOD","is_pan_verified":false,"is_email_verified":true,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"KALU","kin_middle_name":"NATHU","kin_last_name":"RATHOD","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":"2026-06-23T11:13:40.000Z","user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":"2026-06-23T11:13:45.000Z","profile_updated_at":"2026-06-23T11:13:40.000Z","mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","decrypted_pan":"BLXPR3438L","is_personal_details":{"BAJ":false,"MAH":false,"SHRI":false}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","apiMeta":{"endpoint":"/user","method":"GET","guards":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |","authHint":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_GET_USER_TC_PI_USER_002_EmailGate_False_1","caseName":"[POSITIVE] After OTP, verify `is_email_verified=false` blocks submit","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.369Z","endedAt":"2026-06-23T11:13:47.460Z","durationMs":91,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1638","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"666-tpLEPUF2yQfb84Hsoa26quPwuJ8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"87","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"createdAt":"2026-06-23T11:13:19.000Z","isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":"249a22814bf213a7ff2e68cfa58da9d3:c7ffdd78ce0e0d9c1095a78979a7040d","email":"qa.user@fixerra.in","password":"","sub_account":"","gender":"","salutation":"","first_name":"DILIP","middle_name":"KALU","last_name":"RATHOD","pan_first_name":"DILIP","pan_middle_name":"KALU","pan_last_name":"RATHOD","phone":"918668336629","code":"91","dob":"1992-04-30","care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"KALU NATHU RATHOD","is_pan_verified":false,"is_email_verified":true,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"KALU","kin_middle_name":"NATHU","kin_last_name":"RATHOD","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":"2026-06-23T11:13:40.000Z","user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":"2026-06-23T11:13:45.000Z","profile_updated_at":"2026-06-23T11:13:40.000Z","mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","decrypted_pan":"BLXPR3438L","is_personal_details":{"BAJ":false,"MAH":false,"SHRI":false}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","apiMeta":{"endpoint":"/user","method":"GET","guards":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |","authHint":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_GET_USER_TC_PI_USER_003_IssuerOverlay_SSFB_2","caseName":"[POSITIVE] SSFB overlay present if available","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.460Z","endedAt":"2026-06-23T11:13:47.540Z","durationMs":80,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"issuer_code":"SSFB"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1638","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"666-tpLEPUF2yQfb84Hsoa26quPwuJ8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"76","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"createdAt":"2026-06-23T11:13:19.000Z","isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":"249a22814bf213a7ff2e68cfa58da9d3:c7ffdd78ce0e0d9c1095a78979a7040d","email":"qa.user@fixerra.in","password":"","sub_account":"","gender":"","salutation":"","first_name":"DILIP","middle_name":"KALU","last_name":"RATHOD","pan_first_name":"DILIP","pan_middle_name":"KALU","pan_last_name":"RATHOD","phone":"918668336629","code":"91","dob":"1992-04-30","care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"KALU NATHU RATHOD","is_pan_verified":false,"is_email_verified":true,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"KALU","kin_middle_name":"NATHU","kin_last_name":"RATHOD","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":"2026-06-23T11:13:40.000Z","user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":"2026-06-23T11:13:45.000Z","profile_updated_at":"2026-06-23T11:13:40.000Z","mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","decrypted_pan":"BLXPR3438L","is_personal_details":{"BAJ":false,"MAH":false,"SHRI":false}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user?issuer_code=SSFB' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","apiMeta":{"endpoint":"/user","method":"GET","guards":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |","authHint":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_PI_GET_USER_TC_PI_USER_004_Unauth_NoJWT_3","caseName":"[POSITIVE] Missing JWT rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:47.540Z","endedAt":"2026-06-23T11:13:47.547Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"a9-ra1+G8sgf4WPH3Nd3PzEHUQT2fc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"x-partner-key is required","payload":{},"error":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","apiMeta":{"endpoint":"/user","method":"GET","guards":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |","authHint":"| Auth | Bearer JWT (partner headers may be present but are not strictly enforced when JWT exists) |"},"expectedErrorCodes":[],"actualErrorCodes":[]}],"summary":{"total":139,"passed":139,"failed":0,"skipped":0,"running":0,"pending":0,"durationMs":6988}},{"stepId":"step-05-personal-details","stepName":"Personal Details","cases":[{"caseId":"MAH_PI_001","caseName":"Get dropdown options for personal info form (Mahindra Finance)","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user/dropdown","status":"passed","scenarioType":"static","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.547Z","endedAt":"2026-06-23T11:13:47.551Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"526","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"20e-YqUCbnMbboHrP/2SAuX85Qu+uWc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"occupations":{"Business":["Business"],"Others":["Professional","Self Employed","Retired","Housewife","Student","Not Categorized","Agriculture","Others"],"Service":["Public Sector","Private Sector","Government Sector","Salaried"]},"annualIncomes":["Upto 5L Per Annum","5L - 10L Per Annum","10 - 15L Per Annum","10L - 15L Per Annum","15L - 25L Per Annum","25L - 50L Per Annum","50L - 1Cr Per Annum","1Cr and Above"],"maritalStatus":["Married","Unmarried","Others"]}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user/dropdown' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK, body.statusCode=200"},{"description":"Response should contain dropdown options","passed":true,"message":"Dropdown options present"}],"docsFile":"user-services/API_QA_PI_GET_DROPDOWN.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_002","caseName":"Save personal details for Mahindra Finance user","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.551Z","endedAt":"2026-06-23T11:13:47.626Z","durationMs":75,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"73","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_003","caseName":"Verify personal-details response content type","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.626Z","endedAt":"2026-06-23T11:13:47.658Z","durationMs":32,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"personal.contenttype@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"24","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"personal.contenttype@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response content type should be application/json","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_004","caseName":"Verify personal-details response time","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.658Z","endedAt":"2026-06-23T11:13:47.686Z","durationMs":28,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"personal.responsetime@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"22","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"personal.responsetime@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"Status 200 OK"},{"description":"Response should complete within 2000ms","passed":true,"message":"duration=28ms"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_005","caseName":"Verify all query parameters accepted","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.686Z","endedAt":"2026-06-23T11:13:47.751Z","durationMs":65,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"personal.query@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC","bank_code":"true","credit_card":"false","bank_change_request":"false","account_holder_name":"JOHN DOE"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"62","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC&bank_code=true&credit_card=false&bank_change_request=false&account_holder_name=JOHN+DOE' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"personal.query@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_016","caseName":"Verify valid email update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.751Z","endedAt":"2026-06-23T11:13:47.780Z","durationMs":29,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"valid.email@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"26","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"valid.email@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_019","caseName":"Verify invalid email format","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:47.780Z","endedAt":"2026-06-23T11:13:47.835Z","durationMs":55,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"emailwithoutat","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"52","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"emailwithoutat\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_PI_020","caseName":"Verify email missing domain","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:47.835Z","endedAt":"2026-06-23T11:13:47.847Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"test@","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"test@\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_PI_021","caseName":"Verify email missing username","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:47.847Z","endedAt":"2026-06-23T11:13:47.860Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"@gmail.com","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"@gmail.com\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_PI_022","caseName":"Verify email with multiple @","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:47.860Z","endedAt":"2026-06-23T11:13:47.927Z","durationMs":67,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"test@@mail.com","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"191","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:47 GMT","etag":"W/\"bf-FS3gd/UzOASAPQHJPfmDw0bdyiw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"65","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1002","error":"Please enter a valid email address"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"test@@mail.com\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1002","passed":true,"message":"FIXUSER1002 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1002"],"actualErrorCodes":["FIXUSER1002"]},{"caseId":"MAH_PI_023","caseName":"Verify null email","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.927Z","endedAt":"2026-06-23T11:13:47.955Z","durationMs":28,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":null,"occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"25","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":null,\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_024","caseName":"Verify empty email","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:47.955Z","endedAt":"2026-06-23T11:13:47.981Z","durationMs":26,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:47 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"23","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_025","caseName":"Verify valid PAN update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:47.981Z","endedAt":"2026-06-23T11:13:48.029Z","durationMs":48,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":"ABCPE1234F"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:48 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"45","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"ABCPE1234F\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_026","caseName":"Verify PAN lowercase validation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:48.029Z","endedAt":"2026-06-23T11:13:48.133Z","durationMs":104,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":"abcde1234f"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:48 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"abcde1234f\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PI_027","caseName":"Verify PAN with special characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:48.133Z","endedAt":"2026-06-23T11:13:48.331Z","durationMs":198,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":"ABC@E1234F"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:48 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"ABC@E1234F\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PI_028","caseName":"Verify PAN length less than 10","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:48.331Z","endedAt":"2026-06-23T11:13:48.731Z","durationMs":400,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":"ABC123"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:48 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"ABC123\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PI_029","caseName":"Verify PAN length greater than 10","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:48.731Z","endedAt":"2026-06-23T11:13:49.031Z","durationMs":300,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":"ABCDE1234FF"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:48 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"ABCDE1234FF\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_PI_030","caseName":"Verify null PAN","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:49.031Z","endedAt":"2026-06-23T11:13:49.331Z","durationMs":300,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":null},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:49 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"28","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":null}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_031","caseName":"Verify empty PAN","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:49.331Z","endedAt":"2026-06-23T11:13:49.531Z","durationMs":200,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":""},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:49 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_032","caseName":"Verify valid DOB update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:49.531Z","endedAt":"2026-06-23T11:13:49.833Z","durationMs":302,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":"1995-08-30"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:49 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":\"1995-08-30\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_033","caseName":"Verify future DOB validation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:49.833Z","endedAt":"2026-06-23T11:13:50.331Z","durationMs":498,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":"2099-01-01"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"194","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:49 GMT","etag":"W/\"c2-ue3VX43dASmbpm+YepGpr2KuIH4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1094","error":"Date of birth cannot be in the future"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":\"2099-01-01\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1094","passed":true,"message":"FIXUSER1094 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1094"],"actualErrorCodes":["FIXUSER1094"]},{"caseId":"MAH_PI_034","caseName":"Verify underage DOB validation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.331Z","endedAt":"2026-06-23T11:13:50.531Z","durationMs":200,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":"2012-01-01"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"251","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"fb-cPC0LS13kONH8e+s+M6F4epE/5Q\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1095","error":"We appreciate your interest, FD can only be applied for individuals who are 18 years and above"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":\"2012-01-01\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1095","passed":true,"message":"FIXUSER1095 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1095"],"actualErrorCodes":["FIXUSER1095"]},{"caseId":"MAH_PI_035","caseName":"Verify invalid DOB format","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.531Z","endedAt":"2026-06-23T11:13:50.541Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":"not-a-date"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"c6-XTIdyd90X4stMIFkP0R2rKpvhwA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1004","error":"Please enter a valid DOB (Ex. YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":\"not-a-date\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1004","passed":true,"message":"FIXUSER1004 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1004"],"actualErrorCodes":["FIXUSER1004"]},{"caseId":"MAH_PI_036","caseName":"Verify null DOB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.542Z","endedAt":"2026-06-23T11:13:50.631Z","durationMs":89,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":null},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":null}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_037","caseName":"Verify empty DOB","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.631Z","endedAt":"2026-06-23T11:13:50.646Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":""},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"c6-XTIdyd90X4stMIFkP0R2rKpvhwA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"13","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1004","error":"Please enter a valid DOB (Ex. YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":\"\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1004"]},{"caseId":"MAH_PI_038","caseName":"Verify age exactly 18 years","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.646Z","endedAt":"2026-06-23T11:13:50.661Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","dob":"2006-01-01"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"dob\":\"2006-01-01\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_039","caseName":"Verify valid occupation update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:50.661Z","endedAt":"2026-06-23T11:13:50.754Z","durationMs":93,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:50 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"90","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_040","caseName":"Verify invalid occupation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.754Z","endedAt":"2026-06-23T11:13:50.765Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"Astronaut","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"347","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"15b-XKNh0tvxkzqFmM3b3KRtlnMv4Z4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1079","error":"Invalid Occupation Code. valid values are: Business,Professional,Self Employed,Retired,Housewife,Student,Not Categorized,Agriculture,Public Sector,Private Sector,Government Sector,Salaried\n"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"Astronaut\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1079","passed":true,"message":"FIXUSER1079 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1079"],"actualErrorCodes":["FIXUSER1079"]},{"caseId":"MAH_PI_041","caseName":"Verify null occupation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:50.765Z","endedAt":"2026-06-23T11:13:50.841Z","durationMs":76,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":null,"annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:50 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"73","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":null,\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_042","caseName":"Verify empty occupation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.841Z","endedAt":"2026-06-23T11:13:50.853Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"347","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"15b-XKNh0tvxkzqFmM3b3KRtlnMv4Z4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1079","error":"Invalid Occupation Code. valid values are: Business,Professional,Self Employed,Retired,Housewife,Student,Not Categorized,Agriculture,Public Sector,Private Sector,Government Sector,Salaried\n"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1079","passed":true,"message":"FIXUSER1079 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1079"],"actualErrorCodes":["FIXUSER1079"]},{"caseId":"MAH_PI_043","caseName":"Verify valid annual income update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:50.853Z","endedAt":"2026-06-23T11:13:50.946Z","durationMs":93,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:50 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"91","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_044","caseName":"Verify invalid annual income","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.946Z","endedAt":"2026-06-23T11:13:50.958Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"999L","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"184","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"b8-ZR98rvnT+yD4+xlWjy2txAP5Zkk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1053","error":"Annual Income Invalid Value"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"999L\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1053","passed":true,"message":"FIXUSER1053 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1053"],"actualErrorCodes":["FIXUSER1053"]},{"caseId":"MAH_PI_045","caseName":"Verify empty annual income","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:50.958Z","endedAt":"2026-06-23T11:13:51.026Z","durationMs":68,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"184","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:50 GMT","etag":"W/\"b8-ZR98rvnT+yD4+xlWjy2txAP5Zkk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"65","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1053","error":"Annual Income Invalid Value"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1053","passed":true,"message":"FIXUSER1053 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1053"],"actualErrorCodes":["FIXUSER1053"]},{"caseId":"MAH_PI_046","caseName":"Verify valid marital status update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.027Z","endedAt":"2026-06-23T11:13:51.054Z","durationMs":27,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Married","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"25","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Married\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_047","caseName":"Verify invalid marital status","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.054Z","endedAt":"2026-06-23T11:13:51.067Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Single","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"219","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"db-/DRG/0/5hDwju6lTlit6aF7u/0A\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1007","error":"Invalid marital status. Valid values: Married,Unmarried,Others"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Single\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1007","passed":true,"message":"FIXUSER1007 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1007"],"actualErrorCodes":["FIXUSER1007"]},{"caseId":"MAH_PI_048","caseName":"Verify null marital status","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.067Z","endedAt":"2026-06-23T11:13:51.147Z","durationMs":80,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":null,"mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"78","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":null,\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_049","caseName":"Verify empty marital status","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.148Z","endedAt":"2026-06-23T11:13:51.165Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"219","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"db-/DRG/0/5hDwju6lTlit6aF7u/0A\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1007","error":"Invalid marital status. Valid values: Married,Unmarried,Others"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1007","passed":true,"message":"FIXUSER1007 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1007"],"actualErrorCodes":["FIXUSER1007"]},{"caseId":"MAH_PI_050","caseName":"Verify valid mother name update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.165Z","endedAt":"2026-06-23T11:13:51.235Z","durationMs":70,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"67","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_051","caseName":"Verify blank mother name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.235Z","endedAt":"2026-06-23T11:13:51.248Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":" ","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"c4-DFfsagkfP26qOQJeFRxFCh+YjvU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1264","error":"mother name cant be just an empty space"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\" \",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1264","passed":true,"message":"FIXUSER1264 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1264"],"actualErrorCodes":["FIXUSER1264"]},{"caseId":"MAH_PI_052","caseName":"Verify null mother name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.248Z","endedAt":"2026-06-23T11:13:51.277Z","durationMs":29,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":null,"father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"27","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":null,\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_053","caseName":"Verify mother name with numeric characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.277Z","endedAt":"2026-06-23T11:13:51.327Z","durationMs":50,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"MOTHER123","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"d2-qwLJDVJ/p1rrp9cJc0bh6UPHGaY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"47","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1265","error":"Invalid mother name, please enter a valid mother name"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"MOTHER123\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1265","passed":true,"message":"FIXUSER1265 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1265"],"actualErrorCodes":["FIXUSER1265"]},{"caseId":"MAH_PI_054","caseName":"Verify mother name with special characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.327Z","endedAt":"2026-06-23T11:13:51.339Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"MOTHER@NAME","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"210","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"d2-qwLJDVJ/p1rrp9cJc0bh6UPHGaY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1265","error":"Invalid mother name, please enter a valid mother name"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"MOTHER@NAME\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1265","passed":true,"message":"FIXUSER1265 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1265"],"actualErrorCodes":["FIXUSER1265"]},{"caseId":"MAH_PI_055","caseName":"Verify valid father name update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.339Z","endedAt":"2026-06-23T11:13:51.433Z","durationMs":94,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"92","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_056","caseName":"Verify blank father name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.433Z","endedAt":"2026-06-23T11:13:51.445Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":" ","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"194","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"c2-ZErz2AsOfQaUHCObnprDfiHJEnI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1251","error":"Please enter the father’s full name"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\" \",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1251","passed":true,"message":"FIXUSER1251 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1251"],"actualErrorCodes":["FIXUSER1251"]},{"caseId":"MAH_PI_057","caseName":"Verify null father name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.445Z","endedAt":"2026-06-23T11:13:51.473Z","durationMs":28,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":null,"education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"26","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":null,\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_058","caseName":"Verify father name with numeric characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.473Z","endedAt":"2026-06-23T11:13:51.484Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"FATHER123","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"216","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"d8-jO+APGhla5EIbTp8nA9bSIAoYgQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1252","error":"Invalid father_name,father_name should be alphabetic string"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"FATHER123\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1252","passed":true,"message":"FIXUSER1252 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1252"],"actualErrorCodes":["FIXUSER1252"]},{"caseId":"MAH_PI_059","caseName":"Verify father name with special characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.484Z","endedAt":"2026-06-23T11:13:51.541Z","durationMs":57,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"FATHER@NAME","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"216","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"d8-jO+APGhla5EIbTp8nA9bSIAoYgQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"53","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1252","error":"Invalid father_name,father_name should be alphabetic string"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"FATHER@NAME\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1252","passed":true,"message":"FIXUSER1252 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1252"],"actualErrorCodes":["FIXUSER1252"]},{"caseId":"MAH_PI_060","caseName":"Verify valid kin relation update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.541Z","endedAt":"2026-06-23T11:13:51.551Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin":"father"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin\":\"father\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_061","caseName":"Verify invalid kin relation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.551Z","endedAt":"2026-06-23T11:13:51.628Z","durationMs":77,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin":"uncle"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"a9-SEaw9gKXUvrEe/Asd63IwqCnjVA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"74","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1005","error":"Invalid kin,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin\":\"uncle\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1005","passed":true,"message":"FIXUSER1005 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1005"],"actualErrorCodes":["FIXUSER1005"]},{"caseId":"MAH_PI_062","caseName":"Verify null kin relation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.629Z","endedAt":"2026-06-23T11:13:51.640Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin":null},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin\":null}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_063","caseName":"Verify empty kin relation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.640Z","endedAt":"2026-06-23T11:13:51.651Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin":""},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"a9-SEaw9gKXUvrEe/Asd63IwqCnjVA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1005","error":"Invalid kin,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin\":\"\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1005"]},{"caseId":"MAH_PI_064","caseName":"Verify invalid kin first name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.651Z","endedAt":"2026-06-23T11:13:51.731Z","durationMs":80,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin_first_name":"ROBERT123"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"174","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"ae-BO7jW1XRX9OMR2GgMX1JClE4Ct4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1006","error":"Invalid kin name,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin_first_name\":\"ROBERT123\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1006","passed":true,"message":"FIXUSER1006 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1006"],"actualErrorCodes":["FIXUSER1006"]},{"caseId":"MAH_PI_065","caseName":"Verify invalid kin last name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.731Z","endedAt":"2026-06-23T11:13:51.745Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin_last_name":"DOE123"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"174","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"ae-BO7jW1XRX9OMR2GgMX1JClE4Ct4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1006","error":"Invalid kin name,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin_last_name\":\"DOE123\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1006","passed":true,"message":"FIXUSER1006 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1006"],"actualErrorCodes":["FIXUSER1006"]},{"caseId":"MAH_PI_066","caseName":"Verify kin first name with special characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.745Z","endedAt":"2026-06-23T11:13:51.756Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin_first_name":"ROBERT@DOE"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"174","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"ae-BO7jW1XRX9OMR2GgMX1JClE4Ct4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1006","error":"Invalid kin name,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin_first_name\":\"ROBERT@DOE\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1006","passed":true,"message":"FIXUSER1006 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1006"],"actualErrorCodes":["FIXUSER1006"]},{"caseId":"MAH_PI_067","caseName":"Verify kin last name with special characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.756Z","endedAt":"2026-06-23T11:13:51.767Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin_last_name":"DOE@NAME"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"174","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"ae-BO7jW1XRX9OMR2GgMX1JClE4Ct4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1006","error":"Invalid kin name,"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin_last_name\":\"DOE@NAME\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1006","passed":true,"message":"FIXUSER1006 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1006"],"actualErrorCodes":["FIXUSER1006"]},{"caseId":"MAH_PI_068","caseName":"Verify valid kin middle name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.768Z","endedAt":"2026-06-23T11:13:51.784Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin_middle_name":"KUMAR"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin_middle_name\":\"KUMAR\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_069","caseName":"Verify null kin middle name","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.784Z","endedAt":"2026-06-23T11:13:51.840Z","durationMs":56,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","kin_middle_name":null},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"53","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"kin_middle_name\":null}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_070","caseName":"Verify valid education update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.840Z","endedAt":"2026-06-23T11:13:51.944Z","durationMs":104,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"100","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_071","caseName":"Verify invalid education","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.944Z","endedAt":"2026-06-23T11:13:51.955Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"PhD","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"236","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:51 GMT","etag":"W/\"ec-Obpa3d5sSa2AQeb/hY7x/pk1nd4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":" ","errorCode":"FIXUSER1216","error":"Invalid education, possible values are Under Graduate, Graduate, Post Graduate"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"PhD\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1216","passed":true,"message":"FIXUSER1216 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1216"],"actualErrorCodes":["FIXUSER1216"]},{"caseId":"MAH_PI_072","caseName":"Verify null education","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:51.955Z","endedAt":"2026-06-23T11:13:51.982Z","durationMs":27,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":null,"source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:51 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"25","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":null,\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_073","caseName":"Verify empty education","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:51.982Z","endedAt":"2026-06-23T11:13:52.143Z","durationMs":161,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"236","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"ec-Obpa3d5sSa2AQeb/hY7x/pk1nd4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"158","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":" ","errorCode":"FIXUSER1216","error":"Invalid education, possible values are Under Graduate, Graduate, Post Graduate"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1216","passed":true,"message":"FIXUSER1216 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1216"],"actualErrorCodes":["FIXUSER1216"]},{"caseId":"MAH_PI_074","caseName":"Verify valid source of income update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:52.143Z","endedAt":"2026-06-23T11:13:52.250Z","durationMs":107,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:52 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"104","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_075","caseName":"Verify invalid source of income","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.250Z","endedAt":"2026-06-23T11:13:52.262Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Crypto"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"253","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"fd-XGcJ4EjrKoiXsHBqhidiNxXTpVY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXUSER1217","error":"IInvalid source_of_income , possible values are Salary, Business, Investment, Dependent, Other"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Crypto\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1217","passed":true,"message":"FIXUSER1217 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1217"],"actualErrorCodes":["FIXUSER1217"]},{"caseId":"MAH_PI_076","caseName":"Verify null source of income","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:52.262Z","endedAt":"2026-06-23T11:13:52.344Z","durationMs":82,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":null},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:52 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"80","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":null}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Body statusCode should be 201","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response success flag should be 1","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Response message should be \"User Updated\"","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Payload object should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_077","caseName":"Verify empty source of income","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.344Z","endedAt":"2026-06-23T11:13:52.357Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":""},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"253","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"fd-XGcJ4EjrKoiXsHBqhidiNxXTpVY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXUSER1217","error":"IInvalid source_of_income , possible values are Salary, Business, Investment, Dependent, Other"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1217","passed":true,"message":"FIXUSER1217 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1217"],"actualErrorCodes":["FIXUSER1217"]},{"caseId":"MAH_PI_078","caseName":"Verify valid user tax status update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.357Z","endedAt":"2026-06-23T11:13:52.377Z","durationMs":20,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","user_tax_status":"Resident Indian"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"user_tax_status\":\"Resident Indian\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_079","caseName":"Verify valid residence update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.377Z","endedAt":"2026-06-23T11:13:52.435Z","durationMs":58,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","residence":"Owned"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"55","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"residence\":\"Owned\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_080","caseName":"Verify valid boolean fields update","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.435Z","endedAt":"2026-06-23T11:13:52.536Z","durationMs":101,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","is_aadhaar_verified":true,"is_bank_present":false,"is_pan_verified":true},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"97","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"is_aadhaar_verified\":true,\"is_bank_present\":false,\"is_pan_verified\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_081","caseName":"Verify is_aadhaar_verified as string","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.536Z","endedAt":"2026-06-23T11:13:52.736Z","durationMs":200,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","is_aadhaar_verified":"true"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"197","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"is_aadhaar_verified\":\"true\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_082","caseName":"Verify is_bank_present as number","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:52.736Z","endedAt":"2026-06-23T11:13:53.030Z","durationMs":294,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","is_bank_present":1},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:52 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"291","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"is_bank_present\":1}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_083","caseName":"Verify invalid Aadhaar verification date","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.030Z","endedAt":"2026-06-23T11:13:53.045Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","user_aadhaar_verification_date":"not-a-date"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"c6-XTIdyd90X4stMIFkP0R2rKpvhwA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1004","error":"Please enter a valid DOB (Ex. YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"user_aadhaar_verification_date\":\"not-a-date\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"},{"description":"Response should contain FIXUSER1004","passed":true,"message":"FIXUSER1004 present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":["FIXUSER1004"],"actualErrorCodes":["FIXUSER1004"]},{"caseId":"MAH_PI_084","caseName":"Verify invalid PAN verification date","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.045Z","endedAt":"2026-06-23T11:13:53.056Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","user_pan_verification_date":"not-a-date"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"user_pan_verification_date\":\"not-a-date\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_085","caseName":"Verify valid ISO date fields","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.056Z","endedAt":"2026-06-23T11:13:53.075Z","durationMs":19,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","user_aadhaar_verification_date":"2026-05-12T00:00:00.000Z","user_pan_verification_date":"2026-05-12T00:00:00.000Z"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"198","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"c6-XTIdyd90X4stMIFkP0R2rKpvhwA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"15","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1004","error":"Please enter a valid DOB (Ex. YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"user_aadhaar_verification_date\":\"2026-05-12T00:00:00.000Z\",\"user_pan_verification_date\":\"2026-05-12T00:00:00.000Z\"}'","validations":[{"description":"ISO verification dates should be handled according to live contract","passed":true,"message":"API rejected ISO verification dates with FIXUSER1004"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1004"]},{"caseId":"MAH_PI_086","caseName":"Verify client provided partner_url","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.075Z","endedAt":"2026-06-23T11:13:53.130Z","durationMs":55,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","partner_url":"https://test.com"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"51","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"partner_url\":\"https://test.com\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_090","caseName":"Verify API without JWT","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:53.130Z","endedAt":"2026-06-23T11:13:53.138Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"email":"no.jwt@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"a9-ra1+G8sgf4WPH3Nd3PzEHUQT2fc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"x-partner-key is required","payload":{},"error":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\":\"no.jwt@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK, body.statusCode=401"},{"description":"Response message should be \"x-partner-key is required\"","passed":true,"message":"message=\"x-partner-key is required\""}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_091","caseName":"Verify API with invalid JWT","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:53.138Z","endedAt":"2026-06-23T11:13:53.143Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer invalid.jwt.token"},"requestPayload":{"email":"invalid.jwt@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer invalid.jwt.token' \\\n  -d '{\"email\":\"invalid.jwt@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK, body.statusCode=401"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_092","caseName":"Verify API with expired JWT","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:53.143Z","endedAt":"2026-06-23T11:13:53.150Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjEsImlhdCI6MSwidXNlcl9pZCI6ImV4cGlyZWQifQ.invalid"},"requestPayload":{"email":"expired.jwt@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjEsImlhdCI6MSwidXNlcl9pZCI6ImV4cGlyZWQifQ.invalid' \\\n  -d '{\"email\":\"expired.jwt@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401 OK, body.statusCode=401"},{"description":"Response message should be \"Access Denied.\"","passed":true,"message":"message=\"Access Denied.\""}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_094","caseName":"Verify unknown field rejection","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.151Z","endedAt":"2026-06-23T11:13:53.170Z","durationMs":19,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","unknown_field":1},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"unknown_field\":1}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_095","caseName":"Verify personal-details response headers","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:53.171Z","endedAt":"2026-06-23T11:13:53.240Z","durationMs":69,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"headers.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:53 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"67","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"headers.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Response status should be 201 or 200","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"},{"description":"Required response headers should be present","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_096","caseName":"Verify sensitive personal data not echoed back raw","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.240Z","endedAt":"2026-06-23T11:13:53.253Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"sensitive.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","pan":"ABCPE1234F","dob":"1995-08-30"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"sensitive.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"pan\":\"ABCPE1234F\",\"dob\":\"1995-08-30\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"},{"description":"Response should not expose the exact PAN or DOB values","passed":true,"message":"No PAN/DOB leakage in response body"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]},{"caseId":"MAH_PI_087","caseName":"Verify duplicate email mapping","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:13:53.253Z","endedAt":"2026-06-23T11:13:53.330Z","durationMs":77,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"duplicate@fixerra.in","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:53 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"26","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"duplicate@fixerra.in\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Duplicate email fixture should be rejected when present, otherwise update must remain controlled","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_088","caseName":"Verify email verification gate","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":200,"startedAt":"2026-06-23T11:13:53.331Z","endedAt":"2026-06-23T11:13:53.430Z","durationMs":99,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"email.gate@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"0","content-security-policy":"default-src 'self'","date":"Tue, 23 Jun 2026 11:13:53 GMT","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"25","server":"envoy"},"responseBody":"","curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"email.gate@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\"}'","validations":[{"description":"Email gate should either allow update or return a controlled 403/400 response","passed":true,"message":"PUT /user returns an empty body for NBFC issuers via this query-param path (acceptable)"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_089","caseName":"Verify generic update failure","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.430Z","endedAt":"2026-06-23T11:13:53.449Z","durationMs":18,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","unknown_field_for_failure_path":true},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"15","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"unknown_field_for_failure_path\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Response should be a structured error","passed":true,"message":"Structured error response present"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_PI_093","caseName":"Verify restricted partner field violation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:13:53.449Z","endedAt":"2026-06-23T11:13:53.462Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"email":"suite.personal@fixerra.test","occupation":"SALARIED","annual_income":"15L - 25L Per Annum","marital_status":"Unmarried","mother_name":"TEST MOTHER","father_name":"TEST FATHER","education":"Graduate","source_of_income":"Salary","partner_url":"https://restricted.partner.test"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"305","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"131-RoGqNFkGQdi5KnRr6xjFEtDZh7c\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"Invalid field in request","f_error_message":"You are not allowed to update unspecified fields.","errorCode":"FIXUSER1385","error":"The request contains one or more fields that are not allowed to be updated."}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"email\":\"suite.personal@fixerra.test\",\"occupation\":\"SALARIED\",\"annual_income\":\"15L - 25L Per Annum\",\"marital_status\":\"Unmarried\",\"mother_name\":\"TEST MOTHER\",\"father_name\":\"TEST FATHER\",\"education\":\"Graduate\",\"source_of_income\":\"Salary\",\"partner_url\":\"https://restricted.partner.test\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK, body.statusCode=400"},{"description":"Field is not updatable via authMode:partner (rejected before persistence)","passed":true,"message":"Partner-mode update correctly rejected for this field"}],"docsFile":"user-services/API_QA_PI_PUT_USER.md","expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1385"]}],"summary":{"total":84,"passed":84,"failed":0,"skipped":0,"running":0,"pending":0,"durationMs":5906}},{"stepId":"step-06-aadhaar-kyc","stepName":"Aadhaar KYC (Digilocker)","cases":[{"caseId":"MAH_KYC_001","caseName":"Mahindra Aadhaar gate: fresh user has is_aadhaar_xml_present falsy","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:53.462Z","endedAt":"2026-06-23T11:13:53.547Z","durationMs":85,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1638","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"666-tpLEPUF2yQfb84Hsoa26quPwuJ8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"82","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"createdAt":"2026-06-23T11:13:19.000Z","isActive":true,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","profile_photo":null,"profile_photo_file_name":null,"pan":"249a22814bf213a7ff2e68cfa58da9d3:c7ffdd78ce0e0d9c1095a78979a7040d","email":"qa.user@fixerra.in","password":"","sub_account":"","gender":"","salutation":"","first_name":"DILIP","middle_name":"KALU","last_name":"RATHOD","pan_first_name":"DILIP","pan_middle_name":"KALU","pan_last_name":"RATHOD","phone":"918668336629","code":"91","dob":"1992-04-30","care_of":"","referral_code":"","masked_aadhaar":"","user_activation_date":null,"user_registration_date":"2026-06-23T11:13:19.534Z","user_deactivation_date":"","custodial_account":"","occupation":"","annual_income":"","user_tax_status":"","father_name":"KALU NATHU RATHOD","is_pan_verified":false,"is_email_verified":true,"is_aadhaar_verified":false,"is_nominee_present":false,"is_ckyc_verified":false,"is_bank_present":false,"kin":"father","kin_first_name":"KALU","kin_middle_name":"NATHU","kin_last_name":"RATHOD","marital_status":"","kapture_id":"","user_aadhaar_verification_date":null,"user_pan_verification_date":"2026-06-23T11:13:40.000Z","user_nominee_update_date":null,"user_bank_account_update_date":null,"user_email_verification_date":"2026-06-23T11:13:45.000Z","profile_updated_at":"2026-06-23T11:13:40.000Z","mother_name":null,"education":null,"source_of_income":null,"is_broker":false,"is_aadhaar_xml_present":false,"created_at_ist":"2026-06-23T16:43:19.000Z","decrypted_pan":"BLXPR3438L","is_personal_details":{"BAJ":false,"MAH":false,"SHRI":false}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"is_aadhaar_xml_present should be falsy for a fresh NTB user (UI routes to Aadhaar screen)","passed":true,"message":"is_aadhaar_xml_present=false — Aadhaar step correctly required"}],"docsFile":"user-services/API_QA_PI_GET_USER.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_002","caseName":"Verify Digilocker URL generation with valid token","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:53.547Z","endedAt":"2026-06-23T11:13:53.725Z","durationMs":178,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"1a5-7OTfIf0R3eVXHmz+4+yH9TlBcWc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"176","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=NCcTcyKUvQfM0m4_zHKgukRx5KRx_gZSTXJYGgjy4QE&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a71a2aed6dade6966b7"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200/201 (contract status is body.statusCode)","passed":true,"message":"HTTP 201"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"payload.url should be present and non-empty","passed":true,"message":"url length=357"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_003","caseName":"Verify Digilocker URL starts with HTTPS","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:53.726Z","endedAt":"2026-06-23T11:13:53.884Z","durationMs":158,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:53 GMT","etag":"W/\"1a5-dezfAobbtJV3AGuuTpDiD2OPqck\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"156","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=bYOSgcJreUfMGwuswjgRPq_sqd7eqlz_3NpAx_M0wNk&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a71a2aed6dade6966bb"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"payload.url should start with https://","passed":true,"message":"URL starts with https://"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_004","caseName":"Verify Digilocker URL format validity","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:53.885Z","endedAt":"2026-06-23T11:13:54.067Z","durationMs":182,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"1a5-A0fXPXCSboWVVGkbA7AZKW+fr7E\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"179","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=9bksjZXZlqiJih1R3zA-ugqztg_2QxTcTYUtLSKcRdo&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a71a2aed6dade6966bf"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"payload.url should be a well-formed URL","passed":true,"message":"URL is well-formed"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_005","caseName":"Verify response content type","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:54.067Z","endedAt":"2026-06-23T11:13:54.225Z","durationMs":158,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"1a5-GaZ0Oa0VL1JJZfwOjCWIVD8Nbyc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"155","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=igEVFjq8pAAt-eU7BzFTVq4le1iUTPMIJOpF_RJ05Bo&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a72a2aed6dade6966c3"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response content type should be application/json","passed":true,"message":"application/json response"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_006","caseName":"Verify response time (external Signzy session creation)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:54.225Z","endedAt":"2026-06-23T11:13:54.382Z","durationMs":157,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"1a5-xnc/nWaqgC8bHxuLyh++vQN7ZcQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"155","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=y8o4tPkV_1qJzSuq8yQaJFljbJh1YAKpq-8RDUVpVUA&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a72a2aed6dade6966c7"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should complete within 5000ms","passed":true,"message":"duration=157ms"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_007","caseName":"Verify URL does not expose personal data in plain text","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:54.382Z","endedAt":"2026-06-23T11:13:54.543Z","durationMs":161,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"1a5-J3NJItgH0pkWw1pvhIFO/CoYw3o\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"158","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=AxwmF_x4H1OWdkNy3W0Vl1EoheHvrLC0jpLTAPHBDIM&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a72a2aed6dade6966cb"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Digilocker URL should not contain PAN or mobile number in plain text","passed":true,"message":"No PAN/mobile in plain text in URL"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_008","caseName":"Verify response does not expose JWT token","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:54.544Z","endedAt":"2026-06-23T11:13:54.690Z","durationMs":146,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"1a5-Z39w2Y+qI/FHeVN87X2iIZQd8TA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"144","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=lGgM5lz9SXYxHKPrEYvOSzPzQlPCSEgM1UzmhkE8hjE&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a72a2aed6dade6966cf"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should not expose the JWT access token","passed":true,"message":"JWT token not present in response body"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_009","caseName":"Verify repeated calls generate a Digilocker URL successfully","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:54.691Z","endedAt":"2026-06-23T11:13:54.844Z","durationMs":153,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"1a5-/VT2hI5+JvnPNRtlIsniettsmaE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"151","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=Jxk3z2ANobzsUF53UNvbrKU6HFHcZ7nCzB022CKk748&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a72a2aed6dade6966d3"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200/201 (contract status is body.statusCode)","passed":true,"message":"HTTP 201"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"payload.url should be present and non-empty","passed":true,"message":"url length=357"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_010","caseName":"Verify missing source query is rejected with FIXUSER1091 (quirk: success stays 1)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:54.844Z","endedAt":"2026-06-23T11:13:54.872Z","durationMs":28,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"67","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"43-ASewrGSLEbgCj0SGo97MalFtTDA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"24","server":"envoy"},"responseBody":{"success":1,"statusCode":400,"message":"","payload":"FIXUSER1091"},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Body statusCode should be 400","passed":true,"message":"statusCode=400"},{"description":"Error payload should carry FIXUSER1091 (URL creation failure code)","passed":true,"message":"FIXUSER1091 present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_011","caseName":"Verify Authorization header mandatory","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:54.872Z","endedAt":"2026-06-23T11:13:54.877Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_012","caseName":"Verify invalid JWT token","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:54.877Z","endedAt":"2026-06-23T11:13:54.882Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer invalid.jwt.token"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer invalid.jwt.token'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_013","caseName":"Verify expired JWT token","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:54.882Z","endedAt":"2026-06-23T11:13:54.887Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_014","caseName":"Verify Bearer keyword missing","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:54.887Z","endedAt":"2026-06-23T11:13:54.931Z","durationMs":44,"requestHeaders":{"Content-Type":"application/json","Authorization":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_015","caseName":"Verify invalid Bearer format (Basic scheme)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:54.931Z","endedAt":"2026-06-23T11:13:54.937Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json","Authorization":"Basic dXNlcjpwYXNz"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Basic dXNlcjpwYXNz'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_020","caseName":"Verify Digilocker status reflects initiated session","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:54.937Z","endedAt":"2026-06-23T11:13:54.989Z","durationMs":52,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"326","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:54 GMT","etag":"W/\"146-r4QQ2JwIY0fsdv1xaCvHS63Zw4M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"50","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","digilocker_initiated":true,"verified":false,"error":{"errorCode":"FIXUSER1500","error":"DIGILOKER_TIMED_OUT","f_error_message":"Digilocker initiated but not processed yet","f_error_reason":"DIGILOKER_TIMED_OUT"}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200/201 (contract status is body.statusCode)","passed":true,"message":"HTTP 200"},{"description":"Response success flag should be 1","passed":true,"message":"success=1"},{"description":"Body statusCode should be 200","passed":true,"message":"statusCode=200"},{"description":"payload.digilocker_initiated should be true after URL creation","passed":true,"message":"digilocker_initiated=true"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_021","caseName":"Verify Digilocker status is unverified until external completion","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:54.989Z","endedAt":"2026-06-23T11:13:55.027Z","durationMs":38,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"326","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"146-r4QQ2JwIY0fsdv1xaCvHS63Zw4M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"35","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","digilocker_initiated":true,"verified":false,"error":{"errorCode":"FIXUSER1500","error":"DIGILOKER_TIMED_OUT","f_error_message":"Digilocker initiated but not processed yet","f_error_reason":"DIGILOKER_TIMED_OUT"}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"payload.verified should be false with error context before webhook completion","passed":true,"message":"verified=false with in-progress error context"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_022","caseName":"Verify Digilocker status missing JWT","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:55.028Z","endedAt":"2026-06-23T11:13:55.035Z","durationMs":7,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_023","caseName":"Verify Digilocker status invalid JWT","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:55.035Z","endedAt":"2026-06-23T11:13:55.040Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer bad.jwt"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer bad.jwt'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_016","caseName":"Verify Digilocker response envelope datatypes","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.040Z","endedAt":"2026-06-23T11:13:55.186Z","durationMs":146,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"1a5-k49WwD3+eqRNBlTpqyuC29JGOb4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"143","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=aDZcYM9MZr0Rgqg0ka2lM_aVtFT-NByo_5wlpY1-Idk&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a73a2aed6dade6966d7"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"success should have the expected datatype","passed":true,"message":"success datatype OK"},{"description":"statusCode should have the expected datatype","passed":true,"message":"statusCode datatype OK"},{"description":"message should have the expected datatype","passed":true,"message":"message datatype OK"},{"description":"payload.url should have the expected datatype","passed":true,"message":"payload.url datatype OK"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_017","caseName":"Verify Digilocker response does not leak PAN or mobile number","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.186Z","endedAt":"2026-06-23T11:13:55.351Z","durationMs":165,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"1a5-PQU4ja9EpVBHIIT/df3bHadDp3k\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"162","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=d3jxM4kn69lXfIXcy2uIYJVVJ7P_c0A5csAiJ_sV64M&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a73a2aed6dade6966db"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should not expose PAN or mobile number","passed":true,"message":"No PAN/mobile leakage in response body"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_018","caseName":"Verify SQL injection through headers on Digilocker URL generation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.351Z","endedAt":"2026-06-23T11:13:55.496Z","durationMs":145,"requestHeaders":{"Content-Type":"application/json","X-QA-Test":"' OR '1'='1' --","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"1a5-wlWwZoIEE2uMm/a3Mlq4Tm4k/2A\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"143","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=IYZtyno280o0NQKyMeN8U3VpRA-tfFVG_7mAyWbspsw&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a73a2aed6dade6966df"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-QA-Test: '\\'' OR '\\''1'\\''='\\''1'\\'' --' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"SQL injection header should either be rejected or safely ignored","passed":true,"message":"SQL injection header safely ignored by API (status 201, success=1)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_019","caseName":"Verify XSS injection through headers on Digilocker URL generation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.497Z","endedAt":"2026-06-23T11:13:55.645Z","durationMs":148,"requestHeaders":{"Content-Type":"application/json","X-QA-Test":"<script>alert(1)</script>","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"1a5-0VZq2lLN/9FfJAGhlFgAG1WnCgM\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"145","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=g0whrCICl2-omPBsFiJUYGUDoQaKzWXnean9cf13MEs&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a73a2aed6dade6966e3"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-QA-Test: <script>alert(1)</script>' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"XSS injection header should either be rejected or safely ignored","passed":true,"message":"XSS injection header safely ignored by API (status 201, success=1)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_024","caseName":"Verify HTML injection through headers on Digilocker URL generation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.645Z","endedAt":"2026-06-23T11:13:55.795Z","durationMs":150,"requestHeaders":{"Content-Type":"application/json","X-QA-Test":"<img src=x onerror=alert(1)>","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"1a5-xTwTU1wlTvZgdOVy1ZY00Ip1Fck\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"147","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=kk2vSOmvLOCH3lFex7kx1M96F3JawIn9kZC9HZ8FxVE&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a73a2aed6dade6966e7"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-QA-Test: <img src=x onerror=alert(1)>' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTML injection header should either be rejected or safely ignored","passed":true,"message":"HTML injection header safely ignored by API (status 201, success=1)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_025","caseName":"Verify header tampering (X-Forwarded-For / X-Forwarded-Host) on Digilocker URL generation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.795Z","endedAt":"2026-06-23T11:13:55.949Z","durationMs":154,"requestHeaders":{"Content-Type":"application/json","X-Forwarded-For":"127.0.0.1, malicious.example.com","X-Forwarded-Host":"malicious.example.com","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:55 GMT","etag":"W/\"1a5-zZoJ8eMlu8RyArxRhFAwgLii7B4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"151","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=_h-oUjCDYik3APcf7obaxa5gQEl_093p9fTFunzbLhg&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a73a2aed6dade6966eb"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-Forwarded-For: 127.0.0.1, malicious.example.com' \\\n  -H 'X-Forwarded-Host: malicious.example.com' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Header tampering should either be rejected or safely ignored","passed":true,"message":"Header tampering safely ignored by API (status 201, success=1)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_026","caseName":"Verify Digilocker URL generation behavior under burst traffic","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:55.949Z","endedAt":"2026-06-23T11:13:56.570Z","durationMs":621,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:56 GMT","etag":"W/\"1a5-x9Fi44LXU7e00xIIiqGDe0WP4/E\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"331","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=adTX_BrTcv7L9j3Eu1UMz3l6mbSz4d6p44kRMDwzhUg&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a74a2aed6dade6966fd"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201/400"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_027","caseName":"Verify HTTP method GET instead of POST for Digilocker URL generation","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"edge","expectedStatus":404,"httpStatus":404,"startedAt":"2026-06-23T11:13:56.570Z","endedAt":"2026-06-23T11:13:56.576Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"404","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:56 GMT","etag":"W/\"194-sWc6t74C7BeqG0JqlOA0sPvrg6Y\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":404,"message":"Cannot GET /api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079","payload":{},"error":{"statusCode":404,"message":"Cannot GET /api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079","error":"Not Found"}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Unsupported HTTP method should be rejected","passed":true,"message":"Method rejected with status 404"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_028","caseName":"Verify HTTP method PUT instead of POST for Digilocker URL generation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"edge","expectedStatus":404,"httpStatus":404,"startedAt":"2026-06-23T11:13:56.577Z","endedAt":"2026-06-23T11:13:56.585Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"404","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:56 GMT","etag":"W/\"194-Fi0y/LG7Z/z4FKroLJrcccH+D0Q\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"5","server":"envoy"},"responseBody":{"success":0,"statusCode":404,"message":"Cannot PUT /api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079","payload":{},"error":{"statusCode":404,"message":"Cannot PUT /api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079","error":"Not Found"}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Unsupported HTTP method should be rejected","passed":true,"message":"Method rejected with status 404"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_029","caseName":"Verify HTTP method DELETE instead of POST for Digilocker URL generation","service":"user-services","method":"DELETE","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"edge","expectedStatus":404,"httpStatus":404,"startedAt":"2026-06-23T11:13:56.586Z","endedAt":"2026-06-23T11:13:56.731Z","durationMs":145,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"410","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:56 GMT","etag":"W/\"19a-22+eSzTtngemE9TRpZvzBtr7Ts8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"41","server":"envoy"},"responseBody":{"success":0,"statusCode":404,"message":"Cannot DELETE /api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079","payload":{},"error":{"statusCode":404,"message":"Cannot DELETE /api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079","error":"Not Found"}},"curl":"curl -X DELETE 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Unsupported HTTP method should be rejected","passed":true,"message":"Method rejected with status 404"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_032","caseName":"Verify invalid digilocker query value is tolerated","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:56.731Z","endedAt":"2026-06-23T11:13:56.873Z","durationMs":142,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"not-a-flag","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:56 GMT","etag":"W/\"1a5-QUQ7jjTcTvpYOnginhoY1w1IazQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"139","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=EB4qInY159hz1D39d_AlqVubAtV4LSGyeTt7eexls28&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a74a2aed6dade696703"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=not-a-flag&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Invalid digilocker query value (acceptable per current API design)","passed":true,"message":"Status 201 acceptable for Invalid digilocker query value"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_033","caseName":"Verify empty event_id query value is tolerated","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:56.873Z","endedAt":"2026-06-23T11:13:57.008Z","durationMs":135,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":""},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"1a5-yQzzkF/q+TBj4ByMRrB4RbyTDlM\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"132","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=kZXprfLkLLIiDb8RZx0H0mqCmOy3WWVwExeuAalvm5w&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a74a2aed6dade696707"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Empty event_id (acceptable per current API design)","passed":true,"message":"Status 201 acceptable for Empty event_id"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_034","caseName":"Verify SQL injection in source query param is handled gracefully","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:57.008Z","endedAt":"2026-06-23T11:13:57.140Z","durationMs":132,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"' OR '1'='1' --","digilocker":"1","event_id":"cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"1a5-UvUGNwgvGixxK/VNEI7N4DVzCJI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"129","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=uOcdNTHINdMI2WQZqFfNWFeBnp6D3OidOlQPZtK5-vs&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a75a2aed6dade69670b"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%27+OR+%271%27%3D%271%27+--&digilocker=1&event_id=cc7942eb-33c2-4ecf-9f09-72daed8f9ac2-1782213208079' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"SQL injection in source query param should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 201)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_035","caseName":"Verify XSS payload in event_id query param is handled gracefully","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:57.140Z","endedAt":"2026-06-23T11:13:57.263Z","durationMs":123,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"source":"/signUp?fdBookMaturity=false","digilocker":"1","event_id":"<script>alert(1)</script>"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"421","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"1a5-XboZFyXeQWeloneaPsGN0a2vViI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"120","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"","payload":{"url":"https://api.digitallocker.gov.in/public/oauth2/1/authorize?client_id=7E5773C4&code_challenge=JoX0aMGBmYptjDRPS03OlL3em3LR_bfVVqylQOZMIp0&code_challenge_method=S256&dl_flow=signup&pla&redirect_uri=https%3A%2F%2Fdigilocker-preproduction.signzy.tech%2Fdigilocker-auth-complete&req_doctype=PANCR%2CADHAR%2CDRVLC&response_type=code&state=6a3a6a75a2aed6dade69670f"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker?source=%2FsignUp%3FfdBookMaturity%3Dfalse&digilocker=1&event_id=%3Cscript%3Ealert%281%29%3C%2Fscript%3E' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"XSS payload in event_id query param should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 201)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_040","caseName":"Verify HTTP method POST instead of GET for Digilocker status","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"edge","expectedStatus":404,"httpStatus":404,"startedAt":"2026-06-23T11:13:57.263Z","endedAt":"2026-06-23T11:13:57.331Z","durationMs":68,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"190","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"be-rG6amwzoqNskzJmomszCA31fUp8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":404,"message":"Cannot POST /api/v1/digilocker/status","payload":{},"error":{"statusCode":404,"message":"Cannot POST /api/v1/digilocker/status","error":"Not Found"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Unsupported HTTP method should be rejected","passed":true,"message":"Method rejected with status 404"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_041","caseName":"Verify HTTP method PUT instead of GET for Digilocker status","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"edge","expectedStatus":404,"httpStatus":404,"startedAt":"2026-06-23T11:13:57.331Z","endedAt":"2026-06-23T11:13:57.336Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"188","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"bc-QIwhp4o/ze2u/EgrdrCgX/FecyE\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":404,"message":"Cannot PUT /api/v1/digilocker/status","payload":{},"error":{"statusCode":404,"message":"Cannot PUT /api/v1/digilocker/status","error":"Not Found"}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Unsupported HTTP method should be rejected","passed":true,"message":"Method rejected with status 404"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_042","caseName":"Verify Digilocker status response envelope datatypes","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.336Z","endedAt":"2026-06-23T11:13:57.372Z","durationMs":36,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"326","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"146-r4QQ2JwIY0fsdv1xaCvHS63Zw4M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"32","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","digilocker_initiated":true,"verified":false,"error":{"errorCode":"FIXUSER1500","error":"DIGILOKER_TIMED_OUT","f_error_message":"Digilocker initiated but not processed yet","f_error_reason":"DIGILOKER_TIMED_OUT"}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"success should have the expected datatype","passed":true,"message":"success datatype OK"},{"description":"statusCode should have the expected datatype","passed":true,"message":"statusCode datatype OK"},{"description":"message should have the expected datatype","passed":true,"message":"message datatype OK"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_043","caseName":"Verify Digilocker status rejects when Bearer keyword is missing","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:57.372Z","endedAt":"2026-06-23T11:13:57.378Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json","Authorization":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_044","caseName":"Verify Digilocker status rejects Basic auth scheme","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:57.378Z","endedAt":"2026-06-23T11:13:57.431Z","durationMs":53,"requestHeaders":{"Content-Type":"application/json","Authorization":"Basic dXNlcjpwYXNz"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Basic dXNlcjpwYXNz'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Body statusCode should be 401","passed":true,"message":"statusCode=401"},{"description":"Response success flag should be 0","passed":true,"message":"success=0"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_045","caseName":"Verify Digilocker status response time","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.431Z","endedAt":"2026-06-23T11:13:57.475Z","durationMs":44,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"326","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"146-r4QQ2JwIY0fsdv1xaCvHS63Zw4M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"41","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","digilocker_initiated":true,"verified":false,"error":{"errorCode":"FIXUSER1500","error":"DIGILOKER_TIMED_OUT","f_error_message":"Digilocker initiated but not processed yet","f_error_reason":"DIGILOKER_TIMED_OUT"}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should complete within 3000ms","passed":true,"message":"duration=44ms"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_046","caseName":"Verify Digilocker status behavior under burst traffic","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/api/v1/digilocker/status","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.475Z","endedAt":"2026-06-23T11:13:57.661Z","durationMs":186,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"326","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"146-r4QQ2JwIY0fsdv1xaCvHS63Zw4M\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"122","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","digilocker_initiated":true,"verified":false,"error":{"errorCode":"FIXUSER1500","error":"DIGILOKER_TIMED_OUT","f_error_message":"Digilocker initiated but not processed yet","f_error_reason":"DIGILOKER_TIMED_OUT"}}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/api/v1/digilocker/status' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_061","caseName":"Save verified bank account for fresh user (Mahindra)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/v2/signzy/bank","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":201,"startedAt":"2026-06-23T11:13:57.661Z","endedAt":"2026-06-23T11:13:57.760Z","durationMs":99,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"account":"10076324285","ifsc":"IDFB0040112","account_holder_full_name":"QA Test User","consent_checked":true,"fd_info":"{\"issuer\":{\"f_code\":\"MAH\"}}"},"requestQuery":{"issuer_code":"MAH","issuer_type":"NBFC"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"17","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"11-z5EWd6k6y6k0MQWTeNizVwP8d3Y\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"95","server":"envoy"},"responseBody":{"verified":true},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/v2/signzy/bank?issuer_code=MAH&issuer_type=NBFC' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"account\":\"10076324285\",\"ifsc\":\"IDFB0040112\",\"account_holder_full_name\":\"QA Test User\",\"consent_checked\":true,\"fd_info\":\"{\\\"issuer\\\":{\\\"f_code\\\":\\\"MAH\\\"}}\"}'","validations":[{"description":"Bank save should succeed (200/201, verified)","passed":true,"message":"Bank saved (HTTP 201)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_KYC_062","caseName":"Get bank accounts for Mahindra payout","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"static","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.760Z","endedAt":"2026-06-23T11:13:57.864Z","durationMs":104,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"decrypt":"true","page_name":"review_bank","issuer_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"457","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"1c9-p3TocaDtymjCK0Z1pNITM3Nbfnw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"101","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"10076324285","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","bank_logo":"https://images.fixerra.in/bank_logos_payu/idfc-bank-apps-circle.svg","bank_alias":"IDFC","code":"IDFCNB","unsupported":false}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?decrypt=true&page_name=review_bank&issuer_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_001_List_Success_NBFC_Default_0","caseName":"[POSITIVE] NBFC/local list returns array payload","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.864Z","endedAt":"2026-06-23T11:13:57.876Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"726","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"2d6-y3J9XP1hkQNCugHtHx+fOzgKGnU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":70482,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"249a22814bf213a7ff2e68cfa58da9d3:d7712a5e592b2f877efac9ebe19f7d19","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","effective_dt":"2026-06-23T11:13:58.000Z","branch_name":"THANE BRANCH","micr_code":"","name_match_score":"","address":"GROUND FLOOR, SHOP NO 6  7, P.E.S.NEW ENGLISH BUILDING, DR.RAMESH PRADHAN ROAD, OFF. RAM MARUTI CROSS ROAD, THANE WEST, THANE 400602, TOLL FREE NUMBER 18004194332","state":"MAHARASHTRA","district":"THANE","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_002_List_Success_NBFC_Pagination_Valid_1","caseName":"[POSITIVE] Valid `page/limit` doesn’t crash","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.876Z","endedAt":"2026-06-23T11:13:57.888Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"page":"1","limit":"10"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"726","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"2d6-y3J9XP1hkQNCugHtHx+fOzgKGnU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":70482,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"249a22814bf213a7ff2e68cfa58da9d3:d7712a5e592b2f877efac9ebe19f7d19","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","effective_dt":"2026-06-23T11:13:58.000Z","branch_name":"THANE BRANCH","micr_code":"","name_match_score":"","address":"GROUND FLOOR, SHOP NO 6  7, P.E.S.NEW ENGLISH BUILDING, DR.RAMESH PRADHAN ROAD, OFF. RAM MARUTI CROSS ROAD, THANE WEST, THANE 400602, TOLL FREE NUMBER 18004194332","state":"MAHARASHTRA","district":"THANE","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?page=1&limit=10' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_003_List_Success_NBFC_Pagination_Invalid_Autofix_2","caseName":"[POSITIVE] Invalid page/limit are reset by controller","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.888Z","endedAt":"2026-06-23T11:13:57.899Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"page":"0","limit":"0"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"726","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"2d6-y3J9XP1hkQNCugHtHx+fOzgKGnU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":70482,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"249a22814bf213a7ff2e68cfa58da9d3:d7712a5e592b2f877efac9ebe19f7d19","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","effective_dt":"2026-06-23T11:13:58.000Z","branch_name":"THANE BRANCH","micr_code":"","name_match_score":"","address":"GROUND FLOOR, SHOP NO 6  7, P.E.S.NEW ENGLISH BUILDING, DR.RAMESH PRADHAN ROAD, OFF. RAM MARUTI CROSS ROAD, THANE WEST, THANE 400602, TOLL FREE NUMBER 18004194332","state":"MAHARASHTRA","district":"THANE","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?page=0&limit=0' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_004_List_Success_NBFC_DecryptTrue_ReturnsDigits_3","caseName":"[POSITIVE] `decrypt=true` decrypts account number in NBFC branch","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.899Z","endedAt":"2026-06-23T11:13:57.954Z","durationMs":55,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"decrypt":"true"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"790","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"316-oyOXv6jF8i7srIwPeU8aD5IIFFw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"51","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":70482,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"10076324285","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","effective_dt":"2026-06-23T11:13:58.000Z","branch_name":"THANE BRANCH","micr_code":"","name_match_score":"","address":"GROUND FLOOR, SHOP NO 6  7, P.E.S.NEW ENGLISH BUILDING, DR.RAMESH PRADHAN ROAD, OFF. RAM MARUTI CROSS ROAD, THANE WEST, THANE 400602, TOLL FREE NUMBER 18004194332","state":"MAHARASHTRA","district":"THANE","deleted_at":null,"bank_logo":"https://images.fixerra.in/bank_logos_payu/idfc-bank-apps-circle.svg","bank_alias":"IDFC","code":"IDFCNB"}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?decrypt=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_005_List_Security_DecryptFalse_NoPlainDigits_4","caseName":"[POSITIVE] Security: default must not return plaintext digits","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.955Z","endedAt":"2026-06-23T11:13:57.986Z","durationMs":31,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"decrypt":"false"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"790","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:57 GMT","etag":"W/\"316-oyOXv6jF8i7srIwPeU8aD5IIFFw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"28","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":70482,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"10076324285","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","effective_dt":"2026-06-23T11:13:58.000Z","branch_name":"THANE BRANCH","micr_code":"","name_match_score":"","address":"GROUND FLOOR, SHOP NO 6  7, P.E.S.NEW ENGLISH BUILDING, DR.RAMESH PRADHAN ROAD, OFF. RAM MARUTI CROSS ROAD, THANE WEST, THANE 400602, TOLL FREE NUMBER 18004194332","state":"MAHARASHTRA","district":"THANE","deleted_at":null,"bank_logo":"https://images.fixerra.in/bank_logos_payu/idfc-bank-apps-circle.svg","bank_alias":"IDFC","code":"IDFCNB"}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?decrypt=false' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_006_List_Success_USFB_Branch_5","caseName":"[POSITIVE] `issuer_code=USFB` uses USFB branch","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:57.986Z","endedAt":"2026-06-23T11:13:58.324Z","durationMs":338,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"issuer_code":"USFB"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"463","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"1cf-ehAgeZxqI3dDyB5J4IrVnGwh4Ak\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"336","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"10076324285","bank_name":"IDFC FIRST Bank","bank_code":"IDFCNB","bank_logo":"https://images.fixerra.in/bank_logos_payu/idfc-bank-apps-circle.svg","bank_alias":"IDFC","ifsc":"IDFB0040112","f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","is_default":true,"verified":true,"acc_holder_name":"QA Test User","unsupported":false}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?issuer_code=USFB' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_007_List_Success_IIB_Branch_6","caseName":"[POSITIVE] `issuer_code=IIB` uses IIB branch","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:58.324Z","endedAt":"2026-06-23T11:13:58.365Z","durationMs":41,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"issuer_code":"IIB"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"63","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"3f-oCPC8DEMdT63LEPOmlpkObbO8j8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"38","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?issuer_code=IIB' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_008_List_Branch_USFB_DecryptIgnored_7","caseName":"[POSITIVE] `decrypt=true` is ignored for USFB branch","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:58.365Z","endedAt":"2026-06-23T11:13:58.460Z","durationMs":95,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"issuer_code":"USFB","decrypt":"true"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"463","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"1cf-ehAgeZxqI3dDyB5J4IrVnGwh4Ak\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"92","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"10076324285","bank_name":"IDFC FIRST Bank","bank_code":"IDFCNB","bank_logo":"https://images.fixerra.in/bank_logos_payu/idfc-bank-apps-circle.svg","bank_alias":"IDFC","ifsc":"IDFB0040112","f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","is_default":true,"verified":true,"acc_holder_name":"QA Test User","unsupported":false}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?issuer_code=USFB&decrypt=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_009_List_Branch_IIB_DecryptIgnored_8","caseName":"[POSITIVE] `decrypt=true` is ignored for IIB branch","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:58.460Z","endedAt":"2026-06-23T11:13:58.502Z","durationMs":42,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"issuer_code":"IIB","decrypt":"true"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"63","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"3f-oCPC8DEMdT63LEPOmlpkObbO8j8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"39","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?issuer_code=IIB&decrypt=true' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_010_List_Filter_PageName_Review_9","caseName":"[POSITIVE] `page_name` passes through and may change projections","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:58.502Z","endedAt":"2026-06-23T11:13:58.516Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"page_name":"review"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"735","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"2df-E9QTZz0IfbZXfh9s+xAGWFjzThI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":70482,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_bank_id":"17da5484-27af-4867-8f7c-3d8022f6051f","account_number":"249a22814bf213a7ff2e68cfa58da9d3:d7712a5e592b2f877efac9ebe19f7d19","verfied":true,"ifsc":"IDFB0040112","bank_name":"IDFC FIRST Bank","is_default":true,"acc_holder_name":"QA Test User","effective_dt":"2026-06-23T11:13:58.000Z","branch_name":"THANE BRANCH","micr_code":"400751011","name_match_score":"","address":"GROUND FLOOR, SHOP NO 6  7, P.E.S.NEW ENGLISH BUILDING, DR.RAMESH PRADHAN ROAD, OFF. RAM MARUTI CROSS ROAD, THANE WEST, THANE 400602, TOLL FREE NUMBER 18004194332","state":"MAHARASHTRA","district":"THANE","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts?page_name=review' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"HTTP status should be 200","passed":true,"message":"Got 200"},{"description":"Response should indicate success (no error envelope)","passed":true,"message":"No error envelope detected"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_011_Unauthorized_NoAuth_10","caseName":"[POSITIVE] Missing auth rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.516Z","endedAt":"2026-06-23T11:13:58.526Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_012_Unauthorized_MalformedJWT_11","caseName":"[POSITIVE] Malformed token rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.526Z","endedAt":"2026-06-23T11:13:58.531Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer bad.jwt"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer bad.jwt'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"API_QA_REVIEW_GET_BANK_ACCOUNTS_TC_BANK_013_Unauthorized_ExpiredJWT_12","caseName":"[POSITIVE] Expired token rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/bank-accounts","status":"passed","scenarioType":"positive","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.531Z","endedAt":"2026-06-23T11:13:58.537Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/bank-accounts' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token'","validations":[{"description":"Should indicate error (HTTP 401 or body statusCode=401)","passed":true,"message":"Error confirmed (HTTP 401, body.statusCode=401)"}],"docsFile":"user-services/API_QA_REVIEW_GET_BANK_ACCOUNTS.md","apiMeta":{"endpoint":"/bank-accounts","method":"GET","guards":"Controller: `services/user-services/src/user-bank-accounts/user-bank-accounts.controller.ts` → `GET ","authHint":"| Auth | `UserJwtGuard` (Bearer JWT **or** internal `apikey`) |","summary":"| API Name | List User Bank Accounts |"},"expectedErrorCodes":[],"actualErrorCodes":[]}],"summary":{"total":55,"passed":55,"failed":0,"skipped":0,"running":0,"pending":0,"durationMs":5065}},{"stepId":"step-07-lead-phase","stepName":"Mahindra Lead and KYC Context","cases":[{"caseId":"MAH_LEAD_001","caseName":"Create Mahindra lead and KYC context (Jump MAH/lead-and-kyc)","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:58.537Z","endedAt":"2026-06-23T11:13:58.645Z","durationMs":108,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"96","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Lead phase should succeed with f_user_transaction_id, or be blocked only at the Mahindra issuer boundary (surfaced FIX*/Jump error)","passed":true,"message":"Platform checks passed; rejected at Mahindra issuer boundary (HTTP 400) — accepted"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_002","caseName":"Reject lead creation without JWT","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.645Z","endedAt":"2026-06-23T11:13:58.649Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_003","caseName":"Reject lead creation with invalid JWT","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.649Z","endedAt":"2026-06-23T11:13:58.652Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer invalid.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer invalid.jwt.token'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_004","caseName":"Reject lead creation with expired JWT","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.652Z","endedAt":"2026-06-23T11:13:58.655Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_005","caseName":"Reject lead creation with malformed/corrupted JWT","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.655Z","endedAt":"2026-06-23T11:13:58.658Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer corrupted-token-!!!"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer corrupted-token-!!!'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_006","caseName":"Reject lead creation when Bearer keyword is missing","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.658Z","endedAt":"2026-06-23T11:13:58.661Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_007","caseName":"Reject lead creation with Basic auth scheme instead of Bearer","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.661Z","endedAt":"2026-06-23T11:13:58.731Z","durationMs":70,"requestHeaders":{"Content-Type":"application/json","Authorization":"Basic dXNlcjpwYXNz"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Basic dXNlcjpwYXNz'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_008","caseName":"Reject lead creation with empty Authorization header","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:13:58.731Z","endedAt":"2026-06-23T11:13:58.734Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_009","caseName":"Verify HTTP method GET instead of POST for lead creation","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:58.734Z","endedAt":"2026-06-23T11:13:58.813Z","durationMs":79,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"185","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"b9-+4m0EWMltfs3lRD/RZxC8FL4A/U\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"75","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXINV073","error":"Invaild Parnter Transaction Id"}]},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"GET on lead creation path should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 400)"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV073"]},{"caseId":"MAH_LEAD_013","caseName":"Verify HTTP method PUT instead of POST for lead creation","service":"user-investment-services","method":"PUT","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:13:58.813Z","endedAt":"2026-06-23T11:13:58.881Z","durationMs":68,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"1139","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"473-go7RzTKybLmXtf3ULLqhkaj9ibQ\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"66","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"UPDATED","payload":{"id":48474,"f_user_transaction_id":"mahindra-kyc-and-lead","f_partner_user_id":"","fdr_number":"","f_investment_vehicle_id":null,"investment_dt":"2026-06-12T17:54:09.535Z","maturity_dt":null,"investment_amount":null,"expected_maturity_amount":null,"transaction_status":"failed","holding_status":"Failed","payment_id":"","payment_dt":null,"payment_mode":"","order_id":"","issuer_transaction_id":"","frequency":"","expected_transaction_dt":null,"end_date":null,"last_transaction_dt":null,"f_user_bank_id":"","auto_renewal":null,"renewal_preference":null,"deleted_at":null,"event_id":null,"f_partner_transaction_id":null,"autopay_mandate":false,"tenure":null,"refunded_dt":null,"maturity_instruction_updated_at":null,"f_user_nominee_id":null,"investment_dt_ist":null,"maturity_dt_ist":null,"payment_dt_ist":null,"marketing_campaign":null,"payment_gateway":null,"renewal_history_update":null,"total_gains":null,"payout_amount":null,"nominee_consent":null,"declares_indian_resident":null,"declares_pep":null,"declares_related_party":null,"bank_pan_consent":null,"product_type":null}},"curl":"curl -X PUT 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"PUT on lead creation path should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 200)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_014","caseName":"Verify HTTP method DELETE instead of POST for lead creation","service":"user-investment-services","method":"DELETE","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:58.881Z","endedAt":"2026-06-23T11:13:58.953Z","durationMs":72,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"182","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:58 GMT","etag":"W/\"b6-6O8cEv4hJqoslZd0sNBHYeytsiU\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"68","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXINV019","error":"Transaction deletion failed"}]},"curl":"curl -X DELETE 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"DELETE on lead creation path should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 400)"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV019"]},{"caseId":"MAH_LEAD_015","caseName":"Verify lead creation response envelope datatypes","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:58.953Z","endedAt":"2026-06-23T11:13:59.031Z","durationMs":78,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"76","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"success should have the expected datatype","passed":true,"message":"success datatype OK"},{"description":"statusCode should have the expected datatype","passed":true,"message":"statusCode datatype OK"},{"description":"message should have the expected datatype","passed":true,"message":"message datatype OK"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_016","caseName":"Verify lead creation response time","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.031Z","endedAt":"2026-06-23T11:13:59.132Z","durationMs":101,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"98","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should complete within 8000ms","passed":true,"message":"duration=101ms"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_017","caseName":"Verify lead creation response does not leak PAN or mobile number","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.132Z","endedAt":"2026-06-23T11:13:59.286Z","durationMs":154,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"151","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should not expose PAN or mobile number","passed":true,"message":"No PAN/mobile leakage in response body"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_018","caseName":"Verify lead creation response does not expose JWT token","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.286Z","endedAt":"2026-06-23T11:13:59.399Z","durationMs":113,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"110","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response should not expose the JWT access token","passed":true,"message":"JWT token not present in response body"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_019","caseName":"Verify repeated lead creation calls do not error (idempotent / re-runnable)","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.399Z","endedAt":"2026-06-23T11:13:59.480Z","durationMs":81,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"78","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Lead phase should succeed with f_user_transaction_id, or be blocked only at the Mahindra issuer boundary (surfaced FIX*/Jump error)","passed":true,"message":"Platform checks passed; rejected at Mahindra issuer boundary (HTTP 400) — accepted"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_021","caseName":"Verify SQL injection through headers on lead creation","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.480Z","endedAt":"2026-06-23T11:13:59.565Z","durationMs":85,"requestHeaders":{"Content-Type":"application/json","X-QA-Test":"' OR '1'='1' --","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-QA-Test: '\\'' OR '\\''1'\\''='\\''1'\\'' --' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"SQL injection header should either be rejected or safely ignored","passed":true,"message":"SQL injection header rejected by API (status 400)"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_022","caseName":"Verify XSS injection through headers on lead creation","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.565Z","endedAt":"2026-06-23T11:13:59.650Z","durationMs":85,"requestHeaders":{"Content-Type":"application/json","X-QA-Test":"<script>alert(1)</script>","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"82","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-QA-Test: <script>alert(1)</script>' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"XSS injection header should either be rejected or safely ignored","passed":true,"message":"XSS injection header rejected by API (status 400)"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_023","caseName":"Verify header tampering (X-Forwarded-For / X-Forwarded-Host) on lead creation","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"negative","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.650Z","endedAt":"2026-06-23T11:13:59.786Z","durationMs":136,"requestHeaders":{"Content-Type":"application/json","X-Forwarded-For":"127.0.0.1, malicious.example.com","X-Forwarded-Host":"malicious.example.com","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:13:59 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"133","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-Forwarded-For: 127.0.0.1, malicious.example.com' \\\n  -H 'X-Forwarded-Host: malicious.example.com' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Header tampering should either be rejected or safely ignored","passed":true,"message":"Header tampering rejected by API (status 400)"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_024","caseName":"Verify lead creation behavior under burst traffic","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:13:59.786Z","endedAt":"2026-06-23T11:14:00.847Z","durationMs":1061,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"187","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:00 GMT","etag":"W/\"bb-Lsyi1YkpCUt0mXNty1WEaLZZDjg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"411","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXINV051","error":"Issuer not enabled for Partner"}]},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/user-transaction/mahindra-kyc-and-lead' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"No request in the burst should return a 5xx or network error","passed":true,"message":"All 5 requests completed without 5xx/network errors"},{"description":"API should either enforce rate limiting (HTTP 429) or remain stable under burst traffic","passed":true,"message":"No rate limiting enforced — all 5 requests succeeded with HTTP 200/201/400"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXINV051"]},{"caseId":"MAH_LEAD_011","caseName":"Reject lead status check without JWT","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:00.847Z","endedAt":"2026-06-23T11:14:00.850Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:00 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_025","caseName":"Reject lead status check with expired JWT","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:00.850Z","endedAt":"2026-06-23T11:14:00.853Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:00 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_026","caseName":"Reject lead status check with malformed JWT","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:00.853Z","endedAt":"2026-06-23T11:14:00.856Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer corrupted-token-!!!"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:00 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer corrupted-token-!!!'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_027","caseName":"Reject lead status check when Bearer keyword is missing","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:00.856Z","endedAt":"2026-06-23T11:14:00.860Z","durationMs":4,"requestHeaders":{"Content-Type":"application/json","Authorization":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"55","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:00 GMT","etag":"W/\"37-Vpk+yZYTrfB878bqirsqLrIUy3Q\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"error":"Access Denied."},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 401","passed":true,"message":"Status 401"},{"description":"Response message should be an auth rejection","passed":true,"message":"message=\"\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_028","caseName":"Verify HTTP method POST instead of GET for lead status check","service":"user-investment-services","method":"POST","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000","status":"passed","scenarioType":"edge","expectedStatus":404,"httpStatus":404,"startedAt":"2026-06-23T11:14:00.860Z","endedAt":"2026-06-23T11:14:00.863Z","durationMs":3,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"124","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:00 GMT","etag":"W/\"7c-/J2eJvNEcQh0f7bY4UkCTd68Hdg\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"1","server":"envoy"},"responseBody":{"statusCode":404,"message":"Cannot POST /lead-transaction-status/00000000-0000-4000-8000-000000000000","error":"Not Found"},"curl":"curl -X POST 'https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Unsupported HTTP method should be rejected","passed":true,"message":"Method rejected with status 404"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_012","caseName":"Lead status with malformed transaction id is handled gracefully","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/not-a-uuid","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:14:00.863Z","endedAt":"2026-06-23T11:14:01.021Z","durationMs":158,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"256","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:01 GMT","etag":"W/\"100-xeXfV/Q+jg+Erm3NYCwRlLf3V+4\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"155","server":"envoy"},"responseBody":{"statusCode":200,"payload":{"transaction_id":"not-a-uuid","lead_present":false,"save_transaction_present":false,"recommendation":"LEAD_NOT_FOUND","message":"No lead found for this transaction_id. Create lead first, then you can create save transaction."}},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/not-a-uuid' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Malformed id should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 200)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_029","caseName":"Lead status with well-formed but non-existent transaction id is handled gracefully","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:01.021Z","endedAt":"2026-06-23T11:14:01.132Z","durationMs":111,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"282","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:01 GMT","etag":"W/\"11a-Zig/N3TaC2h86wW3MLm3cWgeY1g\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"108","server":"envoy"},"responseBody":{"statusCode":200,"payload":{"transaction_id":"00000000-0000-4000-8000-000000000000","lead_present":false,"save_transaction_present":false,"recommendation":"LEAD_NOT_FOUND","message":"No lead found for this transaction_id. Create lead first, then you can create save transaction."}},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/00000000-0000-4000-8000-000000000000' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Non-existent transaction id should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 200)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_030","caseName":"Lead status with SQL injection in transaction id is handled gracefully","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/'%20OR%20'1'%3D'1'%20--","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":200,"startedAt":"2026-06-23T11:14:01.132Z","endedAt":"2026-06-23T11:14:01.406Z","durationMs":274,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"261","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:01 GMT","etag":"W/\"105-pzDNxuP21wGlhLSta5Trii7oAoE\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"271","server":"envoy"},"responseBody":{"statusCode":200,"payload":{"transaction_id":"' OR '1'='1' --","lead_present":false,"save_transaction_present":false,"recommendation":"LEAD_NOT_FOUND","message":"No lead found for this transaction_id. Create lead first, then you can create save transaction."}},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/'\\''%20OR%20'\\''1'\\''%3D'\\''1'\\''%20--' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"SQL injection in transaction id should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 200)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_LEAD_031","caseName":"Lead status with XSS payload in transaction id is handled gracefully","service":"user-investment-services","method":"GET","url":"https://investments-api.dev.fixerra.in/lead-transaction-status/%3Cscript%3Ealert(1)%3C%2Fscript%3E","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:01.406Z","endedAt":"2026-06-23T11:14:01.621Z","durationMs":215,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, must-revalidate, private","content-length":"244","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:01 GMT","etag":"W/\"f4-YkTfrn7a9jdqB/zyJ48LP1IpwYs\"","referrer-policy":"origin-when-cross-origin","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"212","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":{"errorCode":"FIXUSERDEFAULT","error":["You"],"f_error_reason":"","f_error_message":["You"]}}},"curl":"curl -X GET 'https://investments-api.dev.fixerra.in/lead-transaction-status/%3Cscript%3Ealert(1)%3C%2Fscript%3E' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"XSS payload in transaction id should not cause an unhandled 5xx and should return a structured body","passed":true,"message":"Handled gracefully (HTTP 400)"}],"expectedErrorCodes":[],"actualErrorCodes":[]}],"summary":{"total":29,"passed":29,"failed":0,"skipped":0,"running":0,"pending":0,"durationMs":3084}},{"stepId":"step-09-nominee","stepName":"Nominee","cases":[{"caseId":"MAH_NOMINEE_001","caseName":"Get existing nominees (MAH)","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:01.621Z","endedAt":"2026-06-23T11:14:01.813Z","durationMs":192,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"63","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:01 GMT","etag":"W/\"3f-oCPC8DEMdT63LEPOmlpkObbO8j8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"187","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"}],"docsFile":"user-services/API_QA_PI_GET_USER_NOMINEE.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_002","caseName":"Create valid adult nominee (MAH)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:01.813Z","endedAt":"2026-06-23T11:14:02.009Z","durationMs":196,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"518","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"206-qOPOXxrrhH2XUu69PKdSS4NW7B0\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"192","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":true,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10801,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","created_at":"2026-06-23T11:14:01.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"docsFile":"user-services/API_QA_PI_POST_USER_NOMINEE.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_003","caseName":"Get nominee by id returns the created nominee","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee/726aaa4d-82eb-4a60-ab37-e46646e8afeb","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:02.009Z","endedAt":"2026-06-23T11:14:02.120Z","durationMs":111,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"636","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"27c-/a7bdHltjZQEYURhf3oOKXXxTI4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"106","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"User already exists.","payload":{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee/726aaa4d-82eb-4a60-ab37-e46646e8afeb?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Returned nominee should match created first name","passed":true,"message":"first_name=Ramesh"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_004","caseName":"Update nominee relation by id","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/726aaa4d-82eb-4a60-ab37-e46646e8afeb","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:02.120Z","endedAt":"2026-06-23T11:14:02.307Z","durationMs":187,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"nominee_relation":"Mother","nominee_salutation":"MRS"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"624","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"270-7nwdJR/iyEAW4SZaKIqUnEeWf10\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"184","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"SUCCESS","payload":{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/726aaa4d-82eb-4a60-ab37-e46646e8afeb?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"nominee_relation\":\"Mother\",\"nominee_salutation\":\"MRS\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 200 OK"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_005","caseName":"Create minor nominee with guardian details","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:02.307Z","endedAt":"2026-06-23T11:14:02.512Z","durationMs":205,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Chintu","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"2015-06-10","nominee_relation":"Son","nominee_salutation":"MR","is_default":false,"guardian_first_name":"Ramesh","guardian_last_name":"Kumar","guardian_dob":"1990-04-15","guardian_salutation":"MR","guardian_relation":"Father"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"611","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"263-i0ulX6SD3aI5boobY/hQpDSHEL4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"200","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Chintu","middle_name":"","last_name":"Kumar","nominee_dob":"2015-06-10","nominee_pan":"","nominee_relation":"Son","nominee_salutation":"MR","guardian_first_name":"Ramesh","guardian_last_name":"Kumar","guardian_dob":"1990-04-15","guardian_relation":"Father","guardian_salutation":"MR","nominee_name_consent":null,"id":10802,"f_user_nominee_id":"58100f30-1cd8-4c46-9072-fa0d8accf29f","created_at":"2026-06-23T11:14:02.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Chintu\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"2015-06-10\",\"nominee_relation\":\"Son\",\"nominee_salutation\":\"MR\",\"is_default\":false,\"guardian_first_name\":\"Ramesh\",\"guardian_last_name\":\"Kumar\",\"guardian_dob\":\"1990-04-15\",\"guardian_salutation\":\"MR\",\"guardian_relation\":\"Father\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_006","caseName":"Delete nominee by id (cleanup minor nominee)","service":"user-services","method":"DELETE","url":"https://users-api.dev.fixerra.in/user-nominee/58100f30-1cd8-4c46-9072-fa0d8accf29f","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:02.512Z","endedAt":"2026-06-23T11:14:02.731Z","durationMs":219,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"686","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"2ae-CBfVaUwcIeRIHmPskyC+spUDg/o\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"141","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"is_default":false,"id":10802,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"58100f30-1cd8-4c46-9072-fa0d8accf29f","first_name":"Chintu","middle_name":"","last_name":"Kumar","nominee_dob":"2015-06-10","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Son","nominee_salutation":"MR","guardian_first_name":"Ramesh","guardian_last_name":"Kumar","created_at":"2026-06-23T11:14:02.000Z","guardian_dob":"1990-04-15T00:00:00.000Z","guardian_relation":"Father","guardian_salutation":"MR","guardian_pan":"","deleted_at":"2026-06-23T11:14:02.629Z"}},"curl":"curl -X DELETE 'https://users-api.dev.fixerra.in/user-nominee/58100f30-1cd8-4c46-9072-fa0d8accf29f?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 200 OK"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_007","caseName":"List nominees with explicit pagination","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:02.731Z","endedAt":"2026-06-23T11:14:02.831Z","durationMs":100,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"page":"1","limit":"5","f_code":"BAJ"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"626","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"272-oVb/qTunoO/ax1pSsoAPnJeXuRY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"29","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee?page=1&limit=5&f_code=BAJ' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_008","caseName":"List nominees with invalid pagination is auto-corrected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:02.930Z","endedAt":"2026-06-23T11:14:02.947Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"page":"-1","limit":"abc","f_code":"BAJ"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"626","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:02 GMT","etag":"W/\"272-oVb/qTunoO/ax1pSsoAPnJeXuRY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee?page=-1&limit=abc&f_code=BAJ' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_009","caseName":"Create nominee via legacy POST /user-nominee route","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:02.947Z","endedAt":"2026-06-23T11:14:03.131Z","durationMs":184,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Suresh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Brother","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"520","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"208-1bi+kmMobyCLoz7X+pMU0GocSM8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"93","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Suresh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Brother","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10803,"f_user_nominee_id":"241aa2a7-5ec6-40d5-85a2-7a6641796709","created_at":"2026-06-23T11:14:03.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Suresh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Brother\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_010","caseName":"Delete legacy-route nominee (cleanup)","service":"user-services","method":"DELETE","url":"https://users-api.dev.fixerra.in/user-nominee/241aa2a7-5ec6-40d5-85a2-7a6641796709","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:03.131Z","endedAt":"2026-06-23T11:14:03.277Z","durationMs":146,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"647","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"287-2Hu2p2GpHMwm4xSLsjV1kY7kLOQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"142","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":{"is_default":false,"id":10803,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"241aa2a7-5ec6-40d5-85a2-7a6641796709","first_name":"Suresh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Brother","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":"2026-06-23T11:14:03.262Z"}},"curl":"curl -X DELETE 'https://users-api.dev.fixerra.in/user-nominee/241aa2a7-5ec6-40d5-85a2-7a6641796709?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 200 OK"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_011","caseName":"Create nominee with relation Mother","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:03.277Z","endedAt":"2026-06-23T11:14:03.312Z","durationMs":35,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Sunita","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Mother","nominee_salutation":"MRS","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"520","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"208-aDcaLVpw2tst7so1Q9SKNA9NDKQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"31","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Sunita","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10804,"f_user_nominee_id":"42304513-34d2-4f9b-af4c-02ee14c62e6a","created_at":"2026-06-23T11:14:03.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Sunita\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Mother\",\"nominee_salutation\":\"MRS\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_012","caseName":"Create nominee with relation Husband","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:03.312Z","endedAt":"2026-06-23T11:14:03.368Z","durationMs":56,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Rohan","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Husband","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"519","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"207-KKXcPT4jblmQWDowEOaCLmiBOjw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"53","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Rohan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Husband","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10805,"f_user_nominee_id":"8f700c8d-5590-4052-a349-0195d06a0268","created_at":"2026-06-23T11:14:03.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Rohan\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Husband\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_013","caseName":"Create nominee with relation Daughter","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:03.368Z","endedAt":"2026-06-23T11:14:03.488Z","durationMs":120,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Priya","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1996-02-20","nominee_relation":"Daughter","nominee_salutation":"MS","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"520","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"208-z60hYFmPdX9o4cjXwNchBLg/RkU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"116","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Priya","middle_name":"","last_name":"Kumar","nominee_dob":"1996-02-20","nominee_pan":"","nominee_relation":"Daughter","nominee_salutation":"MS","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10806,"f_user_nominee_id":"4cee8c09-e776-46df-ba30-62fefc2bbcdb","created_at":"2026-06-23T11:14:03.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Priya\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1996-02-20\",\"nominee_relation\":\"Daughter\",\"nominee_salutation\":\"MS\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_014","caseName":"Create nominee with a valid nominee PAN","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:03.488Z","endedAt":"2026-06-23T11:14:03.569Z","durationMs":81,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Vikram","middle_name":"","last_name":"Kumar","nominee_pan":"ABCPE1234F","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"584","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"248-uSqqgRdk+VN6sEfAaHcWgHvdX1g\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"78","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Vikram","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"249a22814bf213a7ff2e68cfa58da9d3:590165e106e1a2c8480111854268324f","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10807,"f_user_nominee_id":"e2412a81-f15e-4298-9999-4dcb4625870b","created_at":"2026-06-23T11:14:03.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Vikram\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"ABCPE1234F\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"},{"description":"Stored nominee_pan should not be returned in plaintext","passed":true,"message":"nominee_pan not echoed in plaintext"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_015","caseName":"Reject relation \"Self\" (not in allowed relation list)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.569Z","endedAt":"2026-06-23T11:14:03.598Z","durationMs":29,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Self","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"190","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"be-OjnPZp7BitXUvDxYGkRz6nke5Tw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"25","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1071","error":"Nominee relation should be string"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Self\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1071","passed":true,"message":"FIXUSER1071 present"}],"expectedErrorCodes":["FIXUSER1071"],"actualErrorCodes":["FIXUSER1071"]},{"caseId":"MAH_NOMINEE_016","caseName":"Reject nominee first name containing a SQL-injection payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.598Z","endedAt":"2026-06-23T11:14:03.612Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh' OR 1=1 --","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"c4-X6XMD/1SiqZk3SZQkx9MAL+TIlU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1069","error":"Please enter a valid nominee first name"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh'\\'' OR 1=1 --\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1069","passed":true,"message":"FIXUSER1069 present"}],"expectedErrorCodes":["FIXUSER1069"],"actualErrorCodes":["FIXUSER1069"]},{"caseId":"MAH_NOMINEE_017","caseName":"Reject nominee first name containing an XSS payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.612Z","endedAt":"2026-06-23T11:14:03.625Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"<script>alert(1)</script>","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"c4-X6XMD/1SiqZk3SZQkx9MAL+TIlU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1069","error":"Please enter a valid nominee first name"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"<script>alert(1)</script>\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1069","passed":true,"message":"FIXUSER1069 present"}],"expectedErrorCodes":["FIXUSER1069"],"actualErrorCodes":["FIXUSER1069"]},{"caseId":"MAH_NOMINEE_018","caseName":"Create nominee whose name matches the applicant's own PAN name","service":"user-services","method":"POST","url":"/api/v1/user-nominee","status":"skipped","scenarioType":"edge","expectedStatus":201,"expectedErrorCodes":[],"actualErrorCodes":[],"validations":[],"skippedReason":"panFirstName not available from PAN verification step"},{"caseId":"MAH_NOMINEE_019","caseName":"Reject guardian DOB indicating a minor guardian","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.625Z","endedAt":"2026-06-23T11:14:03.638Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Chintu","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"2015-06-10","nominee_relation":"Son","nominee_salutation":"MR","is_default":true,"guardian_first_name":"Ramesh","guardian_last_name":"Kumar","guardian_salutation":"MR","guardian_relation":"Father","guardian_dob":"2015-01-01"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"227","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"e3-zPo/YiHUA2RV3ID0wBVdHjHoi04\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"Nominee Guardian should be an adult","f_error_message":"","errorCode":"FIXUSER1080","error":"Nominee Guardian should be an adult"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Chintu\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"2015-06-10\",\"nominee_relation\":\"Son\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"guardian_first_name\":\"Ramesh\",\"guardian_last_name\":\"Kumar\",\"guardian_salutation\":\"MR\",\"guardian_relation\":\"Father\",\"guardian_dob\":\"2015-01-01\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1080","passed":true,"message":"FIXUSER1080 present"}],"expectedErrorCodes":["FIXUSER1080"],"actualErrorCodes":["FIXUSER1080"]},{"caseId":"MAH_NOMINEE_020","caseName":"Reject invalid nominee relation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.638Z","endedAt":"2026-06-23T11:14:03.652Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Uncle","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"190","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"be-OjnPZp7BitXUvDxYGkRz6nke5Tw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1071","error":"Nominee relation should be string"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Uncle\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1071","passed":true,"message":"FIXUSER1071 present"}],"expectedErrorCodes":["FIXUSER1071"],"actualErrorCodes":["FIXUSER1071"]},{"caseId":"MAH_NOMINEE_021","caseName":"Reject invalid nominee salutation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.652Z","endedAt":"2026-06-23T11:14:03.664Z","durationMs":12,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"DR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"192","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"c0-4Kbf/SiUHV6/UZ/WEtYqXa6sxh4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1077","error":"Nominee salutation should be string"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"DR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1077","passed":true,"message":"FIXUSER1077 present"}],"expectedErrorCodes":["FIXUSER1077"],"actualErrorCodes":["FIXUSER1077"]},{"caseId":"MAH_NOMINEE_022","caseName":"Reject invalid nominee PAN format","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.664Z","endedAt":"2026-06-23T11:14:03.677Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"INVALID123","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"205","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"cd-OjxyzMqS9QwMcdco9amWUl3CdMw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1001","error":"Please enter a valid PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"INVALID123\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1001","passed":true,"message":"FIXUSER1001 present"}],"expectedErrorCodes":["FIXUSER1001"],"actualErrorCodes":["FIXUSER1001"]},{"caseId":"MAH_NOMINEE_023","caseName":"Reject invalid nominee DOB format","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.677Z","endedAt":"2026-06-23T11:14:03.738Z","durationMs":61,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"not-a-date","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"202","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"ca-eiW3jCKud9aQN9u5BBubRqxLIjc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"58","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1072","error":"Please enter a valid nominee DOB (YYYY-MM-DD)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"not-a-date\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1072","passed":true,"message":"FIXUSER1072 present"}],"expectedErrorCodes":["FIXUSER1072"],"actualErrorCodes":["FIXUSER1072"]},{"caseId":"MAH_NOMINEE_024","caseName":"Reject future nominee DOB","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.738Z","endedAt":"2026-06-23T11:14:03.755Z","durationMs":17,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"2099-01-01","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"194","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"c2-ue3VX43dASmbpm+YepGpr2KuIH4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"14","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1094","error":"Date of birth cannot be in the future"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"2099-01-01\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1094","passed":true,"message":"FIXUSER1094 present"}],"expectedErrorCodes":["FIXUSER1094"],"actualErrorCodes":["FIXUSER1094"]},{"caseId":"MAH_NOMINEE_025","caseName":"Reject numeric nominee first name","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.755Z","endedAt":"2026-06-23T11:14:03.849Z","durationMs":94,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"12345","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"c4-X6XMD/1SiqZk3SZQkx9MAL+TIlU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"91","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1069","error":"Please enter a valid nominee first name"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"12345\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1069","passed":true,"message":"FIXUSER1069 present"}],"expectedErrorCodes":["FIXUSER1069"],"actualErrorCodes":["FIXUSER1069"]},{"caseId":"MAH_NOMINEE_026","caseName":"Reject invalid guardian salutation","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.849Z","endedAt":"2026-06-23T11:14:03.929Z","durationMs":80,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"2015-06-10","nominee_relation":"Son","nominee_salutation":"MR","is_default":true,"guardian_first_name":"Ramesh","guardian_salutation":"DOCTOR"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"218","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"da-pjBkSM33AvMqT+P5XWNXLQWArJQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"76","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1034","error":"Invalid value for nominee salutation. Valid values: MR,MRS,MS"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"2015-06-10\",\"nominee_relation\":\"Son\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"guardian_first_name\":\"Ramesh\",\"guardian_salutation\":\"DOCTOR\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1034","passed":true,"message":"FIXUSER1034 present"}],"expectedErrorCodes":["FIXUSER1034"],"actualErrorCodes":["FIXUSER1034"]},{"caseId":"MAH_NOMINEE_027","caseName":"Reject empty nominee payload","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.929Z","endedAt":"2026-06-23T11:14:03.940Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"430","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"1ae-nw3d+67Qw90qUsEGlMMJ2T+FuiI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1072","error":"Please enter a valid nominee DOB (YYYY-MM-DD)"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1071","error":"Nominee relation should be string"},{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1077","error":"Nominee salutation should be string"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"}],"expectedErrorCodes":[],"actualErrorCodes":["FIXUSER1072","FIXUSER1071","FIXUSER1077"]},{"caseId":"MAH_NOMINEE_030","caseName":"Get nominee by unknown id does not crash","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:03.941Z","endedAt":"2026-06-23T11:14:03.974Z","durationMs":33,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"76","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:03 GMT","etag":"W/\"4c-Npwn0S/XgUnPsRtSFGf2+NXMhnQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"30","server":"envoy"},"responseBody":{"success":0,"statusCode":404,"message":"No such user exists!","payload":{}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_031","caseName":"Update nominee with unknown id does not crash","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:14:03.974Z","endedAt":"2026-06-23T11:14:04.041Z","durationMs":67,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"nominee_relation":"Mother"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"63","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"nominee_relation\":\"Mother\"}'","validations":[{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 400 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_032","caseName":"Delete nominee with unknown id does not crash","service":"user-services","method":"DELETE","url":"https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.041Z","endedAt":"2026-06-23T11:14:04.194Z","durationMs":153,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"4e-jJoCB7/P3I7O4rrtna0ZK3HRrrc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"150","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[]},"curl":"curl -X DELETE 'https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 400 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_040","caseName":"List nominees without auth is rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:04.194Z","endedAt":"2026-06-23T11:14:04.202Z","durationMs":8,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"a9-ra1+G8sgf4WPH3Nd3PzEHUQT2fc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"4","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"x-partner-key is required","payload":{},"error":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"x-partner-key is required\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_041","caseName":"Create nominee without auth is rejected","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:04.202Z","endedAt":"2026-06-23T11:14:04.208Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"a9-ra1+G8sgf4WPH3Nd3PzEHUQT2fc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"x-partner-key is required","payload":{},"error":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"x-partner-key is required\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_042","caseName":"List nominees with invalid JWT is rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:04.208Z","endedAt":"2026-06-23T11:14:04.231Z","durationMs":23,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer invalid.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer invalid.jwt.token'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_043","caseName":"Delete nominee without auth is rejected","service":"user-services","method":"DELETE","url":"https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:04.231Z","endedAt":"2026-06-23T11:14:04.236Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X DELETE 'https://users-api.dev.fixerra.in/user-nominee/11111111-2222-4333-8444-555555555555' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_044","caseName":"Create nominee via three-part full_name is parsed into first/middle/last","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:04.236Z","endedAt":"2026-06-23T11:14:04.270Z","durationMs":34,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"full_name":"John A Doe","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"518","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"206-yLUcDogB94DKJP2fIvHxDgrcaFU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"31","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"John","middle_name":"A","last_name":"Doe","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_pan":null,"nominee_name_consent":null,"id":10808,"f_user_nominee_id":"68a5c05b-fe08-4490-961c-d4313f9a3f0d","created_at":"2026-06-23T11:14:04.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"full_name\":\"John A Doe\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"full_name should be parsed into first/middle/last","passed":true,"message":"full_name parsed correctly"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_045","caseName":"Create nominee via single-word full_name auto-sets last_name to \".\"","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:04.270Z","endedAt":"2026-06-23T11:14:04.346Z","durationMs":76,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"full_name":"Madonna","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"518","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"206-bKG+YyZeH8NRsfNreePTaHJ0EhM\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"72","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Madonna","middle_name":"","last_name":".","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_pan":null,"nominee_name_consent":null,"id":10809,"f_user_nominee_id":"7c4598b3-d271-4f98-9b8d-49099d879402","created_at":"2026-06-23T11:14:04.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"full_name\":\"Madonna\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"last_name should auto-default to \".\"","passed":true,"message":"last_name=\".\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_046","caseName":"Reject full_name containing digits","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.346Z","endedAt":"2026-06-23T11:14:04.361Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"full_name":"John2 Doe","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"412","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"19c-02mEMyJzCgwNYhtIHj41VHZ/VZs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1234","error":"Full name must meet the following criteria: Must start with a letter and can only include letters and optional spaces between words. Can end with a dot (.) only if there is at least one space-separated word before the dot. Must not start or end with space"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"full_name\":\"John2 Doe\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1234","passed":true,"message":"FIXUSER1234 present"}],"expectedErrorCodes":["FIXUSER1234"],"actualErrorCodes":["FIXUSER1234"]},{"caseId":"MAH_NOMINEE_047","caseName":"Reject full_name equal to \".\"","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.361Z","endedAt":"2026-06-23T11:14:04.372Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"full_name":".","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"412","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"19c-02mEMyJzCgwNYhtIHj41VHZ/VZs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1234","error":"Full name must meet the following criteria: Must start with a letter and can only include letters and optional spaces between words. Can end with a dot (.) only if there is at least one space-separated word before the dot. Must not start or end with space"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"full_name\":\".\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1234","passed":true,"message":"FIXUSER1234 present"}],"expectedErrorCodes":["FIXUSER1234"],"actualErrorCodes":["FIXUSER1234"]},{"caseId":"MAH_NOMINEE_049","caseName":"Reject payload missing both full_name and first_name","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.372Z","endedAt":"2026-06-23T11:14:04.393Z","durationMs":21,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"214","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"d6-xip02d/MMytI/+Z0vUw/ObZVaS8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"17","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1227","error":"Either full_name or first_name and last_name are required"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1227","passed":true,"message":"FIXUSER1227 present"}],"expectedErrorCodes":["FIXUSER1227"],"actualErrorCodes":["FIXUSER1227"]},{"caseId":"MAH_NOMINEE_060","caseName":"Reject middle_name with invalid characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.393Z","endedAt":"2026-06-23T11:14:04.429Z","durationMs":36,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"A1","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"197","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"c5-nkE2baDfMZRG8VK0+mhypSY/cP8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"33","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1205","error":"Please enter a valid nominee middle name"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"A1\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1205","passed":true,"message":"FIXUSER1205 present"}],"expectedErrorCodes":["FIXUSER1205"],"actualErrorCodes":["FIXUSER1205"]},{"caseId":"MAH_NOMINEE_061","caseName":"Reject last_name with invalid characters","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.429Z","endedAt":"2026-06-23T11:14:04.531Z","durationMs":102,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"D0e","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"195","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"c3-X/VCKSzEyRS2kQq2r3JvtQMi7nA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1356","error":"Please enter a valid nominee last name"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"D0e\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1356","passed":true,"message":"FIXUSER1356 present"}],"expectedErrorCodes":["FIXUSER1356"],"actualErrorCodes":["FIXUSER1356"]},{"caseId":"MAH_NOMINEE_062","caseName":"Reject nominee_phone that is not a 10-digit number","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.531Z","endedAt":"2026-06-23T11:14:04.544Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"nominee_phone":"123"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"249","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"f9-Myqeg6Qa6NPvZ5ntMiEabpakw8Q\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"Nominee phone number must be exactly 10 digits","errorCode":"FIXUSER1501","error":"Nominee phone number must be exactly 10 digits"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"nominee_phone\":\"123\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1501","passed":true,"message":"FIXUSER1501 present"}],"expectedErrorCodes":["FIXUSER1501"],"actualErrorCodes":["FIXUSER1501"]},{"caseId":"MAH_NOMINEE_063","caseName":"Create nominee with a valid nominee_phone","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:04.544Z","endedAt":"2026-06-23T11:14:04.630Z","durationMs":86,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Phoneuser","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false,"nominee_phone":"9999999998"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"551","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"227-O0obunwlLS3hn3+zSg0mczoN+qg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"34","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Phoneuser","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":"9999999998","nominee_pan":"","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10810,"f_user_nominee_id":"6d44f129-5efe-4299-aec4-2896f96b51c4","created_at":"2026-06-23T11:14:04.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Phoneuser\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false,\"nominee_phone\":\"9999999998\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_065","caseName":"Reject invalid nominee_email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.630Z","endedAt":"2026-06-23T11:14:04.645Z","durationMs":15,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"nominee_email":"a@b"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"249","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"f9-ZYyygy5kOMkTird/iKDJ4jZYqI0\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"Nominee email address is not in a valid format","errorCode":"FIXUSER1502","error":"Nominee email address is not in a valid format"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"nominee_email\":\"a@b\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1502","passed":true,"message":"FIXUSER1502 present"}],"expectedErrorCodes":["FIXUSER1502"],"actualErrorCodes":["FIXUSER1502"]},{"caseId":"MAH_NOMINEE_066","caseName":"Create nominee with a valid nominee_email","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:04.645Z","endedAt":"2026-06-23T11:14:04.683Z","durationMs":38,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Emailuser","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false,"nominee_email":"qa.nominee@example.com"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"563","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"233-Hi1Q/TDAB1GhjgCm0toEehWYo5k\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"35","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"Emailuser","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_email":"qa.nominee@example.com","nominee_pan":"","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10811,"f_user_nominee_id":"c48b5128-9db4-484f-b827-e05f301f9c11","created_at":"2026-06-23T11:14:04.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Emailuser\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false,\"nominee_email\":\"qa.nominee@example.com\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_067","caseName":"Reject lowercase nominee_relation (case-sensitive enum)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.683Z","endedAt":"2026-06-23T11:14:04.696Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"190","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"be-OjnPZp7BitXUvDxYGkRz6nke5Tw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"9","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1071","error":"Nominee relation should be string"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1071","passed":true,"message":"FIXUSER1071 present"}],"expectedErrorCodes":["FIXUSER1071"],"actualErrorCodes":["FIXUSER1071"]},{"caseId":"MAH_NOMINEE_068","caseName":"Reject lowercase nominee_salutation (case-sensitive enum)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.696Z","endedAt":"2026-06-23T11:14:04.738Z","durationMs":42,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"mr","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"192","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"c0-4Kbf/SiUHV6/UZ/WEtYqXa6sxh4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"39","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1077","error":"Nominee salutation should be string"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Ramesh\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"mr\",\"is_default\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1077","passed":true,"message":"FIXUSER1077 present"}],"expectedErrorCodes":["FIXUSER1077"],"actualErrorCodes":["FIXUSER1077"]},{"caseId":"MAH_NOMINEE_069","caseName":"Reject minor nominee with no guardian_first_name at all","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.738Z","endedAt":"2026-06-23T11:14:04.761Z","durationMs":23,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Minor","last_name":"Kumar","nominee_dob":"2015-01-01","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"270","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"10e-X6mu6j9j7+8xsjVjZ7B6kN+acwI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"18","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1039","error":"All fields of the guardian are required for minor nominees, guardian_first_name, guardian_last_name, guardian_dob"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Minor\",\"last_name\":\"Kumar\",\"nominee_dob\":\"2015-01-01\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1039","passed":true,"message":"FIXUSER1039 present"}],"expectedErrorCodes":["FIXUSER1039"],"actualErrorCodes":["FIXUSER1039"]},{"caseId":"MAH_NOMINEE_070","caseName":"Reject invalid guardian_pan format","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:04.761Z","endedAt":"2026-06-23T11:14:04.780Z","durationMs":19,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Minor","last_name":"Kumar","nominee_dob":"2015-06-10","nominee_relation":"Son","nominee_salutation":"MR","is_default":false,"guardian_first_name":"Ramesh","guardian_last_name":"Kumar","guardian_dob":"1990-04-15","guardian_salutation":"MR","guardian_pan":"123"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"214","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"d6-HeS8KVo5L+C0zN6UPq28ts/WRWI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"16","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1204","error":"Please enter a valid guardian PAN number (Ex. AAAPZ1234L)"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Minor\",\"last_name\":\"Kumar\",\"nominee_dob\":\"2015-06-10\",\"nominee_relation\":\"Son\",\"nominee_salutation\":\"MR\",\"is_default\":false,\"guardian_first_name\":\"Ramesh\",\"guardian_last_name\":\"Kumar\",\"guardian_dob\":\"1990-04-15\",\"guardian_salutation\":\"MR\",\"guardian_pan\":\"123\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1204","passed":true,"message":"FIXUSER1204 present"}],"expectedErrorCodes":["FIXUSER1204"],"actualErrorCodes":["FIXUSER1204"]},{"caseId":"MAH_NOMINEE_071","caseName":"is_default=true unsets the previously default nominee","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:04.780Z","endedAt":"2026-06-23T11:14:04.931Z","durationMs":151,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"NewDefault","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"522","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"20a-2dd2a15x30uNcYedS7jrVAqOYFQ\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"97","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":true,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"NewDefault","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10812,"f_user_nominee_id":"0429549f-169c-45cc-ae15-24ad47163db2","created_at":"2026-06-23T11:14:04.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"NewDefault\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_072","caseName":"Follow-up list shows only one nominee with is_default=true","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:04.931Z","endedAt":"2026-06-23T11:14:04.947Z","durationMs":16,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"5805","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"16ad-ADHxxYkDUDHUCYWpnhcKcqZ+CYM\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"12","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"is_default":false,"id":10808,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"68a5c05b-fe08-4490-961c-d4313f9a3f0d","first_name":"John","middle_name":"A","last_name":"Doe","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":null,"nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10809,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"7c4598b3-d271-4f98-9b8d-49099d879402","first_name":"Madonna","middle_name":"","last_name":".","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":null,"nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10810,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"6d44f129-5efe-4299-aec4-2896f96b51c4","first_name":"Phoneuser","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":"9999999998","nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10811,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"c48b5128-9db4-484f-b827-e05f301f9c11","first_name":"Emailuser","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":"qa.nominee@example.com","nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":true,"id":10812,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"0429549f-169c-45cc-ae15-24ad47163db2","first_name":"NewDefault","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10804,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"42304513-34d2-4f9b-af4c-02ee14c62e6a","first_name":"Sunita","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10805,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"8f700c8d-5590-4052-a349-0195d06a0268","first_name":"Rohan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Husband","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10806,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"4cee8c09-e776-46df-ba30-62fefc2bbcdb","first_name":"Priya","middle_name":"","last_name":"Kumar","nominee_dob":"1996-02-20","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Daughter","nominee_salutation":"MS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10807,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"e2412a81-f15e-4298-9999-4dcb4625870b","first_name":"Vikram","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"249a22814bf213a7ff2e68cfa58da9d3:590165e106e1a2c8480111854268324f","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"Ramesh","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Exactly one nominee should be marked is_default=true","passed":true,"message":"1 default nominee(s) found"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_073","caseName":"Empty nominee_pan is treated as absent (not encrypted)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:04.947Z","endedAt":"2026-06-23T11:14:05.030Z","durationMs":83,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"EmptyPan","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"521","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:04 GMT","etag":"W/\"209-oZUy6fwDhKHt9DGrlePHWlM4/uU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"46","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"EmptyPan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10813,"f_user_nominee_id":"0a7d10c7-10ed-40c2-9ac1-5d627f787bad","created_at":"2026-06-23T11:14:04.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"EmptyPan\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"nominee_pan should be null/falsy when sent as an empty string","passed":true,"message":"nominee_pan is empty/null"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_074","caseName":"Lowercase nominee_pan is accepted and stored encrypted","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.031Z","endedAt":"2026-06-23T11:14:05.130Z","durationMs":99,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"LowerPan","middle_name":"","last_name":"Kumar","nominee_pan":"abcpe1234f","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"586","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"24a-wYeDZGsPh6mLFKZ+pGCV2hB2XDk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"39","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"LowerPan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"249a22814bf213a7ff2e68cfa58da9d3:590165e106e1a2c8480111854268324f","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10814,"f_user_nominee_id":"f070b8fe-efd2-42d8-978a-c6e24bb59039","created_at":"2026-06-23T11:14:05.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"LowerPan\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"abcpe1234f\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Stored nominee_pan should not be returned in plaintext","passed":true,"message":"nominee_pan not echoed in plaintext"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_075","caseName":"Extra unknown field in payload is silently ignored","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/api/v1/user-nominee","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.131Z","endedAt":"2026-06-23T11:14:05.158Z","durationMs":27,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"ExtraField","middle_name":"","last_name":"Kumar","nominee_pan":"","nominee_dob":"1990-04-15","nominee_relation":"Father","nominee_salutation":"MR","is_default":false,"unknown_field":"x"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"523","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"20b-mb0q9wfB7dxqDVC471JK8hfo9/0\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"24","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"Nominee created successfully","payload":{"is_default":false,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","first_name":"ExtraField","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_pan":"","nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","nominee_name_consent":null,"id":10815,"f_user_nominee_id":"79129658-7d19-4c9e-b170-0822e0f23c6a","created_at":"2026-06-23T11:14:05.000Z","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/api/v1/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"ExtraField\",\"middle_name\":\"\",\"last_name\":\"Kumar\",\"nominee_pan\":\"\",\"nominee_dob\":\"1990-04-15\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":false,\"unknown_field\":\"x\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Response should contain nominee ID","passed":true,"message":"Nominee ID present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_080","caseName":"List nominees decrypts nominee_phone when present","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.158Z","endedAt":"2026-06-23T11:14:05.231Z","durationMs":73,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"5811","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"16b3-Zh+1dclBdnR5TSKfDwONZXqERVM\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"16","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"is_default":false,"id":10814,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"f070b8fe-efd2-42d8-978a-c6e24bb59039","first_name":"LowerPan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"249a22814bf213a7ff2e68cfa58da9d3:590165e106e1a2c8480111854268324f","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:05.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10815,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"79129658-7d19-4c9e-b170-0822e0f23c6a","first_name":"ExtraField","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:05.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10808,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"68a5c05b-fe08-4490-961c-d4313f9a3f0d","first_name":"John","middle_name":"A","last_name":"Doe","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":null,"nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10809,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"7c4598b3-d271-4f98-9b8d-49099d879402","first_name":"Madonna","middle_name":"","last_name":".","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":null,"nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10810,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"6d44f129-5efe-4299-aec4-2896f96b51c4","first_name":"Phoneuser","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":"9999999998","nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10811,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"c48b5128-9db4-484f-b827-e05f301f9c11","first_name":"Emailuser","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":"qa.nominee@example.com","nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":true,"id":10812,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"0429549f-169c-45cc-ae15-24ad47163db2","first_name":"NewDefault","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10813,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"0a7d10c7-10ed-40c2-9ac1-5d627f787bad","first_name":"EmptyPan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:04.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10804,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"42304513-34d2-4f9b-af4c-02ee14c62e6a","first_name":"Sunita","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MRS","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null},{"is_default":false,"id":10805,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"8f700c8d-5590-4052-a349-0195d06a0268","first_name":"Rohan","middle_name":"","last_name":"Kumar","nominee_dob":"1990-04-15","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Husband","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:03.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Any nominee_phone present in the list should be a non-empty decrypted string","passed":true,"message":"1 nominee(s) with decrypted phone"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_081","caseName":"List nominees with expired JWT is rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-nominee","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:05.231Z","endedAt":"2026-06-23T11:14:05.236Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-nominee' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_082","caseName":"Create default nominee matching applicant PAN name (for FIXINV165 booking check)","service":"user-services","method":"POST","url":"/api/v1/user-nominee","status":"skipped","scenarioType":"edge","expectedStatus":201,"expectedErrorCodes":[],"actualErrorCodes":[],"validations":[],"skippedReason":"panFirstName not available from PAN verification step"},{"caseId":"MAH_NOMINEE_ADDR_001","caseName":"Create address for nominee (MAH)","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.236Z","endedAt":"2026-06-23T11:14:05.268Z","durationMs":32,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","same_as_user":false,"line1":"221B Baker Street","line2":"Near Test Lane","area":"Test Area","city":"Mumbai","state":"Maharashtra","country":"INDIA","pincode":"400001","address_type":"PERMANENT"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"636","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"27c-PF8h8aJjYJqilwXtx2BIiZWJyZY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"29","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"CREATED","payload":{"is_default":false,"same_as_user":false,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","line2":"Near Test Lane","state":"MAHARASHTRA","country":"INDIA","address_type":"PERMANENT","f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d1ea9dad6b6ab7c5edcb46bd350dd054cdc9ba7cd39664363c47a604e01361097c88203ec3381ed2955464f7d5d584325389d26ca93cc93cacfc91b26b10731ea13576e0f0f109583c9356d1b139de5c5","id":5135,"f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","deleted_at":null}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"same_as_user\":false,\"line1\":\"221B Baker Street\",\"line2\":\"Near Test Lane\",\"area\":\"Test Area\",\"city\":\"Mumbai\",\"state\":\"Maharashtra\",\"country\":\"INDIA\",\"pincode\":\"400001\",\"address_type\":\"PERMANENT\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Saved address should be linked to the nominee","passed":true,"message":"f_user_nominee_id matches nominee"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_002","caseName":"Get nominee address — newly added address is returned","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.268Z","endedAt":"2026-06-23T11:14:05.282Z","durationMs":14,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"783","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"30f-fWiVcTI2hCZKp9EvYgo1A8DOdWk\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"10","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":null,"state":"MAHARASHTRA","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d1ea9dad6b6ab7c5edcb46bd350dd054cdc9ba7cd39664363c47a604e01361097c88203ec3381ed2955464f7d5d584325389d26ca93cc93cacfc91b26b10731ea13576e0f0f109583c9356d1b139de5c5","is_default":false,"line1":"221B Baker Street","line2":null,"line3":null,"sub_district":null,"street":null,"post_office":null,"pincode":"400001","area":"Test Area","city":"Mumbai"}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_user_nominee_id=726aaa4d-82eb-4a60-ab37-e46646e8afeb' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Returned list contains an address for this nominee","passed":true,"message":"Nominee address present"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_003","caseName":"Create nominee address with same_as_user copies applicant address","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"edge","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.282Z","endedAt":"2026-06-23T11:14:05.344Z","durationMs":62,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","same_as_user":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"654","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"28e-ffCMpncEgirL7lC//BIZBHnVpZo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"59","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"CREATED","payload":{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","state":"MAHARASHTRA","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d1ea9dad6b6ab7c5edcb46bd350dd054cdc9ba7cd39664363c47a604e01361097c88203ec3381ed2955464f7d5d584325389d26ca93cc93cacfc91b26b10731ea13576e0f0f109583c9356d1b139de5c5","is_default":false}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"same_as_user\":true}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 201 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_004","caseName":"Get nominee addresses without a nominee filter returns the full address list","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.344Z","endedAt":"2026-06-23T11:14:05.366Z","durationMs":22,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"817","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"331-S9ScjpquwPMINx6Q9P9tN0ratCw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"19","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","state":"MAHARASHTRA","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d1ea9dad6b6ab7c5edcb46bd350dd054cdc9ba7cd39664363c47a604e01361097c88203ec3381ed2955464f7d5d584325389d26ca93cc93cacfc91b26b10731ea13576e0f0f109583c9356d1b139de5c5","is_default":false,"line1":"221B Baker Street","line2":null,"line3":null,"sub_district":null,"street":null,"post_office":null,"pincode":"400001","area":"Test Area","city":"Mumbai"}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-address/for-nominee' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Response payload is an array","passed":true,"message":"Address list is array"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_005","caseName":"Get nominee address for an unknown nominee id returns an empty list","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"edge","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.366Z","endedAt":"2026-06-23T11:14:05.429Z","durationMs":63,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_user_nominee_id":"11111111-2222-4333-8444-555555555555"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"63","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"3f-oCPC8DEMdT63LEPOmlpkObbO8j8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"60","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_user_nominee_id=11111111-2222-4333-8444-555555555555' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Returned list contains no address for an unknown nominee id","passed":true,"message":"No address for unknown nominee id"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_006","caseName":"Create nominee address without auth is rejected","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:05.429Z","endedAt":"2026-06-23T11:14:05.435Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"same_as_user":false,"line1":"Test","city":"Mumbai","state":"MH","pincode":"400001"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"same_as_user\":false,\"line1\":\"Test\",\"city\":\"Mumbai\",\"state\":\"MH\",\"pincode\":\"400001\"}'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_007","caseName":"Get nominee address without auth is rejected","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:05.435Z","endedAt":"2026-06-23T11:14:05.441Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"169","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"a9-ra1+G8sgf4WPH3Nd3PzEHUQT2fc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"x-partner-key is required","payload":{},"error":{"statusCode":401,"message":"x-partner-key is required","error":"Unauthorized"}},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-address/for-nominee' \\\n  -H 'Content-Type: application/json'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"x-partner-key is required\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_008","caseName":"Create nominee address missing f_user_nominee_id is rejected","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:05.441Z","endedAt":"2026-06-23T11:14:05.454Z","durationMs":13,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"same_as_user":true},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"c4-jXRSsJpXnefE69VSOX4YYjFj9Hs\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"11","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad Request","payload":{},"error":[{"f_error_reason":" ","f_error_message":" ","errorCode":"FIXUSER1090","error":"Nominee Id is required to add address"}]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"same_as_user\":true}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1090","passed":true,"message":"FIXUSER1090 present"}],"expectedErrorCodes":["FIXUSER1090"],"actualErrorCodes":["FIXUSER1090"]},{"caseId":"MAH_NOMINEE_ADDR_009","caseName":"Create nominee address with non-numeric pincode is rejected","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:05.454Z","endedAt":"2026-06-23T11:14:05.529Z","durationMs":75,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","same_as_user":false,"line1":"Flat 1","city":"Mumbai","state":"MH","country":"INDIA","pincode":"ABC"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"78","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"4e-e9sIpO7vvVjwlGKz5FTCW0Ki8oI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"71","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[]},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"same_as_user\":false,\"line1\":\"Flat 1\",\"city\":\"Mumbai\",\"state\":\"MH\",\"country\":\"INDIA\",\"pincode\":\"ABC\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_010","caseName":"state field is uppercased before save","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.529Z","endedAt":"2026-06-23T11:14:05.561Z","durationMs":32,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","same_as_user":false,"line1":"Flat 1","city":"Mumbai","state":"maharashtra","country":"INDIA","pincode":"400001"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"590","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"24e-NFdZSLMbYaUQfgiWHIr8N4lpJeg\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"29","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"CREATED","payload":{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","state":"MAHARASHTRA","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d2cca1851e2d26e8d57fff28ea4e76fcd51c0f93ca466b3eb14c071b755a1c0cc14a61bc459f0c8c34c0d9e8a372629f7","is_default":false}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"same_as_user\":false,\"line1\":\"Flat 1\",\"city\":\"Mumbai\",\"state\":\"maharashtra\",\"country\":\"INDIA\",\"pincode\":\"400001\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Returned state should be uppercased","passed":true,"message":"state uppercased"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_011","caseName":"country defaults to INDIA when omitted","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.561Z","endedAt":"2026-06-23T11:14:05.645Z","durationMs":84,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","same_as_user":false,"line1":"Flat 1","city":"Mumbai","state":"MH","pincode":"400001"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"581","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"245-9/ZmxsEmbDxUjgPGX5RMoLeQDB4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"81","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"CREATED","payload":{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","state":"MH","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d2cca1851e2d26e8d57fff28ea4e76fcd51c0f93ca466b3eb14c071b755a1c0cc14a61bc459f0c8c34c0d9e8a372629f7","is_default":false}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"same_as_user\":false,\"line1\":\"Flat 1\",\"city\":\"Mumbai\",\"state\":\"MH\",\"pincode\":\"400001\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"country should default to INDIA","passed":true,"message":"country=INDIA"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_012","caseName":"Repeated create for same nominee upserts instead of duplicating","service":"user-services","method":"POST","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"positive","expectedStatus":201,"httpStatus":201,"startedAt":"2026-06-23T11:14:05.645Z","endedAt":"2026-06-23T11:14:05.671Z","durationMs":26,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","same_as_user":false,"line1":"Updated Address Line","city":"Pune","state":"MH","country":"INDIA","pincode":"411001"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"613","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"265-KbTs1hkKYzA/EE3ZjIQQIUUnCHo\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"22","server":"envoy"},"responseBody":{"success":1,"statusCode":201,"message":"CREATED","payload":{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","state":"MH","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d8068d362432ecd619d2d01b0dad5f7e8e4dc71110013a83ee2892dff3df63e86a317c00f1d81cf0c00121861b48906d1b3ea0cf3795afda8fc1a09ecc208976a","is_default":false}},"curl":"curl -X POST 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"same_as_user\":false,\"line1\":\"Updated Address Line\",\"city\":\"Pune\",\"state\":\"MH\",\"country\":\"INDIA\",\"pincode\":\"411001\"}'","validations":[{"description":"Response status should be 200 or 201","passed":true,"message":"Status 201 OK"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 201 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_ADDR_013","caseName":"Get nominee address after upsert returns exactly one record for the nominee","service":"user-services","method":"GET","url":"https://users-api.dev.fixerra.in/user-address/for-nominee","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.671Z","endedAt":"2026-06-23T11:14:05.743Z","durationMs":72,"requestHeaders":{"Content-Type":"application/json","x-partner-key":"38****ef","x-partner-code":"tradingquants-dev","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestQuery":{"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"770","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"302-eSG52gRByjK/XrvmNsoipaO8wVc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"SUCCESS","payload":[{"id":5135,"f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","f_base_user_address_id":"c84ac4e6-7ef5-4256-b7e4-50646b5ced5c","state":"MH","country":"INDIA","address_type":"PERMANENT","deleted_at":null,"address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d8068d362432ecd619d2d01b0dad5f7e8e4dc71110013a83ee2892dff3df63e86a317c00f1d81cf0c00121861b48906d1b3ea0cf3795afda8fc1a09ecc208976a","is_default":false,"line1":"Updated Address Line","line2":null,"line3":null,"sub_district":null,"street":null,"post_office":null,"pincode":"411001","area":null,"city":"Pune"}]},"curl":"curl -X GET 'https://users-api.dev.fixerra.in/user-address/for-nominee?f_user_nominee_id=726aaa4d-82eb-4a60-ab37-e46646e8afeb' \\\n  -H 'Content-Type: application/json' \\\n  -H 'x-partner-key: 38****ef' \\\n  -H 'x-partner-code: tradingquants-dev' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Upsert should not create a duplicate address row for this nominee","passed":true,"message":"1 address row(s) for nominee"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_V1UPD_001","caseName":"Update nominee via v1/update (MAH)","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.743Z","endedAt":"2026-06-23T11:14:05.831Z","durationMs":88,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Mother","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"643","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"283-dNSndvm+YzZTupZ/iV29vy23PmY\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"29","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Nominee Data updated successfully","payload":{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"test","middle_name":"","last_name":".","nominee_dob":"2005-11-21","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Mother","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Mother\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Updated nominee id should match request","passed":true,"message":"f_user_nominee_id matches"}],"docsFile":"user-services/API_QA_PI_PUT_USER_NOMINEE_V1_UPDATE.md","expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_V1UPD_002","caseName":"Update nominee via v1/update with nomineeAddress upserts the address","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:05.831Z","endedAt":"2026-06-23T11:14:05.877Z","durationMs":46,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","nomineeAddress":{"same_as_user":false,"line1":"ADFJ","street":"ASDFK","pincode":"431122","city":"BEED","state":"MAHARASHTRA","country":"INDIA"}},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"1078","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"436-ZhXEYTdzQeMvbnZbdQzDblbFgLA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"43","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Nominee Data updated successfully","payload":{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"test","middle_name":"","last_name":".","nominee_dob":"2005-11-21","nominee_phone":null,"nominee_email":null,"nominee_pan":"","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null,"nomineeAddress":{"same_as_user":false,"state":"MAHARASHTRA","country":"INDIA","address_object":"249a22814bf213a7ff2e68cfa58da9d3:7d8f7e7d160711318ed98e9451a3396d67d8e56acb6a0037d70a856eb75e370a3e1608bd6960ad20a42428b87b82f01be86f7a24a27f69e4d4a476e892feb93819f43422c1405c9eaf47a2db0588fc01f80f14dadec1a1639c56890f969cbf0c","f_user_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"}}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\",\"nomineeAddress\":{\"same_as_user\":false,\"line1\":\"ADFJ\",\"street\":\"ASDFK\",\"pincode\":\"431122\",\"city\":\"BEED\",\"state\":\"MAHARASHTRA\",\"country\":\"INDIA\"}}'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Should not return a 5xx server error","passed":true,"message":"HTTP 200 (no server error)"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_V1UPD_005","caseName":"Reject first_name with invalid characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:05.877Z","endedAt":"2026-06-23T11:14:05.931Z","durationMs":54,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"Te$t","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"196","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"c4-X6XMD/1SiqZk3SZQkx9MAL+TIlU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1069","error":"Please enter a valid nominee first name"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"Te$t\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1069","passed":true,"message":"FIXUSER1069 present"}],"expectedErrorCodes":["FIXUSER1069"],"actualErrorCodes":["FIXUSER1069"]},{"caseId":"MAH_NOMINEE_V1UPD_006","caseName":"Reject middle_name with invalid characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:05.931Z","endedAt":"2026-06-23T11:14:05.942Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"A1","last_name":".","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"197","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"c5-nkE2baDfMZRG8VK0+mhypSY/cP8\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1205","error":"Please enter a valid nominee middle name"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"A1\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1205","passed":true,"message":"FIXUSER1205 present"}],"expectedErrorCodes":["FIXUSER1205"],"actualErrorCodes":["FIXUSER1205"]},{"caseId":"MAH_NOMINEE_V1UPD_007","caseName":"Reject last_name with invalid characters","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:05.942Z","endedAt":"2026-06-23T11:14:06.031Z","durationMs":89,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":"D0e","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"195","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:05 GMT","etag":"W/\"c3-X/VCKSzEyRS2kQq2r3JvtQMi7nA\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1356","error":"Please enter a valid nominee last name"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\"D0e\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1356","passed":true,"message":"FIXUSER1356 present"}],"expectedErrorCodes":["FIXUSER1356"],"actualErrorCodes":["FIXUSER1356"]},{"caseId":"MAH_NOMINEE_V1UPD_008","caseName":"Reject invalid nominee_dob","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:06.031Z","endedAt":"2026-06-23T11:14:06.041Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"not-a-date","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"202","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"ca-eiW3jCKud9aQN9u5BBubRqxLIjc\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1072","error":"Please enter a valid nominee DOB (YYYY-MM-DD)"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"not-a-date\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1072","passed":true,"message":"FIXUSER1072 present"}],"expectedErrorCodes":["FIXUSER1072"],"actualErrorCodes":["FIXUSER1072"]},{"caseId":"MAH_NOMINEE_V1UPD_009","caseName":"Reject future nominee_dob","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:06.041Z","endedAt":"2026-06-23T11:14:06.052Z","durationMs":11,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"2999-01-01","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"194","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"c2-ue3VX43dASmbpm+YepGpr2KuIH4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1094","error":"Date of birth cannot be in the future"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2999-01-01\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1094","passed":true,"message":"FIXUSER1094 present"}],"expectedErrorCodes":["FIXUSER1094"],"actualErrorCodes":["FIXUSER1094"]},{"caseId":"MAH_NOMINEE_V1UPD_010","caseName":"Reject invalid nominee_relation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:06.052Z","endedAt":"2026-06-23T11:14:06.062Z","durationMs":10,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Cousin","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"190","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"be-OjnPZp7BitXUvDxYGkRz6nke5Tw\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"7","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1071","error":"Nominee relation should be string"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Cousin\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1071","passed":true,"message":"FIXUSER1071 present"}],"expectedErrorCodes":["FIXUSER1071"],"actualErrorCodes":["FIXUSER1071"]},{"caseId":"MAH_NOMINEE_V1UPD_011","caseName":"Reject invalid nominee_salutation","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":400,"httpStatus":400,"startedAt":"2026-06-23T11:14:06.062Z","endedAt":"2026-06-23T11:14:06.131Z","durationMs":69,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"","nominee_dob":"2005-11-21","nominee_relation":"Father","nominee_salutation":"DR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"192","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"c0-4Kbf/SiUHV6/UZ/WEtYqXa6sxh4\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"8","server":"envoy"},"responseBody":{"success":0,"statusCode":400,"message":"Bad request","payload":{},"error":[{"f_error_reason":"","f_error_message":"","errorCode":"FIXUSER1077","error":"Nominee salutation should be string"}]},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"DR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 400","passed":true,"message":"Status 400 OK"},{"description":"Response should contain error code FIXUSER1077","passed":true,"message":"FIXUSER1077 present"}],"expectedErrorCodes":["FIXUSER1077"],"actualErrorCodes":["FIXUSER1077"]},{"caseId":"MAH_NOMINEE_V1UPD_012","caseName":"PAN provided lowercase is accepted and stored encrypted","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"positive","expectedStatus":200,"httpStatus":200,"startedAt":"2026-06-23T11:14:06.131Z","endedAt":"2026-06-23T11:14:06.230Z","durationMs":99,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E"},"requestPayload":{"first_name":"test","middle_name":"","last_name":".","nominee_pan":"abcpe1234f","nominee_dob":"2005-11-21","nominee_relation":"Father","nominee_salutation":"MR","is_default":true,"f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb"},"requestQuery":{"f_code":"MAH"},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"708","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"2c4-7jCRLfeBFFrlTxbnM9UmW1Q+nLI\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"34","server":"envoy"},"responseBody":{"success":1,"statusCode":200,"message":"Nominee Data updated successfully","payload":{"is_default":true,"id":10801,"f_user_ref_id":"4e68c1e4-c43c-48c5-b2a9-08d7d6e4957e","f_user_nominee_id":"726aaa4d-82eb-4a60-ab37-e46646e8afeb","first_name":"test","middle_name":"","last_name":".","nominee_dob":"2005-11-21","nominee_phone":null,"nominee_email":null,"nominee_pan":"249a22814bf213a7ff2e68cfa58da9d3:590165e106e1a2c8480111854268324f","nominee_name_consent":null,"nominee_relation":"Father","nominee_salutation":"MR","guardian_first_name":"","guardian_last_name":"","created_at":"2026-06-23T11:14:01.000Z","guardian_dob":"","guardian_relation":"","guardian_salutation":"","guardian_pan":"","deleted_at":null}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update?f_code=MAH' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlblR5cGUiOiJhY2Nlc3MiLCJmX3VzZXJfaWQiOiI0ZTY4YzFlNC1jNDNjLTQ4YzUtYjJhOS0wOGQ3ZDZlNDk1N2UiLCJmX3BhcnRuZXJfdXNlcl9pZCI6ImI5MDc2N2E1LTU5YTMtNGVlMC05ZmJjLTJkYTM2Mjg1ZjQ3YyIsImZfcGFydG5lcl9pZCI6IjY4YmRjZjg5LTg0NjQtNGY4NS04OTg3LWFhMjg5MDhlMjFhZCIsInBhcnRuZXJfdXJsIjoiaHR0cHM6Ly90cmFkaW5ncXVhbnRzLmRldi5maXhlcnJhLmluIiwiaWF0IjoxNzgyMjEzMjA0LCJleHAiOjE3ODIyOTk2MDR9.S6SAPL1GuZaikAnojgdwUMD1T4TY3UVyDyoBREqrQ5E' \\\n  -d '{\"first_name\":\"test\",\"middle_name\":\"\",\"last_name\":\".\",\"nominee_pan\":\"abcpe1234f\",\"nominee_dob\":\"2005-11-21\",\"nominee_relation\":\"Father\",\"nominee_salutation\":\"MR\",\"is_default\":true,\"f_user_nominee_id\":\"726aaa4d-82eb-4a60-ab37-e46646e8afeb\"}'","validations":[{"description":"Response status should be 200","passed":true,"message":"Status 200 OK"},{"description":"Stored nominee_pan should not be returned in plaintext","passed":true,"message":"nominee_pan not echoed in plaintext"}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_V1UPD_015","caseName":"Update via v1/update without auth is rejected","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:06.230Z","endedAt":"2026-06-23T11:14:06.236Z","durationMs":6,"requestHeaders":{"Content-Type":"application/json"},"requestPayload":{"f_user_nominee_id":"11111111-2222-4333-8444-555555555555"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"3","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"f_user_nominee_id\":\"11111111-2222-4333-8444-555555555555\"}'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]},{"caseId":"MAH_NOMINEE_V1UPD_016","caseName":"Update via v1/update with expired JWT is rejected","service":"user-services","method":"PUT","url":"https://users-api.dev.fixerra.in/user-nominee/v1/update","status":"passed","scenarioType":"negative","expectedStatus":401,"httpStatus":401,"startedAt":"2026-06-23T11:14:06.236Z","endedAt":"2026-06-23T11:14:06.241Z","durationMs":5,"requestHeaders":{"Content-Type":"application/json","Authorization":"Bearer expired.jwt.token"},"requestPayload":{"f_user_nominee_id":"11111111-2222-4333-8444-555555555555"},"requestQuery":{},"responseHeaders":{"cache-control":"no-store, no-cache, max-age=604800, must-revalidate, private","content-length":"136","content-security-policy":"default-src 'self'","content-type":"application/json; charset=utf-8","date":"Tue, 23 Jun 2026 11:14:06 GMT","etag":"W/\"88-8WLI+48VcsWgPO49PKC75cQhUwU\"","referrer-policy":"origin-when-cross-origin","strict-transport-security":"max-age=31536000; includeSubDomains; preload","vary":"Origin","x-content-type-options":"nosniff","x-powered-by":"Express","x-xss-protection":"1; mode=block","x-envoy-upstream-service-time":"2","server":"envoy"},"responseBody":{"success":0,"statusCode":401,"message":"Access Denied.","payload":{},"error":{"success":0,"statusCode":401,"message":"Access Denied."}},"curl":"curl -X PUT 'https://users-api.dev.fixerra.in/user-nominee/v1/update' \\\n  -H 'Content-Type: application/json' \\\n  -H 'Authorization: Bearer expired.jwt.token' \\\n  -d '{\"f_user_nominee_id\":\"11111111-2222-4333-8444-555555555555\"}'","validations":[{"description":"Should reject with 401 auth error","passed":true,"message":"401 \"Access Denied.\""}],"expectedErrorCodes":[],"actualErrorCodes":[]}],"summary":{"total":82,"passed":80,"failed":0,"skipped":2,"running":0,"pending":0,"durationMs":4518}}]}