import Mobilerun from '@mobilerun/sdk';const client = new Mobilerun({ apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted});const response = await client.workflows.flows.clone('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');console.log(response.data);
import os
from mobilerun_sdk import Mobilerun
client = Mobilerun(
api_key=os.environ.get("MOBILERUN_CLOUD_API_KEY"), # This is the default and can be omitted
)
response = client.workflows.flows.clone(
flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow’s name and target deviceIds. Returns 404 if the source flow does not exist.
Supports an optional Idempotency-Key header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 idempotency_key_reused.
POST
/
flows
/
{flowId}
/
clone
JavaScript
import Mobilerun from '@mobilerun/sdk';const client = new Mobilerun({ apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted});const response = await client.workflows.flows.clone('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');console.log(response.data);
import os
from mobilerun_sdk import Mobilerun
client = Mobilerun(
api_key=os.environ.get("MOBILERUN_CLOUD_API_KEY"), # This is the default and can be omitted
)
response = client.workflows.flows.clone(
flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Idempotency-Key: 1-255 printable ASCII characters. Same key with a different request body is a 422 idempotency_key_reused. A retryable in-flight duplicate is a 409 with Retry-After and x-should-retry: true; a terminal duplicate is a 409 with x-should-retry: false. A replay returns the current resource state with Idempotent-Replayed: true.
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Mobilerun","colors":{"primary":"#4566D9","light":"#73A0FF","dark":"#4566D9"},"logo":{"light":"https://mintcdn.com/mobilerun/dj4o2PD1fQzmydpp/logo/dark.svg?fit=max\u0026auto=format\u0026n=dj4o2PD1fQzmydpp\u0026q=85\u0026s=94794bb3cda4a2b043ae10ae8c62de4d","dark":"https://mintcdn.com/mobilerun/dj4o2PD1fQzmydpp/logo/light.svg?fit=max\u0026auto=format\u0026n=dj4o2PD1fQzmydpp\u0026q=85\u0026s=48f04fef89a01ee7524aba18bc42e98c","href":"https://mobilerun.ai"},"favicon":{"light":"https://mintcdn.com/mobilerun/3WD57gGwKcqvkcxT/favicon.png?fit=max\u0026auto=format\u0026n=3WD57gGwKcqvkcxT\u0026q=85\u0026s=18b3ce5f77441e67930307555c63dce1","dark":"https://mintcdn.com/mobilerun/3WD57gGwKcqvkcxT/favicon-dark.png?fit=max\u0026auto=format\u0026n=3WD57gGwKcqvkcxT\u0026q=85\u0026s=5de0002e3ece75d65013ce83fb6d0c67"},"background":{"color":{"light":"#FBFAF7","dark":"#0F0D0B"}},"navbar":{"primary":{"type":"button","label":"Get Started","href":"https://cloud.mobilerun.ai"}},"footer":{"socials":{"github":"https://github.com/droidrun/droidrun","x":"https://x.com/droid_run","discord":"https://discord.gg/droidrun","website":"https://mobilerun.ai"}},"fonts":{"family":"Geist"},"icons":{"library":"lucide"},"integrations":{"posthog":{"apiKey":"phc_3BmiVdnS2Wvlm007eHGZLBPwRFCVVWzIZXbB0u3ZH1d","apiHost":"https://pineapple.droidrun.ai"}},"errors":{"404":{"redirect":false}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mobilerun","hasAudioNarration":false,"actualSubdomain":"mobilerun","customDomains":["docs.mobilerun.ai"],"gitSource":{"type":"github","owner":"droidrun","repo":"mobilerun-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae213e4661bff0c6e738d56","collectionId":"10530db3-e25a-4ea4-ba0a-67a6f99ff391","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae213e4661bff0c6e738d56"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae213e4661bff0c6e738d56","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Cloud","count":244},{"language":"default","tag":"API Reference","count":198},{"language":"default","tag":"Phones","count":92},{"language":"default","tag":"Guides","count":59},{"language":"default","tag":"Tools","count":49},{"language":"default","tag":"Workflows","count":42},{"language":"default","tag":"Tasks","count":26},{"language":"default","tag":"Framework","count":24},{"language":"default","tag":"Flows","count":20},{"language":"default","tag":"Webhooks","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":":root{--brand-background:#FBFAF7;--brand-foreground:#272320;--brand-card:#FFFDFA;--brand-popover:#FFFDFA;--brand-card-foreground:#272320;--brand-primary-foreground:#F7F8FC;--brand-secondary:#F3F0EA;--brand-secondary-foreground:#272320;--brand-muted:#F3F0EA;--brand-muted-foreground:#76706C;--brand-accent:#E0EBFF;--brand-accent-foreground:#273C81;--brand-destructive:#C74C41;--brand-destructive-foreground:#FDFCF9;--brand-border:#E6E4E0;--brand-input:#F5F3EF;--brand-sidebar:#F7F5F1;--brand-sidebar-foreground:#312D2A;--brand-sidebar-border:#E6E4E0;--brand-chart-1:#4566D9;--brand-chart-2:#00A0C5;--brand-chart-3:#9878E5;--brand-chart-4:#CD9130;--brand-chart-5:#009A7B}html.dark{--brand-background:#0F0D0B;--brand-foreground:#E6E4E1;--brand-card:#161311;--brand-popover:#1A1816;--brand-card-foreground:#E6E4E1;--brand-primary-foreground:#0E111B;--brand-secondary:#1D1A18;--brand-secondary-foreground:#E6E4E1;--brand-muted:#1A1816;--brand-muted-foreground:#9C9793;--brand-accent:#1C2746;--brand-accent-foreground:#BAD0FF;--brand-destructive:#C5372F;--brand-destructive-foreground:#F0EEEB;--brand-border:#24211F;--brand-input:#1F1C1A;--brand-sidebar:#14110F;--brand-sidebar-foreground:#D9D7D4;--brand-sidebar-border:#24211F;--brand-chart-1:#73A0FF;--brand-chart-2:#1EBDE3;--brand-chart-3:#AC8FF8;--brand-chart-4:#E4AC59;--brand-chart-5:#30B69A}#content-area{max-width:none!important}@media (min-width:1280px){#content-area,.docs-content,.mdx-content,.prose{max-width:900px!important}}@media (min-width:1536px){#content-area,.docs-content,.mdx-content,.prose{max-width:1000px!important}}@media (min-width:1920px){#content-area,.docs-content,.mdx-content,.prose{max-width:1200px!important}}@media (min-width:2560px){#content-area,.docs-content,.mdx-content,.prose{max-width:1600px!important}}@media (min-width:1280px){main{max-width:none!important}.container{max-width:1400px!important}}@media (min-width:1920px){.container{max-width:1600px!important}}@media (min-width:2560px){.container{max-width:1800px!important}}a[href=\"https://mobilerun.ai\"]{height:auto!important;max-height:none!important}img[src*=\"/logo/dark.svg\"],img[src*=\"/logo/light.svg\"]{height:2rem!important;max-height:none!important;width:auto!important}html[data-current-path^=\"/framework\"]{--primary:217 119 87;--primary-light:232 153 120;--primary-dark:181 90 62}html[data-current-path^=\"/framework\"] a[href=\"https://mobilerun.ai\"] img[src*=\"/logo/light.svg\"]{content:url(/framework/logo/light.svg)}html[data-current-path^=\"/framework\"] a[href=\"https://mobilerun.ai\"] img[src*=\"/logo/dark.svg\"]{content:url(/framework/logo/dark.svg)}html[data-current-path^=\"/framework\"] a[href=\"https://mobilerun.ai\"] img[src*=\"/logo/dark.svg\"],html[data-current-path^=\"/framework\"] a[href=\"https://mobilerun.ai\"] img[src*=\"/logo/light.svg\"]{height:1.7rem!important;transform:translate(2px,2px)}html[data-current-path^=\"/framework\"] a[href=\"https://mobilerun.ai\"]{display:inline-flex!important;align-items:center!important}img[src$=\"/logo/assistant-light.svg\"]{width:24px!important;height:24px!important;max-width:none;flex-shrink:0}.dark img[src$=\"/logo/assistant-light.svg\"]{content:url(/logo/assistant-dark.svg)}"}],"page":{"pagePath":"api-reference/flows/clone-a-flow","slug":"/api-reference/flows/clone-a-flow","pageMetadata":{"title":"Clone a flow","description":"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow's `name` and target `deviceIds`. Returns 404 if the source flow does not exist.\n\nSupports an optional `Idempotency-Key` header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 `idempotency_key_reused`.","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/clone","href":"/api-reference/flows/clone-a-flow","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: [\"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow’s \", _jsx(_components.code, {\n children: \"name\"\n }), \" and target \", _jsx(_components.code, {\n children: \"deviceIds\"\n }), \". Returns 404 if the source flow does not exist.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Supports an optional \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 \", _jsx(_components.code, {\n children: \"idempotency_key_reused\"\n }), \".\"]\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":"Clone a flow","description":"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow's `name` and target `deviceIds`. Returns 404 if the source flow does not exist.\n\nSupports an optional `Idempotency-Key` header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 `idempotency_key_reused`.","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/clone","href":"/api-reference/flows/clone-a-flow","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow's `name` and target `deviceIds`. Returns 404 if the source flow does not exist.\n\nSupports an optional `Idempotency-Key` header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 `idempotency_key_reused`.","operationId":"cloneFlow","parameters":["61654a9c-93e3-46a7-8071-4cba2ed3fd0d","7a23fa93-a347-46c9-bc22-5beb420c9e77"],"requestBody":"2039147f-ed65-4cec-9c81-898e72beec37","responses":{"201":"7023e2e6-937a-4035-9235-cfb5d843286d","404":"809757b9-538a-4e9d-a6da-79fa58ffc9a9","409":"9ed67a78-06c3-40df-a6ad-13b8ad67a5ef"},"summary":"Clone a flow","tags":["Flows"],"x-codeSamples":[{"lang":"JavaScript","source":"import Mobilerun from '@mobilerun/sdk';\n\nconst client = new Mobilerun({\n apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.workflows.flows.clone('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response.data);"},{"lang":"Python","source":"import os\nfrom mobilerun_sdk import Mobilerun\n\nclient = Mobilerun(\n api_key=os.environ.get(\"MOBILERUN_CLOUD_API_KEY\"), # This is the default and can be omitted\n)\nresponse = client.workflows.flows.clone(\n flow_id=\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n)\nprint(response.data)"}],"method":"post","type":"path","servers":["27c3817e-26b1-4d01-9f37-c148948b3db3"],"security":["89bb6dba-eb42-463d-b719-9dad8a841292"],"path":"/flows/{flowId}/clone","baseUrlOptions":["https://api.mobilerun.ai/v1"],"title":"Clone a flow","codeSamples":[{"lang":"JavaScript","source":"import Mobilerun from '@mobilerun/sdk';\n\nconst client = new Mobilerun({\n apiKey: process.env['MOBILERUN_CLOUD_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.workflows.flows.clone('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response.data);"},{"lang":"Python","source":"import os\nfrom mobilerun_sdk import Mobilerun\n\nclient = Mobilerun(\n api_key=os.environ.get(\"MOBILERUN_CLOUD_API_KEY\"), # This is the default and can be omitted\n)\nresponse = client.workflows.flows.clone(\n flow_id=\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n)\nprint(response.data)"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"61654a9c-93e3-46a7-8071-4cba2ed3fd0d":{"in":"path","name":"flowId","required":true,"schema":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"7a23fa93-a347-46c9-bc22-5beb420c9e77":{"description":"Idempotency-Key: 1-255 printable ASCII characters. Same key with a different request body is a 422 idempotency_key_reused. A retryable in-flight duplicate is a 409 with Retry-After and x-should-retry: true; a terminal duplicate is a 409 with x-should-retry: false. A replay returns the current resource state with Idempotent-Replayed: true.","in":"header","name":"idempotency-key","required":false,"schema":{"description":"Idempotency-Key: 1-255 printable ASCII characters. Same key with a different request body is a 422 idempotency_key_reused. A retryable in-flight duplicate is a 409 with Retry-After and x-should-retry: true; a terminal duplicate is a 409 with x-should-retry: false. A replay returns the current resource state with Idempotent-Replayed: true.","example":"b3f6a9f0-6f1a-4e9a-9e7a-9c9b6b6a5a3f","maxLength":255,"minLength":1,"pattern":"^[\\x21-\\x7E]{1,255}$","type":"string","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"deviceIds":{"items":{"format":"uuid","type":"string","uniqueKey":"deviceIds.items.[INDEX]","typeLabel":"string\u003cuuid>"},"maxItems":256,"type":"array","uniqueKey":"deviceIds","typeLabel":"string\u003cuuid>[]"},"name":{"maxLength":256,"minLength":1,"type":"string","uniqueKey":"name","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"deviceIds":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"name":"\u003cstring>"}}},"exampleType":"generated"}},"required":false,"exampleType":"generated"},"responses":{"7023e2e6-937a-4035-9235-cfb5d843286d":{"content":{"application/json":{"schema":{"properties":{"data":{"properties":{"agentId":{"oneOf":[{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.agentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"format":"uuid","type":"null","isRequired":true,"uniqueKey":"data.agentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.agentId","typeLabel":"string\u003cuuid> | null"},"archivedAt":{"oneOf":[{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"data.archivedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","isRequired":true,"uniqueKey":"data.archivedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.archivedAt","typeLabel":"string\u003cdate-time> | null"},"blockedAt":{"oneOf":[{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"data.blockedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","isRequired":true,"uniqueKey":"data.blockedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.blockedAt","typeLabel":"string\u003cdate-time> | null"},"consecutiveFailures":{"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"data.consecutiveFailures","typeLabel":"integer"},"cooldownScope":{"enum":["flow","device"],"type":"string","isRequired":true,"uniqueKey":"data.cooldownScope","typeLabel":"enum\u003cstring>"},"cooldownSeconds":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"data.cooldownSeconds.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"data.cooldownSeconds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cooldownSeconds","typeLabel":"integer | null"},"createdAt":{"oneOf":[{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"data.createdAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","isRequired":true,"uniqueKey":"data.createdAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time> | null"},"createdBy":{"oneOf":[{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.createdBy.oneOf.0","typeLabel":"string\u003cuuid>"},{"format":"uuid","type":"null","isRequired":true,"uniqueKey":"data.createdBy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.createdBy","typeLabel":"string\u003cuuid> | null"},"delivery":{"oneOf":[{"additionalProperties":false,"properties":{"destination":{"enum":["mobilerun","one_drive","google_drive"],"type":"string","isRequired":true,"uniqueKey":"data.delivery.oneOf.0.destination","typeLabel":"enum\u003cstring>"},"folder":{"description":"not allowed when destination is mobilerun","maxLength":1024,"minLength":1,"type":"string","uniqueKey":"data.delivery.oneOf.0.folder","typeLabel":"string"},"recording":{"additionalProperties":false,"properties":{"filename":{"maxLength":255,"minLength":1,"type":"string","isRequired":true,"uniqueKey":"data.delivery.oneOf.0.recording.filename","typeLabel":"string"}},"required":["filename"],"type":"object","uniqueKey":"data.delivery.oneOf.0.recording","typeLabel":"object"},"screenshots":{"additionalProperties":false,"properties":{},"type":"object","uniqueKey":"data.delivery.oneOf.0.screenshots","typeLabel":"object"}},"required":["destination"],"type":"object","isRequired":true,"uniqueKey":"data.delivery.oneOf.0","typeLabel":"object"},{"additionalProperties":false,"properties":{"destination":{"enum":["mobilerun","one_drive","google_drive"],"type":"string"},"folder":{"description":"not allowed when destination is mobilerun","maxLength":1024,"minLength":1,"type":"string"},"recording":{"additionalProperties":false,"properties":{"filename":{"maxLength":255,"minLength":1,"type":"string"}},"required":["filename"],"type":"object"},"screenshots":{"additionalProperties":false,"properties":{},"type":"object"}},"required":["destination"],"type":"null","isRequired":true,"uniqueKey":"data.delivery.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.delivery","typeLabel":"object | null"},"description":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.description.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.description","typeLabel":"string | null"},"deviceIds":{"items":{"format":"uuid","type":"string","uniqueKey":"data.deviceIds.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"data.deviceIds","typeLabel":"string\u003cuuid>[]"},"enabled":{"description":"Compatibility projection of lifecycleStatus; true only when lifecycleStatus is enabled.","type":"boolean","isRequired":true,"uniqueKey":"data.enabled","typeLabel":"boolean"},"healthMonitoringEnabled":{"type":"boolean","isRequired":true,"uniqueKey":"data.healthMonitoringEnabled","typeLabel":"boolean"},"id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"lastFailureAt":{"oneOf":[{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"data.lastFailureAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","isRequired":true,"uniqueKey":"data.lastFailureAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.lastFailureAt","typeLabel":"string\u003cdate-time> | null"},"lastFailureCode":{"oneOf":[{"enum":["device_not_found","permission_denied","client_error","transient","logic","invalid_config",null],"type":"string","isRequired":true,"uniqueKey":"data.lastFailureCode.oneOf.0","typeLabel":"enum\u003cstring>"},{"enum":["device_not_found","permission_denied","client_error","transient","logic","invalid_config",null],"type":"null","isRequired":true,"uniqueKey":"data.lastFailureCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.lastFailureCode","typeLabel":"enum\u003cstring> | null"},"lastTriggeredAt":{"oneOf":[{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"data.lastTriggeredAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","isRequired":true,"uniqueKey":"data.lastTriggeredAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.lastTriggeredAt","typeLabel":"string\u003cdate-time> | null"},"lifecycleStatus":{"enum":["enabled","disabled","archived"],"type":"string","isRequired":true,"uniqueKey":"data.lifecycleStatus","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.name","typeLabel":"string"},"notifyOnFailure":{"type":"boolean","isRequired":true,"uniqueKey":"data.notifyOnFailure","typeLabel":"boolean"},"notifyOnSuccess":{"type":"boolean","isRequired":true,"uniqueKey":"data.notifyOnSuccess","typeLabel":"boolean"},"notifyWebhookId":{"oneOf":[{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.notifyWebhookId.oneOf.0","typeLabel":"string\u003cuuid>"},{"format":"uuid","type":"null","isRequired":true,"uniqueKey":"data.notifyWebhookId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.notifyWebhookId","typeLabel":"string\u003cuuid> | null"},"ownerId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.ownerId","typeLabel":"string\u003cuuid>"},"recordingEnabled":{"deprecated":true,"description":"Deprecated: use recordingPolicy.mode (\"flow\" = recordingEnabled=true, \"off\" = recordingEnabled=false).","type":"boolean","isRequired":true,"uniqueKey":"data.recordingEnabled","typeLabel":"boolean"},"recordingPolicy":{"properties":{"mode":{"enum":["off","flow","selected_steps"],"type":"string","isRequired":true,"uniqueKey":"data.recordingPolicy.mode","typeLabel":"enum\u003cstring>"}},"required":["mode"],"type":"object","isRequired":true,"uniqueKey":"data.recordingPolicy","typeLabel":"object"},"selfHealingEnabled":{"type":"boolean","isRequired":true,"uniqueKey":"data.selfHealingEnabled","typeLabel":"boolean"},"selfHealingMaxAttempts":{"maximum":5,"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"data.selfHealingMaxAttempts","typeLabel":"integer"},"status":{"enum":["healthy","failing","blocked"],"type":"string","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"templateResolutionVersion":{"description":"Template-resolver semantics this flow runs under. 1 = legacy (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw, a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed as {{steps.\u003ckey>...}} instead of by name; trigger.payload is not available). Existing flows stay 1; new flows default to the current version.","maximum":3,"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"data.templateResolutionVersion","typeLabel":"integer"},"triggerId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.triggerId","typeLabel":"string\u003cuuid>"},"updatedAt":{"oneOf":[{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"data.updatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","isRequired":true,"uniqueKey":"data.updatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.updatedAt","typeLabel":"string\u003cdate-time> | null"},"userId":{"deprecated":true,"description":"Deprecated: use ownerId (tenancy) / createdBy (actor).","format":"uuid","type":"string","isRequired":true,"uniqueKey":"data.userId","typeLabel":"string\u003cuuid>"}},"required":["id","userId","ownerId","agentId","createdBy","name","description","triggerId","enabled","lifecycleStatus","archivedAt","deviceIds","cooldownSeconds","cooldownScope","notifyWebhookId","notifyOnSuccess","notifyOnFailure","lastTriggeredAt","status","templateResolutionVersion","consecutiveFailures","lastFailureCode","lastFailureAt","blockedAt","healthMonitoringEnabled","selfHealingEnabled","selfHealingMaxAttempts","recordingEnabled","recordingPolicy","delivery","createdAt","updatedAt"],"type":"object","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"agentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","archivedAt":"2023-11-07T05:31:56Z","blockedAt":"2023-11-07T05:31:56Z","consecutiveFailures":1,"cooldownScope":"flow","cooldownSeconds":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"3c90c3cc-0d44-4b50-8888-8dd25736052a","delivery":{"destination":"mobilerun","folder":"\u003cstring>","recording":{"filename":"\u003cstring>"},"screenshots":{}},"description":"\u003cstring>","deviceIds":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"enabled":true,"healthMonitoringEnabled":true,"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","lastFailureAt":"2023-11-07T05:31:56Z","lastFailureCode":"device_not_found","lastTriggeredAt":"2023-11-07T05:31:56Z","lifecycleStatus":"enabled","name":"\u003cstring>","notifyOnFailure":true,"notifyOnSuccess":true,"notifyWebhookId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","ownerId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","recordingEnabled":true,"recordingPolicy":{"mode":"off"},"selfHealingEnabled":true,"selfHealingMaxAttempts":3,"status":"healthy","templateResolutionVersion":2,"triggerId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","updatedAt":"2023-11-07T05:31:56Z","userId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"description":"Flow cloned","exampleType":"generated"},"809757b9-538a-4e9d-a6da-79fa58ffc9a9":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":["flow_not_found"],"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"flow_not_found","message":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Flow not found","exampleType":"generated"},"9ed67a78-06c3-40df-a6ad-13b8ad67a5ef":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":["routine_limit_reached"],"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"details":{"properties":{"agentId":{"oneOf":[{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.agentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"format":"uuid","type":"null","isRequired":true,"uniqueKey":"details.agentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.agentId","typeLabel":"string\u003cuuid> | null"},"limit":{"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"details.limit","typeLabel":"integer"},"used":{"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.used","typeLabel":"integer"}},"required":["limit","used","agentId"],"type":"object","isRequired":true,"uniqueKey":"details","typeLabel":"object"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message","details"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"routine_limit_reached","details":{"agentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","limit":2,"used":1},"message":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The target agent bucket has reached its routine limit","exampleType":"generated"}},"security":{"89bb6dba-eb42-463d-b719-9dad8a841292":{"bearerAuth":{"bearerFormat":"Opaque","description":"Bearer token via Authorization header","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"27c3817e-26b1-4d01-9f37-c148948b3db3":{"description":"Droidrun Cloud API","url":"https://api.mobilerun.ai/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"Opaque","description":"Bearer token via Authorization header","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token via Authorization header","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/workflows.yaml"},"subdomain":"mobilerun","siteName":"Mobilerun","title":"Clone a flow - Mobilerun","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T14:38:21.765Z","originalFileLocation":"api-reference/flows/clone-a-flow.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=\"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow\u0026#x27;s name and target deviceIds. Returns 404 if the source flow does not exist. Supports an optional Idempotency-Key header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 idempotency_key_reused.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mobilerun\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_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/mobilerun/0rQTQmMhNsQvIVRn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Clone a flow - Mobilerun\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow\u0026#x27;s name and target deviceIds. Returns 404 if the source flow does not exist. Supports an optional Idempotency-Key header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 idempotency_key_reused.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mobilerun\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mobilerun.mintlify.app/_mintlify/api/og/v2?division=Flows\u0026amp;title=Clone+a+flow\u0026amp;description=Create+a+copy+of+an+existing+flow%2C+including+its+actions+and+settings.+The+optional+body+can+override+the+new+flow%27s+%60name%60+and+target+%60deviceIds%60.+Returns+404+\u0026amp;theme=5028ffe8122f3fae85f0c05b\u0026amp;signature=aa4e7e6f915ad62f2b0931b46d5612f9e4cb94c8a3955c34e28005ea30664e88\">\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=\"Clone a flow - Mobilerun\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow\u0026#x27;s name and target deviceIds. Returns 404 if the source flow does not exist. Supports an optional Idempotency-Key header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 idempotency_key_reused.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mobilerun.mintlify.app/_mintlify/api/og/v2?division=Flows\u0026amp;title=Clone+a+flow\u0026amp;description=Create+a+copy+of+an+existing+flow%2C+including+its+actions+and+settings.+The+optional+body+can+override+the+new+flow%27s+%60name%60+and+target+%60deviceIds%60.+Returns+404+\u0026amp;theme=5028ffe8122f3fae85f0c05b\u0026amp;signature=aa4e7e6f915ad62f2b0931b46d5612f9e4cb94c8a3955c34e28005ea30664e88\">\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/mobilerun/0rQTQmMhNsQvIVRn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mobilerun\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4566D9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/flows/clone-a-flow.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mobilerun.ai/#organization\",\"name\":\"Mobilerun\",\"url\":\"https://docs.mobilerun.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mobilerun/dj4o2PD1fQzmydpp/logo/dark.svg?fit=max\u0026auto=format\u0026n=dj4o2PD1fQzmydpp\u0026q=85\u0026s=94794bb3cda4a2b043ae10ae8c62de4d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mobilerun.ai#website\",\"name\":\"Mobilerun\",\"url\":\"https://docs.mobilerun.ai\",\"publisher\":{\"@id\":\"https://docs.mobilerun.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow#webpage\",\"url\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow\",\"name\":\"Clone a flow\",\"description\":\"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow's name and target deviceIds. Returns 404 if the source flow does not exist. Supports an optional Idempotency-Key header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 idempotency_key_reused.\",\"dateModified\":\"2026-10-23T14:38:21.765Z\",\"isPartOf\":{\"@id\":\"https://docs.mobilerun.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workflows\",\"item\":\"https://docs.mobilerun.ai/api-reference/triggers/list-triggers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flows\",\"item\":\"https://docs.mobilerun.ai/api-reference/flows/list-flows\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Clone a flow\",\"item\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow#apireference\",\"headline\":\"Clone a flow\",\"name\":\"Clone a flow\",\"description\":\"Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow's name and target deviceIds. Returns 404 if the source flow does not exist. Supports an optional Idempotency-Key header (1-255 printable ASCII characters). Replays with the same key and an identical body return the original 201; a changed body under the same key returns 422 idempotency_key_reused.\",\"url\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mobilerun.ai/api-reference/flows/clone-a-flow#webpage\"},\"dateModified\":\"2026-10-23T14:38:21.765Z\",\"publisher\":{\"@id\":\"https://docs.mobilerun.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mobilerun.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mobilerun\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Mobilerun","nav":{"global":null,"dropdowns":[{"dropdown":"Cloud","icon":"cloud","color":{"light":"#4566D9","dark":"#73A0FF"},"tabs":[{"tab":"Guides","icon":"book","pages":[{"title":"Guides","href":"/quickstart"}]},{"tab":"Assistant","icon":"https://mintlify.s3.us-west-1.amazonaws.com/mobilerun/logo/assistant-light.svg","pages":[{"title":"Assistant","href":"/assistant/overview"}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Phones","pages":[{"group":"Tools","pages":[{"group":"Apps","pages":[{"title":"List apps","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/apps","href":"/api-reference/apps/list-apps"},{"title":"Install app","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/apps","href":"/api-reference/apps/install-app"},{"title":"List app installs","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/apps/installs","href":"/api-reference/apps/list-app-installs"},{"title":"Open a deep link","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/apps/open-deep-link","href":"/api-reference/apps/open-a-deep-link"},{"title":"Start app","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml put /devices/{deviceId}/apps/{packageName}","href":"/api-reference/apps/start-app"},{"title":"Delete app","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/apps/{packageName}","href":"/api-reference/apps/delete-app"},{"title":"Stop app","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml patch /devices/{deviceId}/apps/{packageName}","href":"/api-reference/apps/stop-app"},{"title":"Grant app permission","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml put /devices/{deviceId}/apps/{packageName}/permissions/{permission}","href":"/api-reference/apps/grant-app-permission"},{"title":"Revoke app permission","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/apps/{packageName}/permissions/{permission}","href":"/api-reference/apps/revoke-app-permission"},{"title":"List packages","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/packages","href":"/api-reference/apps/list-packages"}]},{"group":"Browser","pages":[{"title":"Execute JavaScript in the device's Chrome browser (CDP)","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/browser/execute-script","href":"/api-reference/browser/execute-javascript-in-the-devices-chrome-browser-cdp"}]},{"group":"Recordings","pages":[{"title":"List device recordings","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/recordings","href":"/api-reference/recordings/list-device-recordings"},{"title":"Start a device recording","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/recordings","href":"/api-reference/recordings/start-a-device-recording"},{"title":"Get a device recording","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/recordings/{recordingId}","href":"/api-reference/recordings/get-a-device-recording"},{"title":"Stop a device recording","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/recordings/{recordingId}","href":"/api-reference/recordings/stop-a-device-recording"},{"title":"Delete a device recording","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/recordings/{recordingId}","href":"/api-reference/recordings/delete-a-device-recording"},{"title":"List a device recording's saved screenshots","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/recordings/{recordingId}/screenshots","href":"/api-reference/recordings/list-a-device-recordings-saved-screenshots"},{"title":"Get a device recording trajectory","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/recordings/{recordingId}/trajectory","href":"/api-reference/recordings/get-a-device-recording-trajectory"},{"title":"Get a device recording video","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/recordings/{recordingId}/video","href":"/api-reference/recordings/get-a-device-recording-video"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/files","href":"/api-reference/files/list-files"},{"title":"Upload file","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/files","href":"/api-reference/files/upload-file"},{"title":"Delete file","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/files","href":"/api-reference/files/delete-file"},{"title":"Download file","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/files/download","href":"/api-reference/files/download-file"}]},{"group":"Navigation","pages":[{"title":"Perform a global action","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/global","href":"/api-reference/navigation/perform-a-global-action"},{"title":"Input key","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml put /devices/{deviceId}/keyboard","href":"/api-reference/navigation/input-key"},{"title":"Input text","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/keyboard","href":"/api-reference/navigation/input-text"},{"title":"Clear input","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/keyboard","href":"/api-reference/navigation/clear-input"},{"title":"Take screenshot","deprecated":true,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/screenshot","href":"/api-reference/navigation/take-screenshot"},{"title":"Swipe","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/swipe","href":"/api-reference/navigation/swipe"},{"title":"Tap by coordinates","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/tap","href":"/api-reference/navigation/tap-by-coordinates"},{"title":"UI state","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/ui-state","href":"/api-reference/navigation/ui-state"}]},{"group":"Proxy","pages":[{"title":"Get proxy connection state","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/proxy","href":"/api-reference/proxy/get-proxy-connection-state"},{"title":"Connect proxy","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/proxy","href":"/api-reference/proxy/connect-proxy"},{"title":"Disconnect proxy","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/proxy","href":"/api-reference/proxy/disconnect-proxy"}]},{"group":"Misc","pages":[{"title":"Get device clipboard","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/clipboard","href":"/api-reference/misc/get-device-clipboard"},{"title":"Set device clipboard","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/clipboard","href":"/api-reference/misc/set-device-clipboard"},{"title":"Device fingerprint snapshot","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/fingerprint","href":"/api-reference/misc/device-fingerprint-snapshot"},{"title":"Enable kiosk (lock-task) mode","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml put /devices/{deviceId}/kiosk","href":"/api-reference/misc/enable-kiosk-lock-task-mode"},{"title":"Disable kiosk (lock-task) mode","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/kiosk","href":"/api-reference/misc/disable-kiosk-lock-task-mode"},{"title":"Get device language/locale","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/language","href":"/api-reference/misc/get-device-languagelocale"},{"title":"Set device language/locale","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/language","href":"/api-reference/misc/set-device-languagelocale"},{"title":"Get device location","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/location","href":"/api-reference/misc/get-device-location"},{"title":"Set device location","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/location","href":"/api-reference/misc/set-device-location"},{"title":"Reset the device location to default","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml delete /devices/{deviceId}/location","href":"/api-reference/misc/reset-the-device-location-to-default"},{"title":"Check if overlay is visible","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/overlay","href":"/api-reference/misc/check-if-overlay-is-visible"},{"title":"Set overlay visibility","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/overlay","href":"/api-reference/misc/set-overlay-visibility"},{"title":"Device time","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/time","href":"/api-reference/misc/device-time"},{"title":"Get device timezone","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml get /devices/{deviceId}/timezone","href":"/api-reference/misc/get-device-timezone"},{"title":"Set device timezone","deprecated":null,"version":null,"openapi":"/api-reference/phones/tools.yaml post /devices/{deviceId}/timezone","href":"/api-reference/misc/set-device-timezone"}]}]},{"group":"Devices","pages":[{"title":"List devices","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /devices","href":"/api-reference/devices/list-devices"},{"title":"Provision a new device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /devices","href":"/api-reference/devices/provision-a-new-device"},{"title":"Count claimed devices","deprecated":true,"version":null,"openapi":"/api-reference/phones.yaml get /devices/count","href":"/api-reference/devices/count-claimed-devices"},{"title":"Summarize claimed devices","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /devices/summary","href":"/api-reference/devices/summarize-claimed-devices"},{"title":"Get device info","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /devices/{deviceId}","href":"/api-reference/devices/get-device-info"},{"title":"Terminate a device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml delete /devices/{deviceId}","href":"/api-reference/devices/terminate-a-device"},{"title":"Get capabilities for a specific device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /devices/{deviceId}/capabilities","href":"/api-reference/devices/get-capabilities-for-a-specific-device"},{"title":"Update device name","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml put /devices/{deviceId}/name","href":"/api-reference/devices/update-device-name"},{"title":"Reboot a device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /devices/{deviceId}/reboot","href":"/api-reference/devices/reboot-a-device"},{"title":"Reset a device to a fresh state","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /devices/{deviceId}/reset","href":"/api-reference/devices/reset-a-device-to-a-fresh-state"},{"title":"Resume (unpark) a stopped device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /devices/{deviceId}/resume","href":"/api-reference/devices/resume-unpark-a-stopped-device"},{"title":"Stop (park) a device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /devices/{deviceId}/stop","href":"/api-reference/devices/stop-park-a-device"},{"title":"List tasks for a device","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /devices/{deviceId}/tasks","href":"/api-reference/devices/list-tasks-for-a-device"},{"title":"Wait for device to be ready","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /devices/{deviceId}/wait","href":"/api-reference/devices/wait-for-device-to-be-ready"}]},{"group":"Apps Cloud Storage","pages":[{"title":"List apps","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /apps","href":"/api-reference/apps-cloud-storage/list-apps"},{"title":"Create a signed upload URL for an app","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /apps/create-signed-upload-url","href":"/api-reference/apps-cloud-storage/create-a-signed-upload-url-for-an-app"},{"title":"Get the user’s storage usage","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /apps/storage-usage","href":"/api-reference/apps-cloud-storage/get-the-user’s-storage-usage"},{"title":"Get app by ID","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /apps/{id}","href":"/api-reference/apps-cloud-storage/get-app-by-id"},{"title":"Delete uploaded app","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml delete /apps/{id}","href":"/api-reference/apps-cloud-storage/delete-uploaded-app"},{"title":"Confirm successful app upload","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /apps/{id}/confirm-upload","href":"/api-reference/apps-cloud-storage/confirm-successful-app-upload"},{"title":"Mark app upload as failed","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /apps/{id}/mark-failed","href":"/api-reference/apps-cloud-storage/mark-app-upload-as-failed"},{"title":"List versions for an app","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /apps/{id}/versions","href":"/api-reference/apps-cloud-storage/list-versions-for-an-app"}]},{"group":"App Credentials","pages":[{"title":"List credentials","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /credentials","href":"/api-reference/app-credentials/list-credentials"},{"title":"List packages","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /credentials/packages","href":"/api-reference/app-credentials/list-packages"},{"title":"Initialize a new package/app","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /credentials/packages","href":"/api-reference/app-credentials/initialize-a-new-packageapp"},{"title":"List credentials for a specific package","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /credentials/packages/{packageName}","href":"/api-reference/app-credentials/list-credentials-for-a-specific-package"},{"title":"Create a credential","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /credentials/packages/{packageName}","href":"/api-reference/app-credentials/create-a-credential"},{"title":"Get a credential","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml get /credentials/packages/{packageName}/credentials/{credentialName}","href":"/api-reference/app-credentials/get-a-credential"},{"title":"Delete a credential and all its fields","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml delete /credentials/packages/{packageName}/credentials/{credentialName}","href":"/api-reference/app-credentials/delete-a-credential-and-all-its-fields"},{"title":"Add a credential field","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml post /credentials/packages/{packageName}/credentials/{credentialName}/fields","href":"/api-reference/app-credentials/add-a-credential-field"},{"title":"Delete a field from a credential","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml delete /credentials/packages/{packageName}/credentials/{credentialName}/fields/{fieldType}","href":"/api-reference/app-credentials/delete-a-field-from-a-credential"},{"title":"Update the value of a credential field","deprecated":null,"version":null,"openapi":"/api-reference/phones.yaml patch /credentials/packages/{packageName}/credentials/{credentialName}/fields/{fieldType}","href":"/api-reference/app-credentials/update-the-value-of-a-credential-field"}]}]},{"group":"Mobilerun Proxy","pages":[{"group":"Countries","pages":[{"title":"List available countries","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml get /connect/countries","href":"/api-reference/countries/list-available-countries"}]},{"group":"Users","pages":[{"title":"List SOCKS5 users","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml get /connect/users","href":"/api-reference/users/list-socks5-users"},{"title":"Create a SOCKS5 user","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml post /connect/users","href":"/api-reference/users/create-a-socks5-user"},{"title":"Get a SOCKS5 user by ID","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml get /connect/users/{id}","href":"/api-reference/users/get-a-socks5-user-by-id"},{"title":"Delete a SOCKS5 user","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml delete /connect/users/{id}","href":"/api-reference/users/delete-a-socks5-user"},{"title":"Update a SOCKS5 user","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml patch /connect/users/{id}","href":"/api-reference/users/update-a-socks5-user"},{"title":"List connections by SOCKS5 user","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-proxy.yaml get /connect/users/{id}/connections","href":"/api-reference/users/list-connections-by-socks5-user"}]}]},{"group":"Mobilerun Numbers","pages":[{"group":"Numbers","pages":[{"title":"List phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/phones","href":"/api-reference/numbers/list-phone-numbers"},{"title":"Purchase a phone number","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml post /numbers/phones","href":"/api-reference/numbers/purchase-a-phone-number"},{"title":"Get included phone-number capacity for a country","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/phones/capacity","href":"/api-reference/numbers/get-included-phone-number-capacity-for-a-country"},{"title":"List dedicated-number countries","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/phones/countries","href":"/api-reference/numbers/list-dedicated-number-countries"},{"title":"Get phone number by id","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/phones/{id}","href":"/api-reference/numbers/get-phone-number-by-id"},{"title":"Cancel a phone-number purchase or an active rental","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml delete /numbers/phones/{id}","href":"/api-reference/numbers/cancel-a-phone-number-purchase-or-an-active-rental"},{"title":"Update a phone number's display label","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml patch /numbers/phones/{id}","href":"/api-reference/numbers/update-a-phone-numbers-display-label"},{"title":"List messages (inbox + outbox) on a number","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/phones/{id}/messages","href":"/api-reference/numbers/list-messages-inbox-+-outbox-on-a-number"}]},{"group":"Messages","pages":[{"title":"Send an SMS from a number","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml post /numbers/phones/{id}/messages","href":"/api-reference/messages/send-an-sms-from-a-number"},{"title":"List the caller's own SMS inbox/outbox messages","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/messages","href":"/api-reference/messages/list-the-callers-own-sms-inboxoutbox-messages"},{"title":"List the caller's own SMS conversations, one row per thread","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/messages/conversations","href":"/api-reference/messages/list-the-callers-own-sms-conversations-one-row-per-thread"},{"title":"Mark a conversation's inbound messages read up to a cursor","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml post /numbers/messages/conversations/read","href":"/api-reference/messages/mark-a-conversations-inbound-messages-read-up-to-a-cursor"},{"title":"Get one of the caller's SMS messages","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-numbers.yaml get /numbers/messages/{id}","href":"/api-reference/messages/get-one-of-the-callers-sms-messages"}]}]},{"group":"Mobilerun Mailbox","pages":[{"group":"Mailboxes","pages":[{"title":"List mailboxes","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes","href":"/api-reference/mailboxes/list-mailboxes"},{"title":"Claim or rent a mailbox","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml post /mailboxes","href":"/api-reference/mailboxes/claim-or-rent-a-mailbox"},{"title":"Get included mailbox capacity","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes/capacity","href":"/api-reference/mailboxes/get-included-mailbox-capacity"},{"title":"Connect a Gmail inbox","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml post /mailboxes/connections","href":"/api-reference/mailboxes/connect-a-gmail-inbox"},{"title":"Poll a Gmail inbox connection","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes/connections/{connectionId}","href":"/api-reference/mailboxes/poll-a-gmail-inbox-connection"},{"title":"Get a mailbox","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes/{mailboxId}","href":"/api-reference/mailboxes/get-a-mailbox"},{"title":"Cancel or archive a mailbox","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml delete /mailboxes/{mailboxId}","href":"/api-reference/mailboxes/cancel-or-archive-a-mailbox"},{"title":"Update a mailbox label","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml patch /mailboxes/{mailboxId}","href":"/api-reference/mailboxes/update-a-mailbox-label"},{"title":"Unlink a Gmail inbox","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml post /mailboxes/{mailboxId}/disconnect","href":"/api-reference/mailboxes/unlink-a-gmail-inbox"},{"title":"Get the best OTP candidate","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes/{mailboxId}/otp","href":"/api-reference/mailboxes/get-the-best-otp-candidate"},{"title":"Restart rent on an archived mailbox","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml post /mailboxes/{mailboxId}/restart","href":"/api-reference/mailboxes/restart-rent-on-an-archived-mailbox"},{"title":"Undo a scheduled cancellation","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml post /mailboxes/{mailboxId}/uncancel","href":"/api-reference/mailboxes/undo-a-scheduled-cancellation"}]},{"group":"Mailbox Messages","pages":[{"title":"List mailbox messages","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes/{mailboxId}/messages","href":"/api-reference/mailbox-messages/list-mailbox-messages"},{"title":"Get a mailbox message","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-mailbox.yaml get /mailboxes/{mailboxId}/messages/{messageId}","href":"/api-reference/mailbox-messages/get-a-mailbox-message"}]}]},{"group":"Mobilerun VA Chat","pages":[{"group":"Chat","pages":[{"title":"Abort the named session's in-flight chat turn","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /assistant/chat/abort","href":"/api-reference/chat/abort-the-named-sessions-in-flight-chat-turn"},{"title":"Send a single user message","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /assistant/chat/message","href":"/api-reference/chat/send-a-single-user-message"},{"title":"List messages for a chat session","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml get /assistant/chat/messages","href":"/api-reference/chat/list-messages-for-a-chat-session"},{"title":"Deliver a HITL approval/rejection to the user's active chat session","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /assistant/chat/permission","href":"/api-reference/chat/deliver-a-hitl-approvalrejection-to-the-users-active-chat-session"},{"title":"Deliver a question answer to the user's active chat session","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /assistant/chat/question","href":"/api-reference/chat/deliver-a-question-answer-to-the-users-active-chat-session"},{"title":"Dismiss an outstanding question without answering","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /assistant/chat/question/reject","href":"/api-reference/chat/dismiss-an-outstanding-question-without-answering"},{"title":"List the user's named chat or agent-workflow sessions","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml get /assistant/chat/sessions","href":"/api-reference/chat/list-the-users-named-chat-or-agent-workflow-sessions"},{"title":"Create a named chat session","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /assistant/chat/sessions","href":"/api-reference/chat/create-a-named-chat-session"},{"title":"Rename, archive, or pin a named chat session","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml patch /assistant/chat/sessions/{id}","href":"/api-reference/chat/rename-archive-or-pin-a-named-chat-session"},{"title":"Re-attach to the active turn stream","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml get /assistant/chat/stream","href":"/api-reference/chat/re-attach-to-the-active-turn-stream"}]},{"group":"Files","pages":[{"title":"List the user's ready files, optionally filtered by zone","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml get /agents/files","href":"/api-reference/files/list-the-users-ready-files-optionally-filtered-by-zone"},{"title":"Mint a presigned PUT URL for a user file upload","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /agents/files/upload-url","href":"/api-reference/files/mint-a-presigned-put-url-for-a-user-file-upload"},{"title":"Hard-delete a file","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml delete /agents/files/{fileId}","href":"/api-reference/files/hard-delete-a-file"},{"title":"Update file metadata (skills zone only)","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml patch /agents/files/{fileId}","href":"/api-reference/files/update-file-metadata-skills-zone-only"},{"title":"Confirm a file upload by server-side HEAD validation","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml post /agents/files/{fileId}/confirm","href":"/api-reference/files/confirm-a-file-upload-by-server-side-head-validation"},{"title":"Download an owned file","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml get /agents/files/{fileId}/download","href":"/api-reference/files/download-an-owned-file"},{"title":"Cancel a pending upload (transitions to expired, deletes the underlying object)","deprecated":null,"version":null,"openapi":"/api-reference/mobilerun-va-chat.yaml delete /agents/files/{fileId}/pending","href":"/api-reference/files/cancel-a-pending-upload-transitions-to-expired-deletes-the-underlying-object"}]}]},{"group":"Tasks","pages":[{"group":"Tasks","pages":[{"title":"List Tasks","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Run Task","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml post /tasks","href":"/api-reference/tasks/run-task"},{"title":"Run Streamed Task","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml post /tasks/stream","href":"/api-reference/tasks/run-streamed-task"},{"title":"Get Task","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}","href":"/api-reference/tasks/get-task"},{"title":"Attach Task","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/attach","href":"/api-reference/tasks/attach-task"},{"title":"Stop Task","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml post /tasks/{task_id}/cancel","href":"/api-reference/tasks/stop-task"},{"title":"Send Message","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml post /tasks/{task_id}/message","href":"/api-reference/tasks/send-message"},{"title":"Get Task Screenshots","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/screenshots","href":"/api-reference/tasks/get-task-screenshots"},{"title":"Get Task Screenshot","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/screenshots/{index}","href":"/api-reference/tasks/get-task-screenshot"},{"title":"Get Task Status","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/status","href":"/api-reference/tasks/get-task-status"},{"title":"Get Task Trajectory","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/trajectory","href":"/api-reference/tasks/get-task-trajectory"},{"title":"Get Task Ui States","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/ui_states","href":"/api-reference/tasks/get-task-ui-states"},{"title":"Get Task Ui State","deprecated":null,"version":null,"openapi":"/api-reference/tasks.yaml get /tasks/{task_id}/ui_states/{index}","href":"/api-reference/tasks/get-task-ui-state"}]}]},{"group":"Workflows","pages":[{"group":"Triggers","pages":[{"title":"List triggers","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /triggers","href":"/api-reference/triggers/list-triggers"},{"title":"Create a trigger","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /triggers","href":"/api-reference/triggers/create-a-trigger"},{"title":"Get a trigger","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /triggers/{triggerId}","href":"/api-reference/triggers/get-a-trigger"},{"title":"Delete a trigger","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml delete /triggers/{triggerId}","href":"/api-reference/triggers/delete-a-trigger"},{"title":"Update a trigger","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml patch /triggers/{triggerId}","href":"/api-reference/triggers/update-a-trigger"},{"title":"Fire a custom trigger with payload","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /triggers/{triggerId}/fire","href":"/api-reference/triggers/fire-a-custom-trigger-with-payload"}]},{"group":"Actions","pages":[{"title":"List actions","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /actions","href":"/api-reference/actions/list-actions"},{"title":"Create an action","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /actions","href":"/api-reference/actions/create-an-action"},{"title":"List available services","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /actions/services","href":"/api-reference/actions/list-available-services"},{"title":"List allowed methods for a service","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /actions/services/{service}/methods","href":"/api-reference/actions/list-allowed-methods-for-a-service"},{"title":"Get an action","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /actions/{actionId}","href":"/api-reference/actions/get-an-action"},{"title":"Delete an action","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml delete /actions/{actionId}","href":"/api-reference/actions/delete-an-action"},{"title":"Update an action","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml patch /actions/{actionId}","href":"/api-reference/actions/update-an-action"}]},{"group":"Action Catalog","pages":[{"title":"List action catalog entries","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /action-catalog","href":"/api-reference/action-catalog/list-action-catalog-entries"},{"title":"Get a catalog entry","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /action-catalog/{catalogEntryId}","href":"/api-reference/action-catalog/get-a-catalog-entry"}]},{"group":"Flows","pages":[{"title":"List flows","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows","href":"/api-reference/flows/list-flows"},{"title":"Create a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows","href":"/api-reference/flows/create-a-flow"},{"title":"Get routine capacity","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows/capacity","href":"/api-reference/flows/get-routine-capacity"},{"title":"Get flow template context","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows/template-context","href":"/api-reference/flows/get-flow-template-context"},{"title":"Validate a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/validate","href":"/api-reference/flows/validate-a-flow"},{"title":"Get a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows/{flowId}","href":"/api-reference/flows/get-a-flow"},{"title":"Archive a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml delete /flows/{flowId}","href":"/api-reference/flows/archive-a-flow"},{"title":"Update a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml patch /flows/{flowId}","href":"/api-reference/flows/update-a-flow"},{"title":"List actions for a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows/{flowId}/actions","href":"/api-reference/flows/list-actions-for-a-flow"},{"title":"Replace all actions for a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml put /flows/{flowId}/actions","href":"/api-reference/flows/replace-all-actions-for-a-flow"},{"title":"Add an action to a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/actions","href":"/api-reference/flows/add-an-action-to-a-flow"},{"title":"Remove an action from a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml delete /flows/{flowId}/actions/{flowActionId}","href":"/api-reference/flows/remove-an-action-from-a-flow"},{"title":"Activate a verified flow","description":"Activate a disabled flow only when the supplied verification execution succeeded and the flow graph has not changed since verification. Repeating activation is idempotent for an already-enabled flow.","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/activate","href":"/api-reference/flows/activate-a-verified-flow"},{"title":"Clone a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/clone","href":"/api-reference/flows/clone-a-flow"},{"title":"Get flow delivery options","description":"Return the recording/delivery readiness for a flow (recording mode, whether delivery can include the recording, whether a files.upload action exists, the first direct OneDrive/Google Drive upload step if any) plus, per destination, whether the flow owner has an active connection. Returns 404 if the flow does not exist.","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows/{flowId}/delivery-options","href":"/api-reference/flows/get-flow-delivery-options"},{"title":"Dry-run a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/dry-run","href":"/api-reference/flows/dry-run-a-flow"},{"title":"List self-healing repair episodes","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /flows/{flowId}/repairs","href":"/api-reference/flows/list-self-healing-repair-episodes"},{"title":"Run a flow now","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/run","href":"/api-reference/flows/run-a-flow-now"},{"title":"Unblock a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/unblock","href":"/api-reference/flows/unblock-a-flow"},{"title":"Verify a flow","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /flows/{flowId}/verify","href":"/api-reference/flows/verify-a-flow"}]},{"group":"Events","pages":[{"title":"Simulate event matching (dry run)","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /events/dry-run","href":"/api-reference/events/simulate-event-matching-dry-run"},{"title":"Ingest an event","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /events/ingest","href":"/api-reference/events/ingest-an-event"}]},{"group":"Executions","pages":[{"title":"List flow executions","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /executions","href":"/api-reference/executions/list-flow-executions"},{"title":"Get execution metrics","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /executions/metrics","href":"/api-reference/executions/get-execution-metrics"},{"title":"Get execution details","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /executions/{executionId}","href":"/api-reference/executions/get-execution-details"},{"title":"Abort a running or pending execution","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml post /executions/{executionId}/abort","href":"/api-reference/executions/abort-a-running-or-pending-execution"},{"title":"Redirect to a freshly signed screenshot URL","deprecated":null,"version":null,"openapi":"/api-reference/workflows.yaml get /executions/{executionId}/screenshots/{screenshotId}","href":"/api-reference/executions/redirect-to-a-freshly-signed-screenshot-url"}]}]},{"group":"Webhooks","pages":[{"group":"Webhooks","pages":[{"title":"List your webhook subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml get /webhooks","href":"/api-reference/webhooks/list-your-webhook-subscriptions"},{"title":"Register a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml post /webhooks","href":"/api-reference/webhooks/register-a-webhook-subscription"},{"title":"Get a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml get /webhooks/{id}","href":"/api-reference/webhooks/get-a-webhook-subscription"},{"title":"Delete a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml delete /webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook-subscription"},{"title":"Update a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml patch /webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook-subscription"},{"title":"Rotate signing secret","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml post /webhooks/{id}/rotate-secret","href":"/api-reference/webhooks/rotate-signing-secret"},{"title":"Send a one-shot test delivery","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml post /webhooks/{id}/test","href":"/api-reference/webhooks/send-a-one-shot-test-delivery"}]},{"group":"Webhook Deliveries","pages":[{"title":"List deliveries across all your webhooks","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml get /webhooks/deliveries","href":"/api-reference/webhook-deliveries/list-deliveries-across-all-your-webhooks"},{"title":"Get delivery statistics","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml get /webhooks/deliveries/stats","href":"/api-reference/webhook-deliveries/get-delivery-statistics"},{"title":"List deliveries for a webhook","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml get /webhooks/{id}/deliveries","href":"/api-reference/webhook-deliveries/list-deliveries-for-a-webhook"},{"title":"Get a delivery with its attempts","deprecated":null,"version":null,"openapi":"/api-reference/webhooks.yaml get /webhooks/{id}/deliveries/{deliveryId}","href":"/api-reference/webhook-deliveries/get-a-delivery-with-its-attempts"}]}]}]}]},{"dropdown":"Framework","icon":"code","color":{"light":"#D97757","dark":"#D97757"},"tabs":[{"tab":"Guides","icon":"book","groups":[{"group":"Get started","icon":"rocket","pages":[{"sidebarTitle":"Framework overview","title":"Overview","href":"/framework/overview"},{"title":"Quickstart","href":"/framework/quickstart"},{"sidebarTitle":"Setup guides","title":"Overview","href":"/framework/guides/overview"},{"title":"Device Setup","href":"/framework/guides/device-setup"},{"title":"Quickstart with Docker","href":"/framework/guides/docker"}]},{"group":"Build an agent","icon":"bot","pages":[{"title":"CLI Usage","href":"/framework/guides/cli"},{"title":"Configuration","href":"/framework/sdk/configuration"},{"title":"Vision Mode","href":"/framework/features/vision"},{"title":"Structured Output","href":"/framework/features/structured-output"},{"title":"Credential Management","href":"/framework/features/credentials"}]},{"group":"Customize behavior","icon":"wrench","pages":[{"title":"App Instruction Cards","href":"/framework/features/app-cards"},{"title":"Custom Tools","href":"/framework/features/custom-tools"},{"title":"Custom Variables","href":"/framework/features/custom-variables"},{"title":"Prompt Templates","href":"/framework/concepts/prompts"}]},{"group":"Observe \u0026 debug","icon":"activity","pages":[{"title":"Tracing","href":"/framework/features/tracing"},{"title":"Event Streaming","href":"/framework/concepts/events-and-workflows"},{"title":"Telemetry","href":"/framework/features/telemetry"}]},{"group":"Architecture","icon":"layers","pages":[{"title":"Architecture","href":"/framework/concepts/architecture"},{"title":"Shared State","href":"/framework/concepts/shared-state"}]},{"group":"Python reference","icon":"book-open","pages":[{"sidebarTitle":"Reference overview","title":"Reference","href":"/framework/sdk/reference"},{"title":"MobileAgent","href":"/framework/sdk/droid-agent"},{"title":"AndroidDriver","href":"/framework/sdk/adb-tools"},{"title":"iOS Driver","href":"/framework/sdk/ios-tools"},{"title":"DeviceDriver Base Class","href":"/framework/sdk/base-tools"}]}]}]}]},"title":"Clone a flow - Mobilerun","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}