Confirms a deploy quote: the Phone plan quantity rises by the quoted
number of phones and the quoted amount is charged to the saved card
now. If the payment does not go through, the quantity stays
unchanged, paymentPending is true and no phone is deployed;
complete the payment in billing management.
Each new phone appears in GET /devices once the payment is
confirmed (seconds), and is ready to use once it has deployed
(minutes).
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Lusor","description":"Run AI agents on real phones, or drive a phone directly, with the Lusor API.","colors":{"primary":"#111111","light":"#FAFAFA","dark":"#111111"},"logo":{"light":"https://mintcdn.com/lusor-ai/Ifu_dlUtLbDafp0r/images/lusor-logo-lightmode@2x.png?fit=max\u0026auto=format\u0026n=Ifu_dlUtLbDafp0r\u0026q=85\u0026s=977cb89acbdf111277711fe79f404fd5","dark":"https://mintcdn.com/lusor-ai/s7jsDGcgmdq30-2k/images/lusor-logo-darkmode@2x.png?fit=max\u0026auto=format\u0026n=s7jsDGcgmdq30-2k\u0026q=85\u0026s=1a44f07d6684fb79a9ae4d593a5b924d","href":"https://lusor.ai"},"favicon":"https://mintcdn.com/lusor-ai/Plbn5wBfbIBBjl9c/favicon.png?fit=max\u0026auto=format\u0026n=Plbn5wBfbIBBjl9c\u0026q=85\u0026s=48f99be162e5dd4fe61028a9631f55f0","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"]}},"navbar":{"links":[{"href":"https://lusor.ai/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Open Lusor","href":"https://app.lusor.ai"}},"footer":{"socials":{"website":"https://lusor.ai"}},"icons":{"library":"fontawesome"},"contextual":{"options":["assistant","copy","view","download-spec","chatgpt","claude"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lusor-ai","hasAudioNarration":false,"actualSubdomain":"lusor-ai","customDomains":["docs.lusor.ai"],"gitSource":{"type":"github","owner":"lusor-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af3665a77bbd85befb3aca1","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":92},{"language":"default","tag":"Endpoints","count":91},{"language":"default","tag":"Developers","count":26},{"language":"default","tag":"Devices","count":22},{"language":"default","tag":"Sessions","count":17},{"language":"default","tag":"Phones","count":13},{"language":"default","tag":"DeviceVerbs","count":12},{"language":"default","tag":"Help Center","count":11},{"language":"default","tag":"Agents","count":11},{"language":"default","tag":"Agents \u0026 sessions","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"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":"editor-metadata","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},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/devices/deploy-the-quoted-lusor-phones","slug":"/api-reference/devices/deploy-the-quoted-lusor-phones","pageMetadata":{"title":"Deploy the quoted Lusor Phones","description":"Confirms a deploy quote: the Phone plan quantity rises by the quoted\nnumber of phones and the quoted amount is charged to the saved card\nnow. If the payment does not go through, the quantity stays\nunchanged, `paymentPending` is true and no phone is deployed;\ncomplete the payment in billing management.\n\nEach new phone appears in `GET /devices` once the payment is\nconfirmed (seconds), and is ready to use once it has deployed\n(minutes).\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/deploy","href":"/api-reference/devices/deploy-the-quoted-lusor-phones","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Confirms a deploy quote: the Phone plan quantity rises by the quoted\\nnumber of phones and the quoted amount is charged to the saved card\\nnow. If the payment does not go through, the quantity stays\\nunchanged, \", _jsx(_components.code, {\n children: \"paymentPending\"\n }), \" is true and no phone is deployed;\\ncomplete the payment in billing management.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Each new phone appears in \", _jsx(_components.code, {\n children: \"GET /devices\"\n }), \" once the payment is\\nconfirmed (seconds), and is ready to use once it has deployed\\n(minutes).\"]\n })]\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":"Deploy the quoted Lusor Phones","description":"Confirms a deploy quote: the Phone plan quantity rises by the quoted\nnumber of phones and the quoted amount is charged to the saved card\nnow. If the payment does not go through, the quantity stays\nunchanged, `paymentPending` is true and no phone is deployed;\ncomplete the payment in billing management.\n\nEach new phone appears in `GET /devices` once the payment is\nconfirmed (seconds), and is ready to use once it has deployed\n(minutes).\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/deploy","href":"/api-reference/devices/deploy-the-quoted-lusor-phones","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"deployDevice","summary":"Deploy the quoted Lusor Phones","description":"Confirms a deploy quote: the Phone plan quantity rises by the quoted\nnumber of phones and the quoted amount is charged to the saved card\nnow. If the payment does not go through, the quantity stays\nunchanged, `paymentPending` is true and no phone is deployed;\ncomplete the payment in billing management.\n\nEach new phone appears in `GET /devices` once the payment is\nconfirmed (seconds), and is ready to use once it has deployed\n(minutes).\n","tags":["Devices"],"parameters":["27e21a72-dc28-458d-9e9c-56df010e935d"],"requestBody":"ec6e11e5-0d8a-4e7d-8916-979e97b9c75b","responses":{"200":"0525db9b-4504-451c-b745-0fde5a67c314","400":"11688782-cbd0-41f5-9f87-94d862310edd","401":"3aceecb3-8f83-4383-bd89-c67fef128737","402":"9863c277-cbc8-4772-b29a-8d9e8cc9b31a","403":"e1073631-94d7-4545-a85b-521b0afaa107","404":"d2cb4e08-c380-457e-b3d6-ccfbfeda14c0","409":"d6d67c5e-a3b1-4799-b18d-6e0799ed3866","503":"c63634d3-7a76-466c-a724-8a9bafc29833"},"method":"post","type":"path","servers":["67414a81-b86b-4d15-b96f-3a390c272e81"],"security":["e990c9c7-7adf-4c43-a478-c17a739371f3","a66fdb89-a491-49fa-b34f-5bf4ba59f929"],"path":"/v1/workspaces/{workspaceId}/devices/deploy","baseUrlOptions":["https://api.lusor.ai"],"title":"Deploy the quoted Lusor Phones","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"27e21a72-dc28-458d-9e9c-56df010e935d":{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Workspace UUID. Caller must have access.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Workspace UUID. Caller must have access."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["previewId"],"properties":{"previewId":{"type":"string","format":"uuid","description":"The `previewId` of an unexpired quote.","isRequired":true,"uniqueKey":"previewId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"previewId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"0525db9b-4504-451c-b745-0fde5a67c314":{"description":"The plan after the change","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["status","quantity","paymentPending","workspaceId"],"properties":{"status":{"type":"string","description":"Billing status after the change (`active` when it applied).","isRequired":true,"uniqueKey":"data.status","typeLabel":"string"},"quantity":{"type":"integer","description":"Lusor Phones on the plan, as paid. Unchanged while `paymentPending`.","isRequired":true,"uniqueKey":"data.quantity","typeLabel":"integer"},"paymentPending":{"type":"boolean","description":"The charge did not go through yet; nothing changed. Complete it in billing management.","isRequired":true,"uniqueKey":"data.paymentPending","typeLabel":"boolean"},"workspaceId":{"type":"string","isRequired":true,"uniqueKey":"data.workspaceId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"status":"\u003cstring>","quantity":123,"paymentPending":true,"workspaceId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"11688782-cbd0-41f5-9f87-94d862310edd":{"description":"Request validation failed. Either `validation_error` with per-field\n`details`, or `bad_request` with a `message`, depending on the\nendpoint.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","details"],"properties":{"error":{"type":"string","example":"validation_error","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"isRequired":true,"uniqueKey":"oneOf.0.details","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"validation_error","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"3aceecb3-8f83-4383-bd89-c67fef128737":{"description":"Authentication required or invalid credentials.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"9863c277-cbc8-4772-b29a-8d9e8cc9b31a":{"description":"`tier_phone_limit`: the plan's phone limit would be exceeded; the\nbody names the limit and the tier to upgrade to.\n","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e1073631-94d7-4545-a85b-521b0afaa107":{"description":"The caller may not perform this action.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d2cb4e08-c380-457e-b3d6-ccfbfeda14c0":{"description":"Resource not found.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d6d67c5e-a3b1-4799-b18d-6e0799ed3866":{"description":"The change was refused; nothing was charged or removed by this call. `error` is one of:\n`default_workspace_only` (deploy outside the Default workspace),\n`no_subscription` (no active Phone plan),\n`checkout_open` (a checkout is still open),\n`payment_pending` (a payment on the plan is unpaid),\n`preview_expired` (the quote expired, is unknown, or the plan changed since: preview again),\n`device_busy` (a session is running on the phone),\n`device_releasing` (the phone is already being released),\n`last_phone` (the plan's last phone: cancel the plan in billing management instead),\nor `billing_conflict` (the plan needs support reconciliation).\n","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c63634d3-7a76-466c-a724-8a9bafc29833":{"description":"`billing_unavailable`: billing is temporarily unavailable. On a\npreview nothing changed. On a confirmation the outcome is unknown:\nretry the confirmation with the SAME `previewId`, which is never\napplied twice, and do not request a new quote (it could add a second\nphone).\n","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e990c9c7-7adf-4c43-a478-c17a739371f3":{"ApiKey":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Workspace API key, created in the dashboard under Settings → API Keys.","scopes":[],"schemeName":"ApiKey"}},"a66fdb89-a491-49fa-b34f-5bf4ba59f929":{"BearerAuth":{"type":"http","scheme":"bearer","description":"The same workspace API key, sent as `Authorization: Bearer \u003cyour API key>`.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"67414a81-b86b-4d15-b96f-3a390c272e81":{"url":"https://api.lusor.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Workspace API key, created in the dashboard under Settings → API Keys.","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"X-Api-Key","type":"string","description":"Workspace API key, created in the dashboard under Settings → API Keys.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"X-Api-Key"}],"title":"ApiKey"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"The same workspace API key, sent as `Authorization: Bearer \u003cyour API key>`.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"The same workspace API key, sent as `Authorization: Bearer \u003cyour API key>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"lusor-ai","siteName":"Lusor","title":"Deploy the quoted Lusor Phones - Lusor","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T18:45:51.562Z","originalFileLocation":"api-reference/devices/deploy-the-quoted-lusor-phones.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=\"Confirms a deploy quote: the Phone plan quantity rises by the quoted number of phones and the quoted amount is charged to the saved card now. If the payment does not go through, the quantity stays unchanged, paymentPending is true and no phone is deployed; complete the payment in billing management. Each new phone appears in GET /devices once the payment is confirmed (seconds), and is ready to use once it has deployed (minutes).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lusor\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Deploy the quoted Lusor Phones - Lusor\">\u003cmeta data-mint-head property=\"og:description\" content=\"Confirms a deploy quote: the Phone plan quantity rises by the quoted number of phones and the quoted amount is charged to the saved card now. If the payment does not go through, the quantity stays unchanged, paymentPending is true and no phone is deployed; complete the payment in billing management. Each new phone appears in GET /devices once the payment is confirmed (seconds), and is ready to use once it has deployed (minutes).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lusor\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lusor-ai.mintlify.site/_mintlify/api/og/v2?division=Devices\u0026amp;title=Deploy+the+quoted+Lusor+Phones\u0026amp;description=Confirms+a+deploy+quote%3A+the+Phone+plan+quantity+rises+by+the+quoted%0Anumber+of+phones+and+the+quoted+amount+is+charged+to+the+saved+card%0Anow.+If+the+payment+doe\u0026amp;theme=11044ab09cca21353c9d0db7\u0026amp;signature=be555559bf9f82750b5645bc658904913d834e499d32582b44d5b57186dcfda0\">\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=\"Deploy the quoted Lusor Phones - Lusor\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Confirms a deploy quote: the Phone plan quantity rises by the quoted number of phones and the quoted amount is charged to the saved card now. If the payment does not go through, the quantity stays unchanged, paymentPending is true and no phone is deployed; complete the payment in billing management. Each new phone appears in GET /devices once the payment is confirmed (seconds), and is ready to use once it has deployed (minutes).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lusor-ai.mintlify.site/_mintlify/api/og/v2?division=Devices\u0026amp;title=Deploy+the+quoted+Lusor+Phones\u0026amp;description=Confirms+a+deploy+quote%3A+the+Phone+plan+quantity+rises+by+the+quoted%0Anumber+of+phones+and+the+quoted+amount+is+charged+to+the+saved+card%0Anow.+If+the+payment+doe\u0026amp;theme=11044ab09cca21353c9d0db7\u0026amp;signature=be555559bf9f82750b5645bc658904913d834e499d32582b44d5b57186dcfda0\">\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=\"/mintlify-assets/_mintlify/favicons/lusor-ai/IpfY-Q6QPFVhWwzn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lusor\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#111111\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/devices/deploy-the-quoted-lusor-phones.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lusor.ai/#organization\",\"name\":\"Lusor\",\"url\":\"https://docs.lusor.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lusor-ai/Ifu_dlUtLbDafp0r/images/lusor-logo-lightmode@2x.png?fit=max\u0026auto=format\u0026n=Ifu_dlUtLbDafp0r\u0026q=85\u0026s=977cb89acbdf111277711fe79f404fd5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lusor.ai#website\",\"name\":\"Lusor\",\"url\":\"https://docs.lusor.ai\",\"publisher\":{\"@id\":\"https://docs.lusor.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones#webpage\",\"url\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones\",\"name\":\"Deploy the quoted Lusor Phones\",\"description\":\"Confirms a deploy quote: the Phone plan quantity rises by the quoted number of phones and the quoted amount is charged to the saved card now. If the payment does not go through, the quantity stays unchanged, paymentPending is true and no phone is deployed; complete the payment in billing management. Each new phone appears in GET /devices once the payment is confirmed (seconds), and is ready to use once it has deployed (minutes).\",\"dateModified\":\"2026-11-10T18:45:51.562Z\",\"isPartOf\":{\"@id\":\"https://docs.lusor.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.lusor.ai/api-reference/sessions/get-session-detail\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Devices\",\"item\":\"https://docs.lusor.ai/api-reference/devices/list-devices-in-the-keys-workspace\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Deploy the quoted Lusor Phones\",\"item\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones#apireference\",\"headline\":\"Deploy the quoted Lusor Phones\",\"name\":\"Deploy the quoted Lusor Phones\",\"description\":\"Confirms a deploy quote: the Phone plan quantity rises by the quoted number of phones and the quoted amount is charged to the saved card now. If the payment does not go through, the quantity stays unchanged, paymentPending is true and no phone is deployed; complete the payment in billing management. Each new phone appears in GET /devices once the payment is confirmed (seconds), and is ready to use once it has deployed (minutes).\",\"url\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lusor.ai/api-reference/devices/deploy-the-quoted-lusor-phones#webpage\"},\"dateModified\":\"2026-11-10T18:45:51.562Z\",\"publisher\":{\"@id\":\"https://docs.lusor.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lusor.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lusor\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Lusor\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/devices/deploy-the-quoted-lusor-phones.md","siteName":"Lusor","nav":{"global":null,"tabs":[{"tab":"Developers","pages":[{"title":"Developers","href":""}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help"}]},{"tab":"Build with AI","pages":[{"title":"Build with AI","href":"/connect"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"Sessions","pages":[{"title":"Get session detail","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}","href":"/api-reference/sessions/get-session-detail"},{"title":"Rename a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/sessions/{id}","href":"/api-reference/sessions/rename-a-session"},{"title":"Get session events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/events","href":"/api-reference/sessions/get-session-events"},{"title":"Get the detailed step breakdown (session JSON)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/breakdown","href":"/api-reference/sessions/get-the-detailed-step-breakdown-session-json"},{"title":"List sessions for device","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/sessions","href":"/api-reference/sessions/list-sessions-for-device"},{"title":"Create a new session on this device","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/sessions","href":"/api-reference/sessions/create-a-new-session-on-this-device"},{"title":"List sessions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions","href":"/api-reference/sessions/list-sessions"},{"title":"Get session status (lightweight)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/status","href":"/api-reference/sessions/get-session-status-lightweight"},{"title":"Get session artifacts (screenshots + ui-states + output)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/artifacts","href":"/api-reference/sessions/get-session-artifacts-screenshots-+-ui-states-+-output"},{"title":"Cancel a running session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stop","href":"/api-reference/sessions/cancel-a-running-session"},{"title":"Get one captured UI state of a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/ui-states/{file}","href":"/api-reference/sessions/get-one-captured-ui-state-of-a-session"},{"title":"Cancel a queued follow-up or queued agent turn","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/sessions/{id}/queue/{invocationId}","href":"/api-reference/sessions/cancel-a-queued-follow-up-or-queued-agent-turn"},{"title":"Send a follow-up message to a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/continue","href":"/api-reference/sessions/send-a-follow-up-message-to-a-session"},{"title":"Answer the agent's question (request_human)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/hitl","href":"/api-reference/sessions/answer-the-agents-question-request_human"},{"title":"Get the session's video recording","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/recording","href":"/api-reference/sessions/get-the-sessions-video-recording"},{"title":"Get the session's step-by-step replay","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/replay","href":"/api-reference/sessions/get-the-sessions-step-by-step-replay"},{"title":"Download one replay frame (PNG)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/replay/frame","href":"/api-reference/sessions/download-one-replay-frame-png"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/skills","href":"/api-reference/skills/list-skills"},{"title":"Create a skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/skills","href":"/api-reference/skills/create-a-skill"},{"title":"Get a skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/skills/{id}","href":"/api-reference/skills/get-a-skill"},{"title":"Delete a skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/skills/{id}","href":"/api-reference/skills/delete-a-skill"},{"title":"Update a skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/skills/{id}","href":"/api-reference/skills/update-a-skill"}]},{"group":"Secrets","pages":[{"title":"List the secrets saved in a workspace","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/vault","href":"/api-reference/secrets/list-the-secrets-saved-in-a-workspace"}]},{"group":"PhoneNumbers","pages":[{"title":"List workspace phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/numbers","href":"/api-reference/phonenumbers/list-workspace-phone-numbers"},{"title":"Get one workspace phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/numbers/{phoneNumberId}","href":"/api-reference/phonenumbers/get-one-workspace-phone-number"},{"title":"Page stored SMS messages for a workspace number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/numbers/{phoneNumberId}/messages","href":"/api-reference/phonenumbers/page-stored-sms-messages-for-a-workspace-number"}]},{"group":"Emails","pages":[{"title":"List the workspace's Agent Mail addresses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/emails/addresses","href":"/api-reference/emails/list-the-workspaces-agent-mail-addresses"},{"title":"Page stored inbound mail for a workspace address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/emails/messages","href":"/api-reference/emails/page-stored-inbound-mail-for-a-workspace-address"}]},{"group":"Devices","pages":[{"title":"List devices in the key's workspace","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/devices","href":"/api-reference/devices/list-devices-in-the-keys-workspace"},{"title":"List devices in a workspace","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices","href":"/api-reference/devices/list-devices-in-a-workspace"},{"title":"Preview deploying Lusor Phones","description":"Quotes `quantity` more Lusor Phones (default 1) on the workspace's\nPhone plan, as one change: the\nprorated amount charged today for the rest of the current period,\nand the next full invoice. Nothing is charged. The quote expires\nafter 10 minutes; confirm it with `POST /devices/deploy`.\n\nPhones are deployed into the tenant's Default workspace only; any\nother workspace answers 409 `default_workspace_only`.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/deploy/preview","href":"/api-reference/devices/preview-deploying-lusor-phones"},{"title":"Deploy the quoted Lusor Phones","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/deploy","href":"/api-reference/devices/deploy-the-quoted-lusor-phones"},{"title":"Preview removing a Lusor Phone","description":"Quotes removing this Lusor Phone from the Phone plan: the plan\nquantity falls by one and the unused rest of the current period is\ncredited to the account balance (applied to the next invoice).\nNothing changes yet. The quote expires after 10 minutes; confirm it\nwith `POST /devices/{deviceId}/remove`.\n\nRefused with 409 `device_busy` while a session is running on the\nphone, and 409 `last_phone` for the plan's last phone (cancel the\nplan in billing management instead).\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/remove/preview","href":"/api-reference/devices/preview-removing-a-lusor-phone"},{"title":"Remove a Lusor Phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/remove","href":"/api-reference/devices/remove-a-lusor-phone"},{"title":"Get a Lusor Phone's location and timezone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/geo","href":"/api-reference/devices/get-a-lusor-phones-location-and-timezone"},{"title":"Set a Lusor Phone's location and timezone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /v1/workspaces/{workspaceId}/devices/{deviceId}/geo","href":"/api-reference/devices/set-a-lusor-phones-location-and-timezone"},{"title":"Restore a Lusor Phone's automatic location","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/workspaces/{workspaceId}/devices/{deviceId}/geo","href":"/api-reference/devices/restore-a-lusor-phones-automatic-location"},{"title":"Get which agents are using, queued for, or attached to a phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/occupancy","href":"/api-reference/devices/get-which-agents-are-using-queued-for-or-attached-to-a-phone"},{"title":"List the countries a Lusor Phone's Internet can exit from","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/internet/locations","href":"/api-reference/devices/list-the-countries-a-lusor-phones-internet-can-exit-from"},{"title":"Get a Lusor Phone's Internet exit country and route","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/internet-location","href":"/api-reference/devices/get-a-lusor-phones-internet-exit-country-and-route"},{"title":"Get a Lusor Phone's static IP status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/static-ip","href":"/api-reference/devices/get-a-lusor-phones-static-ip-status"},{"title":"Get a Lusor Phone's wipe-and-reset progress","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/reset","href":"/api-reference/devices/get-a-lusor-phones-wipe-and-reset-progress"},{"title":"Get device UI state","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/state","href":"/api-reference/devices/get-device-ui-state"},{"title":"Get fresh device screenshot (binary PNG)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/screenshot","href":"/api-reference/devices/get-fresh-device-screenshot-binary-png"},{"title":"Get a Lusor Phone's language","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/language","href":"/api-reference/devices/get-a-lusor-phones-language"},{"title":"Set a Lusor Phone's language","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /v1/workspaces/{workspaceId}/devices/{deviceId}/language","href":"/api-reference/devices/set-a-lusor-phones-language"},{"title":"Get a Lusor Phone's identity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/identity","href":"/api-reference/devices/get-a-lusor-phones-identity"},{"title":"Set a Lusor Phone's identity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /v1/workspaces/{workspaceId}/devices/{deviceId}/identity","href":"/api-reference/devices/set-a-lusor-phones-identity"},{"title":"Get a Lusor Phone's last advertising-ID reset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}/devices/{deviceId}/advertising-id","href":"/api-reference/devices/get-a-lusor-phones-last-advertising-id-reset"},{"title":"Reset a Lusor Phone's advertising ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/advertising-id/reset","href":"/api-reference/devices/reset-a-lusor-phones-advertising-id"}]},{"group":"DeviceVerbs","pages":[{"title":"Trigger screenshot (capture-aware verb)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/screenshot","href":"/api-reference/deviceverbs/trigger-screenshot-capture-aware-verb"},{"title":"Tap on device","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/tap","href":"/api-reference/deviceverbs/tap-on-device"},{"title":"Swipe gesture on device","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/swipe","href":"/api-reference/deviceverbs/swipe-gesture-on-device"},{"title":"Type text into focused field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/type","href":"/api-reference/deviceverbs/type-text-into-focused-field"},{"title":"Press a key on device","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/key","href":"/api-reference/deviceverbs/press-a-key-on-device"},{"title":"Clear focused field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/clear","href":"/api-reference/deviceverbs/clear-focused-field"},{"title":"Press Back key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/back","href":"/api-reference/deviceverbs/press-back-key"},{"title":"Press Home key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/home","href":"/api-reference/deviceverbs/press-home-key"},{"title":"Press Recent Apps key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/recent","href":"/api-reference/deviceverbs/press-recent-apps-key"},{"title":"Launch an app","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/apps/start","href":"/api-reference/deviceverbs/launch-an-app"},{"title":"Force-stop an app","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/apps/stop","href":"/api-reference/deviceverbs/force-stop-an-app"},{"title":"Run a chain of actions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/chain","href":"/api-reference/deviceverbs/run-a-chain-of-actions"}]},{"group":"Shell","pages":[{"title":"Run a restricted shell command","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/devices/{deviceId}/shell","href":"/api-reference/shell/run-a-restricted-shell-command"}]},{"group":"LiveView","pages":[{"title":"Start a live view of the session's phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stream/start","href":"/api-reference/liveview/start-a-live-view-of-the-sessions-phone"},{"title":"Re-arm a live view","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stream/connect","href":"/api-reference/liveview/re-arm-a-live-view"},{"title":"Extend a live view's liveness","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stream/keepalive","href":"/api-reference/liveview/extend-a-live-views-liveness"},{"title":"Ask the phone for a fresh keyframe","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stream/request_frame","href":"/api-reference/liveview/ask-the-phone-for-a-fresh-keyframe"},{"title":"Send a WebRTC answer or ICE candidate to the phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stream/signal","href":"/api-reference/liveview/send-a-webrtc-answer-or-ice-candidate-to-the-phone"},{"title":"Stop a live view","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/stream/stop","href":"/api-reference/liveview/stop-a-live-view"},{"title":"Get the ICE servers for a live view","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/stream/ice-servers","href":"/api-reference/liveview/get-the-ice-servers-for-a-live-view"},{"title":"Receive the phone's WebRTC signaling (Server-Sent Events)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/stream/events","href":"/api-reference/liveview/receive-the-phones-webrtc-signaling-server-sent-events"}]},{"group":"Datasets","pages":[{"title":"Promote one session run's list to a Dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/datasets","href":"/api-reference/datasets/promote-one-session-runs-list-to-a-dataset"},{"title":"List Datasets visible to the caller","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets","href":"/api-reference/datasets/list-datasets-visible-to-the-caller"},{"title":"Get a Dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}","href":"/api-reference/datasets/get-a-dataset"},{"title":"Delete a Dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/datasets/{id}","href":"/api-reference/datasets/delete-a-dataset"},{"title":"Update a Dataset (rename and/or replace output)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/datasets/{id}","href":"/api-reference/datasets/update-a-dataset-rename-andor-replace-output"}]},{"group":"Agents","pages":[{"title":"List active agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/agents","href":"/api-reference/agents/list-active-agents"},{"title":"Create an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/agents","href":"/api-reference/agents/create-an-agent"},{"title":"Get or create the workspace's primary agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/agents/primary","href":"/api-reference/agents/get-or-create-the-workspaces-primary-agent"},{"title":"List agents recoverable within the 30-day restore window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/agents/trash","href":"/api-reference/agents/list-agents-recoverable-within-the-30-day-restore-window"},{"title":"Get an agent, attachments, and the newest page of turns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/agents/{id}","href":"/api-reference/agents/get-an-agent-attachments-and-the-newest-page-of-turns"},{"title":"Archive an agent for 30 days","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/agents/{id}","href":"/api-reference/agents/archive-an-agent-for-30-days"},{"title":"Update an agent and atomically replace its attachment set","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/agents/{id}","href":"/api-reference/agents/update-an-agent-and-atomically-replace-its-attachment-set"},{"title":"Restore an archived agent within its 30-day window","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/agents/{id}/restore","href":"/api-reference/agents/restore-an-archived-agent-within-its-30-day-window"},{"title":"Read one older page of an agent's turn history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/agents/{id}/turns","href":"/api-reference/agents/read-one-older-page-of-an-agents-turn-history"},{"title":"Submit a turn to an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/agents/{id}/turns","href":"/api-reference/agents/submit-a-turn-to-an-agent"},{"title":"Cancel a turn that is still waiting for its device","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/agents/{id}/turns/{sessionId}/cancel","href":"/api-reference/agents/cancel-a-turn-that-is-still-waiting-for-its-device"}]},{"group":"Workspaces","pages":[{"title":"Get a workspace","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workspaces/{workspaceId}","href":"/api-reference/workspaces/get-a-workspace"}]},{"group":"Catalog","pages":[{"title":"List installable catalog apps","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/catalog/apps","href":"/api-reference/catalog/list-installable-catalog-apps"},{"title":"Get a catalog app's icon (binary image)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/catalog/apps/{package}/icon","href":"/api-reference/catalog/get-a-catalog-apps-icon-binary-image"}]},{"group":"Health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/health","href":"/api-reference/health/health-check"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Deploy the quoted Lusor Phones - Lusor","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-D6S0Yh6q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}