Accept an incoming call (exchange nonce for HMS token)
Receiver taps “Accept” — exchanges the single-use nonce (received via
FCM) for a fresh HMS auth token, transitions Redis state from ringing
to active, and cancels the BullMQ timeout job.
POST
/
jobs
/
{jobId}
/
call
/
accept
Accept an incoming call (exchange nonce for HMS token)
{"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/call/accept-an-incoming-call-exchange-nonce-for-hms-token","slug":"/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token","pageMetadata":{"title":"Accept an incoming call (exchange nonce for HMS token)","description":"Receiver taps \"Accept\" — exchanges the single-use nonce (received via\nFCM) for a fresh HMS auth token, transitions Redis state from ringing\nto active, and cancels the BullMQ timeout job.\n","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","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: \"Receiver taps “Accept” — exchanges the single-use nonce (received via\\nFCM) for a fresh HMS auth token, transitions Redis state from ringing\\nto active, and cancels the BullMQ timeout job.\"\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":"Accept an incoming call (exchange nonce for HMS token)","description":"Receiver taps \"Accept\" — exchanges the single-use nonce (received via\nFCM) for a fresh HMS auth token, transitions Redis state from ringing\nto active, and cancels the BullMQ timeout job.\n","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["call"],"summary":"Accept an incoming call (exchange nonce for HMS token)","description":"Receiver taps \"Accept\" — exchanges the single-use nonce (received via\nFCM) for a fresh HMS auth token, transitions Redis state from ringing\nto active, and cancels the BullMQ timeout job.\n","parameters":["6cae522f-2db9-47bc-810e-7ffcaf05a9cf"],"requestBody":"7656a2ac-2a81-43f7-b17d-d65f1dd36e20","responses":{"200":"1be4abae-2494-4971-aeba-151f81a3f14b","401":"e7df184e-8ce2-4388-abb5-69679e2b4734","403":"c1e5fe01-c188-4a4c-8027-fff2227ce246","409":"c7a00579-d66c-4787-a739-ab7060818677"},"method":"post","type":"path","servers":["b829669c-57b9-4b5d-8c81-aa7f69c011f1","53cd5873-72c5-4846-ac7b-51b78d0299db"],"security":["4880f4b0-2af8-46df-8dc5-5c378d694397"],"path":"/jobs/{jobId}/call/accept","baseUrlOptions":["http://localhost:3000","https://mechzie-api-399967621389.asia-south1.run.app/api/v1"],"title":"Accept an incoming call (exchange nonce for HMS token)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6cae522f-2db9-47bc-810e-7ffcaf05a9cf":{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nonce":{"type":"string","minLength":1,"maxLength":64,"description":"Single-use nonce from the incoming_call FCM payload","isRequired":true,"uniqueKey":"nonce","typeLabel":"string"}},"required":["nonce"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"nonce":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"1be4abae-2494-4971-aeba-151f81a3f14b":{"description":"Call accepted — receiver can join 100ms room","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"hms_room_id":{"type":"string","uniqueKey":"data.hms_room_id","typeLabel":"string"},"auth_token":{"type":"string","uniqueKey":"data.auth_token","typeLabel":"string"},"role":{"type":"string","enum":["customer","mechanic"],"uniqueKey":"data.role","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"hms_room_id":"\u003cstring>","auth_token":"\u003cstring>","role":"customer"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e7df184e-8ce2-4388-abb5-69679e2b4734":{"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"},"c1e5fe01-c188-4a4c-8027-fff2227ce246":{"description":"Invalid/expired nonce or nonce doesn't match this call","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"},"c7a00579-d66c-4787-a739-ab7060818677":{"description":"Call no longer ringing (timed out or cancelled)","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":{"4880f4b0-2af8-46df-8dc5-5c378d694397":{"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":"Accept an incoming call (exchange nonce for HMS token) - MechZie API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-18T10:06:36.807Z","originalFileLocation":"api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token.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=\"Receiver taps \u0026quot;Accept\u0026quot; — exchanges the single-use nonce (received via FCM) for a fresh HMS auth token, transitions Redis state from ringing to active, and cancels the BullMQ timeout job.\">\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=\"Accept an incoming call (exchange nonce for HMS token) - MechZie API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Receiver taps \u0026quot;Accept\u0026quot; — exchanges the single-use nonce (received via FCM) for a fresh HMS auth token, transitions Redis state from ringing to active, and cancels the BullMQ timeout job.\">\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/call/accept-an-incoming-call-exchange-nonce-for-hms-token\">\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=call\u0026amp;title=Accept+an+incoming+call+%28exchange+nonce+for+HMS+token%29\u0026amp;description=Receiver+taps+%22Accept%22+%E2%80%94+exchanges+the+single-use+nonce+%28received+via%0AFCM%29+for+a+fresh+HMS+auth+token%2C+transitions+Redis+state+from+ringing%0Ato+active%2C+and+cance\u0026amp;theme=b17b2ab41e1e8981da9bb6bd\u0026amp;signature=e4a63b865aafc970fb22dfa2baa08ac83104a70a32f99f1c0618a374042fa6f3\">\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=\"Accept an incoming call (exchange nonce for HMS token) - MechZie API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Receiver taps \u0026quot;Accept\u0026quot; — exchanges the single-use nonce (received via FCM) for a fresh HMS auth token, transitions Redis state from ringing to active, and cancels the BullMQ timeout job.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mechzapp.mintlify.app/_mintlify/api/og/v2?division=call\u0026amp;title=Accept+an+incoming+call+%28exchange+nonce+for+HMS+token%29\u0026amp;description=Receiver+taps+%22Accept%22+%E2%80%94+exchanges+the+single-use+nonce+%28received+via%0AFCM%29+for+a+fresh+HMS+auth+token%2C+transitions+Redis+state+from+ringing%0Ato+active%2C+and+cance\u0026amp;theme=b17b2ab41e1e8981da9bb6bd\u0026amp;signature=e4a63b865aafc970fb22dfa2baa08ac83104a70a32f99f1c0618a374042fa6f3\">\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/call/accept-an-incoming-call-exchange-nonce-for-hms-token\">\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/call/accept-an-incoming-call-exchange-nonce-for-hms-token.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/call/accept-an-incoming-call-exchange-nonce-for-hms-token#webpage\",\"url\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token\",\"name\":\"Accept an incoming call (exchange nonce for HMS token)\",\"description\":\"Receiver taps \\\"Accept\\\" — exchanges the single-use nonce (received via FCM) for a fresh HMS auth token, transitions Redis state from ringing to active, and cancels the BullMQ timeout job.\",\"dateModified\":\"2026-09-18T10:06:36.807Z\",\"isPartOf\":{\"@id\":\"https://internal.mechzie.in/docs#website\"},\"breadcrumb\":{\"@id\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"call\",\"item\":\"https://internal.mechzie.in/docs/api-reference/call/initiate-a-call-ring-the-other-party\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Accept an incoming call (exchange nonce for HMS token)\",\"item\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token#apireference\",\"headline\":\"Accept an incoming call (exchange nonce for HMS token)\",\"name\":\"Accept an incoming call (exchange nonce for HMS token)\",\"description\":\"Receiver taps \\\"Accept\\\" — exchanges the single-use nonce (received via FCM) for a fresh HMS auth token, transitions Redis state from ringing to active, and cancels the BullMQ timeout job.\",\"url\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token\",\"mainEntityOfPage\":{\"@id\":\"https://internal.mechzie.in/docs/api-reference/call/accept-an-incoming-call-exchange-nonce-for-hms-token#webpage\"},\"dateModified\":\"2026-09-18T10:06:36.807Z\",\"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","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","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)","description":"Caller taps \"Call\" — creates/reuses the 100ms room, sends a data-only\nFCM push to the other party, schedules a 30 s timeout, and returns an\nHMS auth token so the caller can join the room immediately.\n","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","description":"Receiver taps \"Decline\" — cleans up Redis ringing state, cancels\nthe BullMQ timeout, and emits `call:declined` to the caller via\nSocket.io.\n","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":"Accept an incoming call (exchange nonce for HMS token) - 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"]}