{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MechZie API","description":"Internal API documentation for the MechZie roadside mechanic dispatch service","colors":{"primary":"#FF5500","light":"#FF7733","dark":"#CC4400"},"logo":{"light":"https://mintcdn.com/mechzapp/AW5e4c-ZxQ_CiOZ1/public/logo/mechzie-logo.png?fit=max\u0026auto=format\u0026n=AW5e4c-ZxQ_CiOZ1\u0026q=85\u0026s=0810304356723e03968d9e3f18cbfcbc","dark":"https://mintcdn.com/mechzapp/AW5e4c-ZxQ_CiOZ1/public/logo/mechzie-logo.png?fit=max\u0026auto=format\u0026n=AW5e4c-ZxQ_CiOZ1\u0026q=85\u0026s=0810304356723e03968d9e3f18cbfcbc"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/mechzapp/favicon.png","background":{"decoration":"gradient"},"navbar":{"links":[{"href":"mailto:support@mechzie.in","label":"Support"}]},"footer":{"socials":{"github":"https://github.com/MechZie"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/MechZie"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mechzapp","hasAudioNarration":false,"actualSubdomain":"mechzapp","customDomains":["internal.mechzie.in"],"gitSource":{"type":"github","owner":"mechzie","repo":"mechzie-api","deployBranch":"dev","contentDirectory":"mintlify-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aad0d1e3487b42e1d562d36","collectionId":"627dcf6e-29e0-4ff4-973f-2ef1ebc4c62b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aad0d1e3487b42e1d562d36"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6aad0d1e3487b42e1d562d36","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":99},{"language":"default","tag":"Documentation","count":16},{"language":"default","tag":"admin","count":15},{"language":"default","tag":"jobs","count":15},{"language":"default","tag":"Guides","count":12},{"language":"default","tag":"wallet","count":11},{"language":"default","tag":"mechanics","count":9},{"language":"default","tag":"payments","count":6},{"language":"default","tag":"auth","count":5},{"language":"default","tag":"call","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"#navbar img{width:85px!important;max-width:none!important;height:auto!important}#navbar{height:72px!important}"}],"page":{"pagePath":"api-reference/wallet/add-and-verify-a-upi-account","slug":"/api-reference/wallet/add-and-verify-a-upi-account","pageMetadata":{"title":"Add and verify a UPI account","description":"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /wallet/upi","href":"/api-reference/wallet/add-and-verify-a-upi-account","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Add and verify a UPI account","description":"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /wallet/upi","href":"/api-reference/wallet/add-and-verify-a-upi-account","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["wallet"],"summary":"Add and verify a UPI account","description":"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.","security":["eb60f10b-03b0-4f86-9c1e-63338bdf3548"],"requestBody":"2f76cb8b-5bf9-41e9-bd3c-c32bfb3d6f8d","responses":{"201":"3b3df429-8f97-43b1-a1a2-07e8a992a949","401":"347800dd-38f0-40a5-9ae3-1a52d4058290","422":"a11170f4-3065-4c2c-8000-454c02b17974"},"method":"post","type":"path","servers":["b829669c-57b9-4b5d-8c81-aa7f69c011f1","53cd5873-72c5-4846-ac7b-51b78d0299db"],"path":"/wallet/upi","baseUrlOptions":["http://localhost:3000","https://mechzie-api-399967621389.asia-south1.run.app/api/v1"],"title":"Add and verify a UPI account","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["vpa","beneficiary_name"],"properties":{"vpa":{"type":"string","description":"UPI Virtual Payment Address","example":"mechanic@upi","isRequired":true,"uniqueKey":"vpa","typeLabel":"string"},"beneficiary_name":{"type":"string","description":"Name of the account holder","example":"Ravi Kumar","isRequired":true,"uniqueKey":"beneficiary_name","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"vpa":"mechanic@upi","beneficiary_name":"Ravi Kumar"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"3b3df429-8f97-43b1-a1a2-07e8a992a949":{"description":"UPI verification initiated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"upiAccountId":{"type":"string","format":"uuid","uniqueKey":"data.upiAccountId","typeLabel":"string\u003cuuid>"},"message":{"type":"string","example":"Verification initiated","uniqueKey":"data.message","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"upiAccountId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","message":"Verification initiated"}}}},"exampleType":"generated"}},"exampleType":"generated"},"347800dd-38f0-40a5-9ae3-1a52d4058290":{"description":"Missing or invalid authentication token","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned by all error responses","properties":{"success":{"type":"boolean","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. NOT_FOUND, UNAUTHORIZED)","example":"NOT_FOUND","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the error","example":"Resource not found","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"errors":{"type":"object","description":"Field-level validation errors (only present on 422)","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"error.errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"error.errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"error.errors","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"NOT_FOUND","message":"Resource not found","errors":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"a11170f4-3065-4c2c-8000-454c02b17974":{"description":"Request validation failed","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned by all error responses","properties":{"success":{"type":"boolean","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. NOT_FOUND, UNAUTHORIZED)","example":"NOT_FOUND","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the error","example":"Resource not found","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"errors":{"type":"object","description":"Field-level validation errors (only present on 422)","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"error.errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"error.errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"error.errors","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"NOT_FOUND","message":"Resource not found","errors":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"eb60f10b-03b0-4f86-9c1e-63338bdf3548":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token from /auth/verify-otp","scopes":[]}}},"servers":{"b829669c-57b9-4b5d-8c81-aa7f69c011f1":{"url":"http://localhost:3000","description":"Local development"},"53cd5873-72c5-4846-ac7b-51b78d0299db":{"url":"https://mechzie-api-399967621389.asia-south1.run.app/api/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token from /auth/verify-otp","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT access token from /auth/verify-otp","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"mechzapp","siteName":"MechZie API","title":"Add and verify a UPI account - MechZie API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-18T10:06:36.149Z","originalFileLocation":"api-reference/wallet/add-and-verify-a-upi-account.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MechZie API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/mechzapp/favicon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/mechzapp/favicon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/mechzapp/favicon.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/mechzapp/favicon.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add and verify a UPI account - MechZie API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MechZie API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mechzapp.mintlify.app/_mintlify/api/og/v2?division=wallet\u0026amp;title=Add+and+verify+a+UPI+account\u0026amp;description=Creates+a+RazorpayX+contact+%2B+fund+account+and+triggers+VPA+validation.+Verification+is+asynchronous.\u0026amp;theme=b17b2ab41e1e8981da9bb6bd\u0026amp;signature=88caf394c5f20cce4526ccb4f3761c5d310b082e7b706142eeaa4bd8c078282d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Add and verify a UPI account - MechZie API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mechzapp.mintlify.app/_mintlify/api/og/v2?division=wallet\u0026amp;title=Add+and+verify+a+UPI+account\u0026amp;description=Creates+a+RazorpayX+contact+%2B+fund+account+and+triggers+VPA+validation.+Verification+is+asynchronous.\u0026amp;theme=b17b2ab41e1e8981da9bb6bd\u0026amp;signature=88caf394c5f20cce4526ccb4f3761c5d310b082e7b706142eeaa4bd8c078282d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/mechzapp/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MechZie API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5500\">\u003clink data-mint-head rel=\"canonical\" href=\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/wallet/add-and-verify-a-upi-account.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://internal.mechzie.in/#organization\",\"name\":\"MechZie API\",\"url\":\"https://internal.mechzie.in\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mechzapp/AW5e4c-ZxQ_CiOZ1/public/logo/mechzie-logo.png?fit=max\u0026auto=format\u0026n=AW5e4c-ZxQ_CiOZ1\u0026q=85\u0026s=0810304356723e03968d9e3f18cbfcbc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://internal.mechzie.in/docs#website\",\"name\":\"MechZie API\",\"url\":\"https://internal.mechzie.in/docs\",\"publisher\":{\"@id\":\"https://internal.mechzie.in/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account#webpage\",\"url\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account\",\"name\":\"Add and verify a UPI account\",\"description\":\"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.\",\"dateModified\":\"2026-09-18T10:06:36.149Z\",\"isPartOf\":{\"@id\":\"https://internal.mechzie.in/docs#website\"},\"breadcrumb\":{\"@id\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"wallet\",\"item\":\"https://internal.mechzie.in/docs/api-reference/wallet/get-wallet-balance-summary\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add and verify a UPI account\",\"item\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account#apireference\",\"headline\":\"Add and verify a UPI account\",\"name\":\"Add and verify a UPI account\",\"description\":\"Creates a RazorpayX contact + fund account and triggers VPA validation. Verification is asynchronous.\",\"url\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account\",\"mainEntityOfPage\":{\"@id\":\"https://internal.mechzie.in/docs/api-reference/wallet/add-and-verify-a-upi-account#webpage\"},\"dateModified\":\"2026-09-18T10:06:36.149Z\",\"publisher\":{\"@id\":\"https://internal.mechzie.in/#organization\"},\"isPartOf\":{\"@id\":\"https://internal.mechzie.in/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MechZie API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MechZie API","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/MechZie"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"health","pages":[{"title":"Liveness check","deprecated":null,"version":null,"openapi":"/openapi.yaml get /health","href":"/api-reference/health/liveness-check"},{"title":"Readiness check with DB and Redis probes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /health/ready","href":"/api-reference/health/readiness-check-with-db-and-redis-probes"}]},{"group":"auth","pages":[{"title":"Exchange Firebase ID token for JWT pair","deprecated":null,"version":null,"openapi":"/openapi.yaml post /auth/verify-otp","href":"/api-reference/auth/exchange-firebase-id-token-for-jwt-pair"},{"title":"Rotate refresh token and get new access token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /auth/refresh","href":"/api-reference/auth/rotate-refresh-token-and-get-new-access-token"},{"title":"Revoke refresh token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /auth/logout","href":"/api-reference/auth/revoke-refresh-token"},{"title":"Admin email login via Firebase","deprecated":null,"version":null,"openapi":"/openapi.yaml post /auth/admin-login","href":"/api-reference/auth/admin-email-login-via-firebase"},{"title":"Complete admin account setup via invite token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /auth/complete-admin-invite","href":"/api-reference/auth/complete-admin-account-setup-via-invite-token"}]},{"group":"users","pages":[{"title":"Get current user profile","deprecated":null,"version":null,"openapi":"/openapi.yaml get /users/me","href":"/api-reference/users/get-current-user-profile"},{"title":"Update current user profile","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /users/me","href":"/api-reference/users/update-current-user-profile"},{"title":"Get user by ID (admin only)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /users/{id}","href":"/api-reference/users/get-user-by-id-admin-only"},{"title":"List emergency contacts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /users/me/emergency-contacts","href":"/api-reference/users/list-emergency-contacts"},{"title":"Upsert emergency contacts (replace all, max 2)","deprecated":null,"version":null,"openapi":"/openapi.yaml put /users/me/emergency-contacts","href":"/api-reference/users/upsert-emergency-contacts-replace-all-max-2"}]},{"group":"vehicles","pages":[{"title":"List own vehicles","deprecated":null,"version":null,"openapi":"/openapi.yaml get /vehicles","href":"/api-reference/vehicles/list-own-vehicles"},{"title":"Add new vehicle","deprecated":null,"version":null,"openapi":"/openapi.yaml post /vehicles","href":"/api-reference/vehicles/add-new-vehicle"},{"title":"Get specific vehicle","deprecated":null,"version":null,"openapi":"/openapi.yaml get /vehicles/{id}","href":"/api-reference/vehicles/get-specific-vehicle"},{"title":"Delete vehicle","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /vehicles/{id}","href":"/api-reference/vehicles/delete-vehicle"},{"title":"Update vehicle","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /vehicles/{id}","href":"/api-reference/vehicles/update-vehicle"}]},{"group":"mechanics","pages":[{"title":"Get public mechanic profile","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mechanics/{id}","href":"/api-reference/mechanics/get-public-mechanic-profile"},{"title":"Submit mechanic profile, vehicle types, and documents for verification","deprecated":null,"version":null,"openapi":"/openapi.yaml post /mechanics/register","href":"/api-reference/mechanics/submit-mechanic-profile-vehicle-types-and-documents-for-verification"},{"title":"Get own mechanic profile","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mechanics/me","href":"/api-reference/mechanics/get-own-mechanic-profile"},{"title":"Update mechanic vehicle type preferences","deprecated":null,"version":null,"openapi":"/openapi.yaml put /mechanics/vehicle-types","href":"/api-reference/mechanics/update-mechanic-vehicle-type-preferences"},{"title":"Update mechanic service category selection","deprecated":null,"version":null,"openapi":"/openapi.yaml put /mechanics/service-categories","href":"/api-reference/mechanics/update-mechanic-service-category-selection"},{"title":"Toggle online/offline status","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /mechanics/availability","href":"/api-reference/mechanics/toggle-onlineoffline-status"},{"title":"Update mechanic location (HTTP fallback)","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /mechanics/location","href":"/api-reference/mechanics/update-mechanic-location-http-fallback"},{"title":"Get mechanic statistics","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mechanics/me/stats","href":"/api-reference/mechanics/get-mechanic-statistics"},{"title":"List own uploaded documents","deprecated":null,"version":null,"openapi":"/openapi.yaml get /mechanics/me/documents","href":"/api-reference/mechanics/list-own-uploaded-documents"}]},{"group":"jobs","pages":[{"title":"List own jobs (paginated)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /jobs","href":"/api-reference/jobs/list-own-jobs-paginated"},{"title":"Create job and trigger dispatch (customer only)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs","href":"/api-reference/jobs/create-job-and-trigger-dispatch-customer-only"},{"title":"Get job details","deprecated":null,"version":null,"openapi":"/openapi.yaml get /jobs/{id}","href":"/api-reference/jobs/get-job-details"},{"title":"Mechanic accepts job offer","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/accept","href":"/api-reference/jobs/mechanic-accepts-job-offer"},{"title":"Mechanic declines job offer","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/decline","href":"/api-reference/jobs/mechanic-declines-job-offer"},{"title":"Mechanic marks en route","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/en-route","href":"/api-reference/jobs/mechanic-marks-en-route"},{"title":"Mechanic marks arrived","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/arrive","href":"/api-reference/jobs/mechanic-marks-arrived"},{"title":"Mechanic marks work started","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/start","href":"/api-reference/jobs/mechanic-marks-work-started"},{"title":"Mechanic marks job complete","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/complete","href":"/api-reference/jobs/mechanic-marks-job-complete"},{"title":"Cancel job","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /jobs/{id}/cancel","href":"/api-reference/jobs/cancel-job"},{"title":"List line items for a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /jobs/{id}/line-items","href":"/api-reference/jobs/list-line-items-for-a-job"},{"title":"Add line item (mechanic only)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/line-items","href":"/api-reference/jobs/add-line-item-mechanic-only"},{"title":"Remove line item (mechanic only)","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /jobs/{id}/line-items/{itemId}","href":"/api-reference/jobs/remove-line-item-mechanic-only"},{"title":"Customer or admin disputes a completed job","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/dispute","href":"/api-reference/jobs/customer-or-admin-disputes-a-completed-job"},{"title":"Admin resolves a disputed job","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{id}/resolve","href":"/api-reference/jobs/admin-resolves-a-disputed-job"}]},{"group":"comms","pages":[{"title":"Get or create a 100ms audio call room and return an auth token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/comms/token","href":"/api-reference/comms/get-or-create-a-100ms-audio-call-room-and-return-an-auth-token"},{"title":"Get chat history for a job (paginated, oldest-first)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /jobs/{jobId}/comms/messages","href":"/api-reference/comms/get-chat-history-for-a-job-paginated-oldest-first"},{"title":"Send a chat message (REST fallback)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/comms/messages","href":"/api-reference/comms/send-a-chat-message-rest-fallback"}]},{"group":"tracking","pages":[{"title":"Get job tracking info (HTTP polling fallback)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /tracking/jobs/{id}","href":"/api-reference/tracking/get-job-tracking-info-http-polling-fallback"}]},{"group":"payments","pages":[{"title":"Create Razorpay order (customer only)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /payments/create-order","href":"/api-reference/payments/create-razorpay-order-customer-only"},{"title":"Verify Razorpay signature (optimistic UI)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /payments/verify","href":"/api-reference/payments/verify-razorpay-signature-optimistic-ui"},{"title":"Razorpay webhook (no auth)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /payments/webhook","href":"/api-reference/payments/razorpay-webhook-no-auth"},{"title":"Check for outstanding cancellation fees","deprecated":null,"version":null,"openapi":"/openapi.yaml get /payments/unpaid-fees","href":"/api-reference/payments/check-for-outstanding-cancellation-fees"},{"title":"Get payment status for a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /payments/{jobId}","href":"/api-reference/payments/get-payment-status-for-a-job"},{"title":"Check for outstanding cancellation fees (alias)","deprecated":true,"version":null,"openapi":"/openapi.yaml get /payments/outstanding-fees","href":"/api-reference/payments/check-for-outstanding-cancellation-fees-alias"}]},{"group":"wallet","pages":[{"title":"Get wallet balance summary","deprecated":null,"version":null,"openapi":"/openapi.yaml get /wallet/summary","href":"/api-reference/wallet/get-wallet-balance-summary"},{"title":"List wallet transactions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /wallet/transactions","href":"/api-reference/wallet/list-wallet-transactions"},{"title":"List payout history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /wallet/payouts","href":"/api-reference/wallet/list-payout-history"},{"title":"List UPI accounts","description":"Returns all UPI accounts for the authenticated mechanic with verification status.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /wallet/upi","href":"/api-reference/wallet/list-upi-accounts"},{"title":"Add and verify a UPI account","deprecated":null,"version":null,"openapi":"/openapi.yaml post /wallet/upi","href":"/api-reference/wallet/add-and-verify-a-upi-account"},{"title":"Admin approve UPI account","description":"Manually approve a UPI account that failed automatic VPA name matching.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /wallet/upi/{upiAccountId}/approve","href":"/api-reference/wallet/admin-approve-upi-account"},{"title":"Raise a dispute","deprecated":null,"version":null,"openapi":"/openapi.yaml post /wallet/disputes","href":"/api-reference/wallet/raise-a-dispute"},{"title":"Get disputes for a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /wallet/disputes/job/{jobId}","href":"/api-reference/wallet/get-disputes-for-a-job"},{"title":"Resolve a dispute (admin)","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /wallet/disputes/{disputeId}/resolve","href":"/api-reference/wallet/resolve-a-dispute-admin"},{"title":"Initiate a refund (admin)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /wallet/refunds","href":"/api-reference/wallet/initiate-a-refund-admin"},{"title":"List refunds for a payment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /wallet/refunds/{paymentId}","href":"/api-reference/wallet/list-refunds-for-a-payment"}]},{"group":"ratings","pages":[{"title":"Submit a rating","deprecated":null,"version":null,"openapi":"/openapi.yaml post /ratings","href":"/api-reference/ratings/submit-a-rating"},{"title":"Get mechanic ratings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /ratings/mechanic/{mechanicProfileId}","href":"/api-reference/ratings/get-mechanic-ratings"},{"title":"Get both ratings for a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /ratings/job/{jobId}","href":"/api-reference/ratings/get-both-ratings-for-a-job"}]},{"group":"service-categories","pages":[{"title":"List categories (filter by vehicle type)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /service-categories","href":"/api-reference/service-categories/list-categories-filter-by-vehicle-type"},{"title":"Create new category (admin only)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /service-categories","href":"/api-reference/service-categories/create-new-category-admin-only"},{"title":"Get specific category","deprecated":null,"version":null,"openapi":"/openapi.yaml get /service-categories/{id}","href":"/api-reference/service-categories/get-specific-category"},{"title":"Delete category (admin only)","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /service-categories/{id}","href":"/api-reference/service-categories/delete-category-admin-only"},{"title":"Update category (admin only)","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /service-categories/{id}","href":"/api-reference/service-categories/update-category-admin-only"}]},{"group":"notifications","pages":[{"title":"List notifications (paginated)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /notifications","href":"/api-reference/notifications/list-notifications-paginated"},{"title":"Register/update FCM push token","deprecated":null,"version":null,"openapi":"/openapi.yaml put /notifications/fcm-token","href":"/api-reference/notifications/registerupdate-fcm-push-token"},{"title":"Mark all notifications as read","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /notifications/read-all","href":"/api-reference/notifications/mark-all-notifications-as-read"},{"title":"Mark single notification as read","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /notifications/{id}/read","href":"/api-reference/notifications/mark-single-notification-as-read"}]},{"group":"uploads","pages":[{"title":"Generate S3 presigned upload URL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /uploads/presigned-url","href":"/api-reference/uploads/generate-s3-presigned-upload-url"}]},{"group":"admin","pages":[{"title":"Get admin dashboard stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/dashboard","href":"/api-reference/admin/get-admin-dashboard-stats"},{"title":"List all users","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/users","href":"/api-reference/admin/list-all-users"},{"title":"List all mechanics","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/mechanics","href":"/api-reference/admin/list-all-mechanics"},{"title":"Verify/reject mechanic","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /admin/mechanics/{id}/verify","href":"/api-reference/admin/verifyreject-mechanic"},{"title":"Get mechanic documents","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/mechanics/{id}/documents","href":"/api-reference/admin/get-mechanic-documents"},{"title":"Review document","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /admin/documents/{id}/review","href":"/api-reference/admin/review-document"},{"title":"List all jobs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/jobs","href":"/api-reference/admin/list-all-jobs"},{"title":"Get job detail","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/jobs/{id}","href":"/api-reference/admin/get-job-detail"},{"title":"Payment aggregate stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/payments/stats","href":"/api-reference/admin/payment-aggregate-stats"},{"title":"List payments (paginated)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/payments","href":"/api-reference/admin/list-payments-paginated"},{"title":"Initiate refund","deprecated":null,"version":null,"openapi":"/openapi.yaml post /admin/payments/{id}/refund","href":"/api-reference/admin/initiate-refund"},{"title":"List all service categories (admin)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/service-categories","href":"/api-reference/admin/list-all-service-categories-admin"},{"title":"Create service category (admin)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /admin/service-categories","href":"/api-reference/admin/create-service-category-admin"},{"title":"Delete service category (admin)","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /admin/service-categories/{id}","href":"/api-reference/admin/delete-service-category-admin"},{"title":"Update service category (admin)","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /admin/service-categories/{id}","href":"/api-reference/admin/update-service-category-admin"}]},{"group":"super-admin","pages":[{"title":"List all admin invites","deprecated":null,"version":null,"openapi":"/openapi.yaml get /super-admin/invites","href":"/api-reference/super-admin/list-all-admin-invites"},{"title":"Create an admin invite","deprecated":null,"version":null,"openapi":"/openapi.yaml post /super-admin/invites","href":"/api-reference/super-admin/create-an-admin-invite"},{"title":"Revoke a pending admin invite","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /super-admin/invites/{id}/revoke","href":"/api-reference/super-admin/revoke-a-pending-admin-invite"},{"title":"Update a user's role","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /super-admin/users/{id}/role","href":"/api-reference/super-admin/update-a-users-role"}]},{"group":"call","pages":[{"title":"Initiate a call (ring the other party)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/call/initiate","href":"/api-reference/call/initiate-a-call-ring-the-other-party"},{"title":"Accept an incoming call (exchange nonce for HMS token)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/call/accept","href":"/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token"},{"title":"Decline an incoming call","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/call/decline","href":"/api-reference/call/decline-an-incoming-call"},{"title":"Cancel an outgoing call before answered","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/call/cancel","href":"/api-reference/call/cancel-an-outgoing-call-before-answered"},{"title":"End an active call (hangup)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /jobs/{jobId}/call/end","href":"/api-reference/call/end-an-active-call-hangup"}]}]}]},"basePath":"","title":"Add and verify a UPI account - MechZie API","buildId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","deploymentId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bsljvftq.js","utils-BEZX0tmN.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BrDD79Na.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-2c3Nf5XI.js","snippetPresets-CWWkg29k.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-SJmWKHmz.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BYc8UL58.js","shallow-UTXCq4wY.js","getApiPlaygroundDisplay-D1ZcrmBl.js","CodeSnippet-CTS7L7R4.js","CodeSnippets-MsBYl-gd.js","Page-BxumJvVQ.js","getPastedJson-C_5Mq0uv.js","icon-D7sYgD4k.js","MethodPill-B7Q6uD_j.js","DuplicateIcon-DXGzB8u_.js","createIcon-UDYg_Gk8.js","DynamicMarkdown-BBrVIqs3.js","SectionHeading-BxanXFN4.js","axios-vUo_bRtp.js","Markdown-DAhL0GAo.js","clsx-BZ8NiN2w.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CpdUkuDP.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sMo3-CxC.js"]}