[{"data":1,"prerenderedAt":2664},["ShallowReactive",2],{"navigation":3,"/reference/api-tooling":879,"/reference/api-tooling-surround":2659},[4,22,45,115,156,187,214,235,264,295,318,361,389,418,436,470,491,534,548,571,632,670,693,757,850],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"Introduction","/introduction","01.introduction/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"What is Orkestia?","i-lucide-sparkles",{"title":13,"path":14,"stem":15,"icon":16},"Core Philosophy","/introduction/core-philosophy","01.introduction/2.core-philosophy","i-lucide-shield-check",{"title":18,"path":19,"stem":20,"icon":21},"Key Benefits","/introduction/key-benefits","01.introduction/3.key-benefits","i-lucide-trophy",{"title":23,"path":24,"stem":25,"children":26,"icon":29},"Getting Started","/getting-started","02.getting-started/1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Quick Start","i-lucide-rocket",{"title":31,"path":32,"stem":33,"icon":34},"Architecture Overview","/getting-started/architecture-overview","02.getting-started/2.architecture-overview","i-lucide-layout-dashboard",{"title":36,"path":37,"stem":38,"icon":39},"Concepts at a Glance","/getting-started/concepts","02.getting-started/3.concepts","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Connect an AI Assistant","/getting-started/connect-an-ai-assistant","02.getting-started/4.connect-an-ai-assistant","i-lucide-bot",{"title":46,"path":47,"stem":48,"children":49,"icon":51},"Core Concepts","/concepts","03.concepts/01.index",[50,52,57,62,67,71,76,81,86,91,96,100,105,110],{"title":46,"path":47,"stem":48,"icon":51},"i-lucide-book-open",{"title":53,"path":54,"stem":55,"icon":56},"Workflows","/concepts/workflows","03.concepts/02.workflows","i-lucide-workflow",{"title":58,"path":59,"stem":60,"icon":61},"DGI — Dialog Generative Interface","/concepts/dgi","03.concepts/03.dgi","i-lucide-brain",{"title":63,"path":64,"stem":65,"icon":66},"Staff & AI Workforce Governance","/concepts/staff-governance","03.concepts/04.staff-governance","i-lucide-users-round",{"title":68,"path":69,"stem":70,"icon":44},"Agents — the execution substrate","/concepts/agents-platform","03.concepts/05.agents-platform",{"title":72,"path":73,"stem":74,"icon":75},"Runners & Execution Environments","/concepts/runners","03.concepts/06.runners","i-lucide-server-cog",{"title":77,"path":78,"stem":79,"icon":80},"Lumen Observability","/concepts/lumen","03.concepts/07.lumen","i-lucide-activity",{"title":82,"path":83,"stem":84,"icon":85},"Identity & Multi-Tenancy","/concepts/identity-multi-tenancy","03.concepts/08.identity-multi-tenancy","i-lucide-users",{"title":87,"path":88,"stem":89,"icon":90},"Billing, Pricing & Seats","/concepts/billing-and-seats","03.concepts/09.billing-and-seats","i-lucide-credit-card",{"title":92,"path":93,"stem":94,"icon":95},"App Data","/concepts/appdata","03.concepts/10.appdata","i-lucide-database",{"title":97,"path":98,"stem":99,"icon":61},"Engram","/concepts/engram","03.concepts/11.engram",{"title":101,"path":102,"stem":103,"icon":104},"DevKit","/concepts/devkit","03.concepts/12.devkit","i-lucide-terminal",{"title":106,"path":107,"stem":108,"icon":109},"App Host","/concepts/app-host","03.concepts/13.app-host","i-lucide-globe",{"title":111,"path":112,"stem":113,"icon":114},"Agent Exchange","/concepts/agent-exchange","03.concepts/14.agent-exchange","i-lucide-landmark",{"title":116,"path":117,"stem":118,"children":119,"icon":121},"Guides","/guides","04.guides/1.index",[120,122,127,132,137,142,147,151],{"title":116,"path":117,"stem":118,"icon":121},"i-lucide-compass",{"title":123,"path":124,"stem":125,"icon":126},"Building with DGI","/guides/building-with-dgi","04.guides/2.building-with-dgi","i-lucide-brain-circuit",{"title":128,"path":129,"stem":130,"icon":131},"Creating & Exposing Virtual Workflows","/guides/virtual-workflows","04.guides/4.virtual-workflows","i-lucide-blocks",{"title":133,"path":134,"stem":135,"icon":136},"Runner Management & Provisioning","/guides/runner-management","04.guides/5.runner-management","i-lucide-server",{"title":138,"path":139,"stem":140,"icon":141},"Security & Compliance","/guides/security-and-compliance","04.guides/7.security-and-compliance","i-lucide-shield",{"title":143,"path":144,"stem":145,"icon":146},"Tickets & Software Delivery","/guides/tickets-and-software-delivery","04.guides/8.tickets-and-software-delivery","i-lucide-ticket",{"title":148,"path":149,"stem":150},"Orkestia for AI-driven cloud infrastructure automation","/guides/cloud-automation-alternatives","04.guides/9.cloud-automation-alternatives",{"title":152,"path":153,"stem":154,"icon":155},"Typed decisions with TypeSafe","/guides/typed-decisions-with-typesafe","04.guides/9.typed-decisions-with-typesafe","i-lucide-git-branch",{"title":157,"path":158,"stem":159,"children":160,"icon":162},"Reference","/reference","05.reference/1.index",[161,163,168,173,177,182],{"title":157,"path":158,"stem":159,"icon":162},"i-lucide-library",{"title":164,"path":165,"stem":166,"icon":167},"Workflow Types & Registry","/reference/workflow-types-registry","05.reference/2.workflow-types-registry","i-lucide-list-tree",{"title":169,"path":170,"stem":171,"icon":172},"MCP Integration","/reference/mcp-integration","05.reference/3.mcp-integration","i-lucide-plug-zap",{"title":174,"path":175,"stem":176,"icon":104},"API & Tooling","/reference/api-tooling","05.reference/4.api-tooling",{"title":178,"path":179,"stem":180,"icon":181},"Integrations Catalog","/reference/integrations-catalog","05.reference/6.integrations-catalog","i-lucide-plug",{"title":183,"path":184,"stem":185,"icon":186},"Platform Services","/reference/platform-services","05.reference/7.platform-services","i-lucide-boxes",{"title":188,"path":189,"stem":190,"children":191,"icon":193},"Advanced Topics","/advanced","06.advanced/1.index",[192,194,199,204,209],{"title":188,"path":189,"stem":190,"icon":193},"i-lucide-flask-conical",{"title":195,"path":196,"stem":197,"icon":198},"Hybrid AI + Deterministic Execution","/advanced/hybrid-execution-model","06.advanced/2.hybrid-execution-model","i-lucide-git-merge",{"title":200,"path":201,"stem":202,"icon":203},"Drift Detection & Self-Healing","/advanced/drift-detection-self-healing","06.advanced/3.drift-detection-self-healing","i-lucide-heart-pulse",{"title":205,"path":206,"stem":207,"icon":208},"Governance & Approvals","/advanced/governance-and-approvals","06.advanced/4.governance-and-approvals","i-lucide-scale",{"title":210,"path":211,"stem":212,"icon":213},"Cost & Performance Optimization","/advanced/cost-and-performance","06.advanced/5.cost-and-performance","i-lucide-zap",{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Operations","/operations","07.operations/1.index",[219,221,225,230],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-settings-2",{"title":222,"path":223,"stem":224,"icon":186},"Deployment Models","/operations/deployment-models","07.operations/2.deployment-models",{"title":226,"path":227,"stem":228,"icon":229},"Monitoring & Debugging","/operations/monitoring-and-debugging","07.operations/3.monitoring-and-debugging","i-lucide-bug",{"title":231,"path":232,"stem":233,"icon":234},"Best Practices","/operations/best-practices","07.operations/4.best-practices","i-lucide-check-check",{"title":236,"path":237,"stem":238,"children":239,"icon":241},"AWS Connections","/aws-connections","08.aws-connections/1.index",[240,242,245,250,255,260],{"title":236,"path":237,"stem":238,"icon":241},"i-simple-icons-amazonaws",{"title":23,"path":243,"stem":244,"icon":29},"/aws-connections/getting-started","08.aws-connections/2.getting-started",{"title":246,"path":247,"stem":248,"icon":249},"Setup Methods","/aws-connections/setup-methods","08.aws-connections/3.setup-methods","i-lucide-wrench",{"title":251,"path":252,"stem":253,"icon":254},"Managing Connections","/aws-connections/managing-connections","08.aws-connections/4.managing-connections","i-lucide-settings",{"title":256,"path":257,"stem":258,"icon":259},"Security Best Practices","/aws-connections/security-best-practices","08.aws-connections/5.security-best-practices","i-lucide-lock",{"title":261,"path":262,"stem":263,"icon":229},"Troubleshooting","/aws-connections/troubleshooting","08.aws-connections/6.troubleshooting",{"title":265,"path":266,"stem":267,"children":268,"icon":270},"Cloud Connections","/cloud-connections","09.cloud-connections/1.index",[269,271,276,281,286,291],{"title":265,"path":266,"stem":267,"icon":270},"i-lucide-cable",{"title":272,"path":273,"stem":274,"icon":275},"Google Cloud (GCP)","/cloud-connections/gcp","09.cloud-connections/2.gcp","i-simple-icons-googlecloud",{"title":277,"path":278,"stem":279,"icon":280},"Microsoft Azure","/cloud-connections/azure","09.cloud-connections/3.azure","i-simple-icons-microsoftazure",{"title":282,"path":283,"stem":284,"icon":285},"Magalu Cloud","/cloud-connections/magalu","09.cloud-connections/4.magalu","i-lucide-cloud",{"title":287,"path":288,"stem":289,"icon":290},"Kubernetes","/cloud-connections/kubernetes","09.cloud-connections/5.kubernetes","i-simple-icons-kubernetes",{"title":292,"path":293,"stem":294,"icon":208},"TypeSafe","/cloud-connections/typesafe","09.cloud-connections/6.typesafe",{"title":296,"path":297,"stem":298,"children":299,"icon":136},"DNS Providers","/dns-providers","10.dns-providers/1.index",[300,302,305,308,311,315],{"title":301,"path":297,"stem":298,"icon":136},"DNS Provider Connections",{"title":23,"path":303,"stem":304,"icon":29},"/dns-providers/getting-started","10.dns-providers/2.getting-started",{"title":246,"path":306,"stem":307,"icon":249},"/dns-providers/setup-methods","10.dns-providers/3.setup-methods",{"title":251,"path":309,"stem":310,"icon":254},"/dns-providers/managing-connections","10.dns-providers/4.managing-connections",{"title":312,"path":313,"stem":314,"icon":39},"Zones and Records","/dns-providers/zones-and-records","10.dns-providers/5.zones-and-records",{"title":261,"path":316,"stem":317,"icon":229},"/dns-providers/troubleshooting","10.dns-providers/6.troubleshooting",{"title":319,"path":320,"stem":321,"children":322,"icon":29},"Cloud Deploy","/cloud-deploy","11.cloud-deploy/01.index",[323,324,327,332,336,341,345,349,354,358],{"title":319,"path":320,"stem":321,"icon":29},{"title":23,"path":325,"stem":326,"icon":29},"/cloud-deploy/getting-started","11.cloud-deploy/02.getting-started",{"title":328,"path":329,"stem":330,"icon":331},"Creating a Site","/cloud-deploy/creating-a-site","11.cloud-deploy/03.creating-a-site","i-lucide-plus-circle",{"title":333,"path":334,"stem":335,"icon":34},"Site Overview and Deployments","/cloud-deploy/site-overview","11.cloud-deploy/04.site-overview",{"title":337,"path":338,"stem":339,"icon":340},"Deployment Progress and Success","/cloud-deploy/deployment-progress","11.cloud-deploy/05.deployment-progress","i-lucide-loader",{"title":342,"path":343,"stem":344,"icon":254},"Settings","/cloud-deploy/settings","11.cloud-deploy/06.settings",{"title":346,"path":347,"stem":348,"icon":109},"Custom Domains","/cloud-deploy/custom-domains","11.cloud-deploy/07.custom-domains",{"title":350,"path":351,"stem":352,"icon":353},"Resources, Releases, and Danger Zone","/cloud-deploy/resources-releases","11.cloud-deploy/08.resources-releases","i-lucide-package",{"title":355,"path":356,"stem":357,"icon":141},"Admin Dashboard","/cloud-deploy/admin-dashboard","11.cloud-deploy/09.admin-dashboard",{"title":261,"path":359,"stem":360,"icon":229},"/cloud-deploy/troubleshooting","11.cloud-deploy/10.troubleshooting",{"title":362,"path":363,"stem":364,"children":365,"icon":368},"User Onboarding","/user-onboarding","12.user-onboarding/1.index",[366,369,372,377,382,386],{"title":367,"path":363,"stem":364,"icon":368},"User Creation and Onboarding","i-lucide-user-plus",{"title":23,"path":370,"stem":371,"icon":29},"/user-onboarding/getting-started","12.user-onboarding/2.getting-started",{"title":373,"path":374,"stem":375,"icon":376},"Creating Your Organization","/user-onboarding/onboarding","12.user-onboarding/3.onboarding","i-lucide-building-2",{"title":378,"path":379,"stem":380,"icon":381},"Invitations","/user-onboarding/invitations","12.user-onboarding/4.invitations","i-lucide-mail",{"title":383,"path":384,"stem":385,"icon":254},"Managing Your Account","/user-onboarding/managing-account","12.user-onboarding/5.managing-account",{"title":261,"path":387,"stem":388,"icon":229},"/user-onboarding/troubleshooting","12.user-onboarding/6.troubleshooting",{"title":342,"path":390,"stem":391,"children":392,"icon":394},"/settings","13.settings/1.index",[393,395,400,404,409,413],{"title":342,"path":390,"stem":391,"icon":394},"i-lucide-sliders-horizontal",{"title":396,"path":397,"stem":398,"icon":399},"General Settings","/settings/general","13.settings/2.general","i-lucide-user",{"title":401,"path":402,"stem":403,"icon":85},"Members Settings","/settings/members","13.settings/3.members",{"title":405,"path":406,"stem":407,"icon":408},"Notifications Settings","/settings/notifications","13.settings/4.notifications","i-lucide-bell",{"title":410,"path":411,"stem":412,"icon":141},"Security Settings","/settings/security","13.settings/5.security",{"title":414,"path":415,"stem":416,"icon":417},"Signing Keys","/settings/keys","13.settings/6.keys","i-lucide-key-round",{"title":419,"path":420,"stem":421,"children":422,"icon":29},"App Enablement","/app-enablement","14.app-enablement/1.index",[423,424,428,432],{"title":419,"path":420,"stem":421,"icon":29},{"title":425,"path":426,"stem":427,"icon":417},"Sign in with Orkestia","/app-enablement/sign-in-with-orkestia","14.app-enablement/2.sign-in-with-orkestia",{"title":429,"path":430,"stem":431,"icon":95},"End-user data","/app-enablement/end-user-data","14.app-enablement/3.end-user-data",{"title":433,"path":434,"stem":435,"icon":131},"Compositions — use, invoke, share","/app-enablement/compositions","14.app-enablement/4.compositions",{"title":437,"path":438,"stem":439,"children":440,"icon":80},"Lumen","/lumen","15.lumen/1.index",[441,442,447,452,457,461,465],{"title":437,"path":438,"stem":439,"icon":80},{"title":443,"path":444,"stem":445,"icon":446},"Enable Lumen","/lumen/enable","15.lumen/2.enable","i-lucide-power",{"title":448,"path":449,"stem":450,"icon":451},"Send data","/lumen/send-data","15.lumen/3.send-data","i-lucide-upload",{"title":453,"path":454,"stem":455,"icon":456},"Collector","/lumen/collector","15.lumen/4.collector","i-lucide-container",{"title":458,"path":459,"stem":460,"icon":34},"Use Lumen","/lumen/observe","15.lumen/5.observe",{"title":462,"path":463,"stem":464,"icon":44},"Lumen MCP","/lumen/mcp","15.lumen/6.mcp",{"title":466,"path":467,"stem":468,"icon":469},"Query API","/lumen/query-api","15.lumen/7.query-api","i-lucide-search",{"title":471,"path":472,"stem":473,"children":474,"icon":476},"SDKs","/sdks","16.sdks/1.index",[475,477,482,487],{"title":471,"path":472,"stem":473,"icon":476},"i-lucide-code",{"title":478,"path":479,"stem":480,"icon":481},"Workflows SDK — Node / TypeScript","/sdks/workflows-nodejs","16.sdks/2.workflows-nodejs","i-lucide-file-ts",{"title":483,"path":484,"stem":485,"icon":486},"Workflows SDK — Python","/sdks/workflows-python","16.sdks/3.workflows-python","i-simple-icons-python",{"title":488,"path":489,"stem":490,"icon":417},"Auth SDK — Sign in with Orkestia","/sdks/auth","16.sdks/4.auth",{"title":92,"path":492,"stem":493,"children":494,"icon":95},"/appdata","17.appdata/1.index",[495,496,501,506,510,515,520,525,530],{"title":92,"path":492,"stem":493,"icon":95},{"title":497,"path":498,"stem":499,"icon":500},"Declare structures","/appdata/declare","17.appdata/2.declare","i-lucide-table",{"title":502,"path":503,"stem":504,"icon":505},"Records & Data API","/appdata/data-api","17.appdata/3.data-api","i-lucide-rows-3",{"title":507,"path":508,"stem":509,"icon":376},"Ownership & workspaces","/appdata/ownership","17.appdata/4.ownership",{"title":511,"path":512,"stem":513,"icon":514},"Expose App Data to end-users","/appdata/expose","17.appdata/5.expose","i-lucide-app-window",{"title":516,"path":517,"stem":518,"icon":519},"PostgREST HTTP","/appdata/postgrest","17.appdata/6.postgrest","i-lucide-unplug",{"title":521,"path":522,"stem":523,"icon":524},"Ordered append","/appdata/append","17.appdata/7.append","i-lucide-list-ordered",{"title":526,"path":527,"stem":528,"icon":529},"Databases and instances","/appdata/instances","17.appdata/8.instances","i-lucide-hard-drive",{"title":531,"path":532,"stem":533,"icon":104},"Query console and SQL","/appdata/query","17.appdata/9.query",{"title":97,"path":535,"stem":536,"children":537,"icon":61},"/engram","18.engram/1.index",[538,539,543],{"title":97,"path":535,"stem":536,"icon":61},{"title":540,"path":541,"stem":542,"icon":155},"Write & recall","/engram/write-recall","18.engram/2.write-recall",{"title":544,"path":545,"stem":546,"icon":547},"Field & feed","/engram/agent-memory","18.engram/3.agent-memory","i-lucide-radio",{"title":101,"path":549,"stem":550,"children":551,"icon":104},"/devkit","19.devkit/1.index",[552,553,558,562,567],{"title":101,"path":549,"stem":550,"icon":104},{"title":554,"path":555,"stem":556,"icon":557},"Install DevKit","/devkit/install","19.devkit/2.install","i-lucide-download",{"title":559,"path":560,"stem":561,"icon":519},"Hook redirect","/devkit/hooks","19.devkit/3.hooks",{"title":563,"path":564,"stem":565,"icon":566},"Local coding runner","/devkit/local-runner","19.devkit/4.local-runner","i-lucide-cpu",{"title":568,"path":569,"stem":570,"icon":131},"Compositions from DevKit","/devkit/compositions","19.devkit/5.compositions",{"title":572,"path":573,"stem":574,"children":575,"icon":44},"Staff & Agents","/staff-and-agents","20.staff-and-agents/01.index",[576,577,582,586,590,594,598,602,606,611,615,620,625,629],{"title":572,"path":573,"stem":574,"icon":44},{"title":578,"path":579,"stem":580,"icon":581},"Prerequisites","/staff-and-agents/prerequisites","20.staff-and-agents/02.prerequisites","i-lucide-list-checks",{"title":583,"path":584,"stem":585,"icon":368},"Hire an actor","/staff-and-agents/hire-an-actor","20.staff-and-agents/03.hire-an-actor",{"title":587,"path":588,"stem":589,"icon":34},"Console","/staff-and-agents/console","20.staff-and-agents/04.console",{"title":591,"path":592,"stem":593,"icon":11},"Configs, skills, and MCP","/staff-and-agents/configs-skills-mcp","20.staff-and-agents/05.configs-skills-mcp",{"title":595,"path":596,"stem":597,"icon":136},"Agent runner groups","/staff-and-agents/runner-groups","20.staff-and-agents/06.runner-groups",{"title":599,"path":600,"stem":601,"icon":16},"Governance","/staff-and-agents/governance","20.staff-and-agents/07.governance",{"title":603,"path":604,"stem":605,"icon":417},"Identity and tokens","/staff-and-agents/identity","20.staff-and-agents/08.identity",{"title":607,"path":608,"stem":609,"icon":610},"Memory and cost","/staff-and-agents/memory-and-cost","20.staff-and-agents/09.memory-and-cost","i-lucide-wallet",{"title":612,"path":613,"stem":614,"icon":155},"Coding agents","/staff-and-agents/coding-agents","20.staff-and-agents/10.coding-agents",{"title":616,"path":617,"stem":618,"icon":619},"Wire a repository for coding agents","/staff-and-agents/wire-a-repository","20.staff-and-agents/11.wire-a-repository","i-lucide-link",{"title":621,"path":622,"stem":623,"icon":624},"Run a ticket end to end","/staff-and-agents/run-a-ticket","20.staff-and-agents/12.run-a-ticket","i-lucide-play",{"title":626,"path":627,"stem":628,"icon":66},"Build a product team of actors","/staff-and-agents/build-a-product-team","20.staff-and-agents/13.build-a-product-team",{"title":261,"path":630,"stem":631,"icon":249},"/staff-and-agents/troubleshooting","20.staff-and-agents/14.troubleshooting",{"title":106,"path":633,"stem":634,"children":635,"icon":109},"/app-host","21.app-host/1.index",[636,637,641,644,649,653,658,662,666],{"title":106,"path":633,"stem":634,"icon":109},{"title":638,"path":639,"stem":640,"icon":514},"Your app and site","/app-host/your-app","21.app-host/2.your-app",{"title":92,"path":642,"stem":643,"icon":95},"/app-host/app-data","21.app-host/3.app-data",{"title":645,"path":646,"stem":647,"icon":648},"Website and process","/app-host/hosting","21.app-host/4.hosting","i-lucide-cloud-upload",{"title":650,"path":651,"stem":652,"icon":547},"Buzz","/app-host/buzz","21.app-host/5.buzz",{"title":654,"path":655,"stem":656,"icon":657},"Files","/app-host/files","21.app-host/6.files","i-lucide-folder",{"title":659,"path":660,"stem":661,"icon":109},"Your own domain","/app-host/your-domain","21.app-host/7.your-domain",{"title":663,"path":664,"stem":665,"icon":229},"Troubleshooting App Host","/app-host/troubleshooting","21.app-host/8.troubleshooting",{"title":667,"path":668,"stem":669,"icon":417},"Signing keys","/app-host/signing-keys","21.app-host/9.signing-keys",{"title":111,"path":671,"stem":672,"children":673,"icon":114},"/agent-exchange","22.agent-exchange/01.index",[674,675,678,682,686,690],{"title":111,"path":671,"stem":672,"icon":114},{"title":583,"path":676,"stem":677,"icon":368},"/agent-exchange/hire","22.agent-exchange/02.hire",{"title":679,"path":680,"stem":681,"icon":208},"List an actor","/agent-exchange/list","22.agent-exchange/03.list",{"title":683,"path":684,"stem":685,"icon":104},"Invoke & leases","/agent-exchange/invoke","22.agent-exchange/04.invoke",{"title":687,"path":688,"stem":689,"icon":141},"Settlement & trust","/agent-exchange/settlement","22.agent-exchange/05.settlement",{"title":53,"path":691,"stem":692,"icon":56},"/agent-exchange/workflows","22.agent-exchange/06.workflows",{"title":694,"path":695,"stem":696,"children":697,"icon":75},"Runners","/runners","23.runners/1.index",[698,700,704,709,713,717,721,726,730,734,738,741,745,749,753],{"title":699,"path":695,"stem":696,"icon":75},"Runner groups",{"title":701,"path":702,"stem":703,"icon":275},"Cloud Run","/runners/cloud-run","23.runners/10.cloud-run",{"title":705,"path":706,"stem":707,"icon":708},"DigitalOcean App Job","/runners/do-app-job","23.runners/11.do-app-job","i-simple-icons-digitalocean",{"title":710,"path":711,"stem":712,"icon":708},"DigitalOcean Droplet","/runners/do-droplet","23.runners/12.do-droplet",{"title":714,"path":715,"stem":716,"icon":285},"Magalu Cloud VM","/runners/magalu-vm","23.runners/13.magalu-vm",{"title":101,"path":718,"stem":719,"icon":720},"/runners/devkit","23.runners/14.devkit","i-lucide-laptop",{"title":722,"path":723,"stem":724,"icon":725},"Purposes & integrations","/runners/purposes","23.runners/16.purposes","i-lucide-layers",{"title":727,"path":728,"stem":729,"icon":241},"Fargate","/runners/fargate","23.runners/2.fargate",{"title":731,"path":732,"stem":733,"icon":241},"EC2 Auto Scaling","/runners/ec2-auto-scaling","23.runners/3.ec2-auto-scaling",{"title":735,"path":736,"stem":737,"icon":241},"EC2 VM","/runners/ec2-vm","23.runners/4.ec2-vm",{"title":287,"path":739,"stem":740,"icon":290},"/runners/kubernetes","23.runners/5.kubernetes",{"title":742,"path":743,"stem":744,"icon":280},"Azure Container Apps","/runners/azure-container-apps","23.runners/6.azure-container-apps",{"title":746,"path":747,"stem":748,"icon":280},"Azure VMSS","/runners/azure-vmss","23.runners/7.azure-vmss",{"title":750,"path":751,"stem":752,"icon":280},"Azure VM","/runners/azure-vm","23.runners/8.azure-vm",{"title":754,"path":755,"stem":756,"icon":275},"GCE","/runners/gce","23.runners/9.gce",{"title":758,"path":759,"stem":760,"children":761,"icon":763},"Chat","/chat","24.chat/01.index",[762,764,768,773,777,782,787,791,796,800,805,810,814,819,824,828,832,836,840,845],{"title":758,"path":759,"stem":760,"icon":763},"i-lucide-messages-square",{"title":765,"path":766,"stem":767,"icon":446},"Enable and publish","/chat/enable-and-publish","24.chat/02.enable-and-publish",{"title":769,"path":770,"stem":771,"icon":772},"Theme and customization","/chat/theme-and-customization","24.chat/03.theme-and-customization","i-lucide-palette",{"title":774,"path":775,"stem":776,"icon":85},"Members and moderation","/chat/members-and-moderation","24.chat/04.members-and-moderation",{"title":778,"path":779,"stem":780,"icon":781},"Channels","/chat/channels","24.chat/05.channels","i-lucide-hash",{"title":783,"path":784,"stem":785,"icon":786},"Using the chat","/chat/using-the-chat","24.chat/06.using-the-chat","i-lucide-message-circle",{"title":788,"path":789,"stem":790,"icon":44},"Actors in chat","/chat/actors-in-chat","24.chat/07.actors-in-chat",{"title":792,"path":793,"stem":794,"icon":795},"Internal support actor","/chat/internal-support-actor","24.chat/08.internal-support-actor","i-lucide-life-buoy",{"title":797,"path":798,"stem":799,"icon":104},"API and console","/chat/api-and-console","24.chat/09.api-and-console",{"title":801,"path":802,"stem":803,"icon":804},"Limits","/chat/limits","24.chat/10.limits","i-lucide-triangle-alert",{"title":806,"path":807,"stem":808,"icon":809},"Structured chat with DGI","/chat/structured-chat","24.chat/11.structured-chat","i-lucide-layout-list",{"title":811,"path":812,"stem":813,"icon":109},"Option A: hosted chat with DGI","/chat/option-a-hosted-chat","24.chat/12.option-a-hosted-chat",{"title":815,"path":816,"stem":817,"icon":818},"Option B: embed the chat component","/chat/option-b-embed-component","24.chat/13.option-b-embed-component","i-lucide-component",{"title":820,"path":821,"stem":822,"icon":823},"Option C: custom client (wire contract)","/chat/option-c-custom-client","24.chat/14.option-c-custom-client","i-lucide-braces",{"title":825,"path":826,"stem":827,"icon":394},"Responder configuration reference","/chat/responder-reference","24.chat/15.responder-reference",{"title":829,"path":830,"stem":831,"icon":547},"Cards, live updates and proactive posts","/chat/cards-live-and-proactive","24.chat/16.cards-live-and-proactive",{"title":833,"path":834,"stem":835,"icon":16},"Structured chat security model","/chat/structured-chat-security","24.chat/17.structured-chat-security",{"title":837,"path":838,"stem":839,"icon":181},"Option D: any app or API (dgi.chat)","/chat/option-d-chat-api","24.chat/18.option-d-chat-api",{"title":841,"path":842,"stem":843,"icon":844},"Card catalog","/chat/card-catalog","24.chat/19.card-catalog","i-lucide-layout-grid",{"title":846,"path":847,"stem":848,"icon":849},"Living Surfaces","/chat/living-surfaces","24.chat/20.living-surfaces","i-lucide-sprout",{"title":851,"path":852,"stem":853,"children":854,"icon":61},"DGI","/dgi","25.dgi/1.index",[855,857,862,866,870,874],{"title":856,"path":852,"stem":853,"icon":61},"What is DGI",{"title":858,"path":859,"stem":860,"icon":861},"How DGI works","/dgi/how-it-works","25.dgi/2.how-it-works","i-lucide-cog",{"title":863,"path":864,"stem":865,"icon":844},"Interfaces","/dgi/interfaces","25.dgi/3.interfaces",{"title":867,"path":868,"stem":869,"icon":29},"Quickstart","/dgi/quickstart","25.dgi/4.quickstart",{"title":871,"path":872,"stem":873,"icon":16},"Trust and safety","/dgi/trust-and-safety","25.dgi/5.trust-and-safety",{"title":875,"path":876,"stem":877,"icon":878},"FAQ","/dgi/faq","25.dgi/6.faq","i-lucide-circle-help",{"id":880,"title":174,"body":881,"description":2652,"extension":2653,"links":2654,"meta":2655,"navigation":2656,"path":175,"seo":2657,"stem":176,"__hash__":2658},"docs/05.reference/4.api-tooling.md",{"type":882,"value":883,"toc":2644},"minimark",[884,929,951,961,966,1024,1028,1039,1140,1158,1231,1253,1268,1272,1278,1484,1487,1613,1761,1783,1787,1821,2435,2446,2477,2513,2517,2522,2602,2606,2640],[885,886,887,888,892,893,899,900,903,904,907,908,911,912,920,921,924,925,928],"p",{},"Orkestia exposes the ",[889,890,891],"strong",{},"same workflow engine"," through four drivers: the typed ",[889,894,895],{},[896,897,898],"a",{"href":472},"Node and Python SDKs",", a plain ",[889,901,902],{},"HTTP API",", and ",[889,905,906],{},"MCP"," for AI agents. They all wrap one loop — ",[889,909,910],{},"discover → check schema → run → stream → (retry)"," — over one event-sourced engine, so a run you start from the SDK is the same run you stream over REST or inspect from an agent. End-user login is a separate package: ",[889,913,914],{},[896,915,916],{"href":489},[917,918,919],"code",{},"@orkestia/auth"," (PKCE / OAuth). For the model behind types, runs, and async transitions, see ",[896,922,923],{"href":54},"Workflows & runs"," and the ",[896,926,927],{"href":196},"hybrid execution model",".",[885,930,931,932,935,936,942,943,946,947,950],{},"This page documents the programmatic surfaces and their auth. For the ",[889,933,934],{},"input/output schema of any specific workflow",", the catalog is the source of truth — browse ",[896,937,941],{"href":938,"rel":939},"https://reference.orkestia.dev",[940],"nofollow","reference.orkestia.dev"," or call ",[917,944,945],{},"client.catalog.getSchema()"," / ",[917,948,949],{},"get_workflow_schema"," at runtime rather than hard-coding shapes.",[952,953,954],"note",{},[885,955,956,957,960],{},"The exact request/response shapes below are verified against the SDK contract and the workflow surface. Per-workflow ",[889,958,959],{},"inputs and outputs"," are not — they vary by type and evolve. Always resolve them from the live schema, not from examples.",[962,963,965],"h2",{"id":964},"the-surfaces-at-a-glance","The surfaces at a glance",[967,968,969,993,1006],"card-group",{},[970,971,972],"card",{"icon":476,"title":471,"to":472},[885,973,974,979,980,985,986,990,991,928],{},[889,975,976],{},[917,977,978],{},"@ltinteg/workflows-sdk"," (Node / TypeScript) and ",[889,981,982],{},[917,983,984],{},"ltinteg-workflows-sdk"," (Python) — typed clients generated from the same catalog. ",[889,987,988],{},[917,989,919],{}," is the browser OAuth SDK for your app's end-users. Full install and examples: ",[896,992,471],{"href":472},[970,994,997],{"icon":995,"title":996,"to":938},"i-lucide-webhook","REST API",[885,998,999,1000,1005],{},"The HTTP surface the SDKs wrap, served at ",[889,1001,1002],{},[917,1003,1004],{},"workflow-api.orkestia.dev"," — start, discover, status, history, and retry. Call it from any language.",[970,1007,1008],{"icon":44,"title":906,"to":170},[885,1009,1010,1011,1014,1015,1014,1017,1014,1020,1023],{},"The platform exposed to AI agents: ",[917,1012,1013],{},"list_workflow_types",", ",[917,1016,949],{},[917,1018,1019],{},"start_workflow",[917,1021,1022],{},"watch_workflow",", and the rest, callable unattended.",[962,1025,1027],{"id":1026},"authentication-the-two-token-model","Authentication — the two-token model",[885,1029,1030,1031,1034,1035,1038],{},"Every call carries a ",[889,1032,1033],{},"bearer token"," in the ",[917,1036,1037],{},"Authorization"," header. There are two kinds, and which one you hold decides what the run can touch.",[1040,1041,1042,1057],"table",{},[1043,1044,1045],"thead",{},[1046,1047,1048,1051,1054],"tr",{},[1049,1050],"th",{},[1049,1052,1053],{},"Org-member token",[1049,1055,1056],{},"End-user token",[1058,1059,1060,1074,1089,1107,1123],"tbody",{},[1046,1061,1062,1068,1071],{},[1063,1064,1065],"td",{},[889,1066,1067],{},"Who holds it",[1063,1069,1070],{},"Your team operating the platform",[1063,1072,1073],{},"A user of an app you built on Orkestia",[1046,1075,1076,1081,1084],{},[1063,1077,1078],{},[889,1079,1080],{},"Issued by",[1063,1082,1083],{},"Org login (Cognito)",[1063,1085,1086,1088],{},[896,1087,425],{"href":83}," (PKCE, RS256 JWT)",[1046,1090,1091,1096,1099],{},[1063,1092,1093],{},[889,1094,1095],{},"Scope of a run",[1063,1097,1098],{},"The whole organization's resources",[1063,1100,1101,1102,1106],{},"Only ",[1103,1104,1105],"em",{},"that user's"," data within your app",[1046,1108,1109,1114,1117],{},[1063,1110,1111],{},[889,1112,1113],{},"Org resolution",[1063,1115,1116],{},"Resolved server-side from the token",[1063,1118,1119,1120],{},"Resolved server-side; user identity is ",[889,1121,1122],{},"injected immutably",[1046,1124,1125,1130,1133],{},[1063,1126,1127],{},[889,1128,1129],{},"Typical caller",[1063,1131,1132],{},"SDKs, CI, MCP agents, dashboards",[1063,1134,1135,1136,1139],{},"Workflows you've ",[896,1137,1138],{"href":420},"exposed"," to end-users",[885,1141,1142,1143,1146,1147,1150,1151,1154,1155,928],{},"The critical invariant for both: ",[889,1144,1145],{},"org-scoping is automatic",". Your ",[917,1148,1149],{},"organization_uuid"," is resolved from the token server-side and applied to every run — you never pass it in ",[917,1152,1153],{},"initial_data"," unless a workflow's schema explicitly declares it (and then it must match your authenticated org). For an end-user token, Orkestia additionally pins the user's identity to the run so it can never reach another user's data. The isolation is the platform's responsibility, not your app's. See ",[896,1156,1157],{"href":83},"Organizations & identity",[1159,1160,1165],"pre",{"className":1161,"code":1162,"language":1163,"meta":1164,"style":1164},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Both tokens are sent the same way — only the issuer and scope differ.\n# Introspect the token you hold via GET /api/auth/me.\ncurl -sS https://workflow-api.orkestia.dev/api/auth/me \\\n  -H \"Authorization: Bearer $ORKESTIA_TOKEN\"\n# → { \"user_id\": \"...\", \"organization_uuid\": \"org_...\",\n#     \"username\": \"...\", \"token_type\": \"...\", \"principal_type\": \"...\" }\n","bash","",[917,1166,1167,1176,1182,1200,1219,1225],{"__ignoreMap":1164},[1168,1169,1172],"span",{"class":1170,"line":1171},"line",1,[1168,1173,1175],{"class":1174},"sHwdD","# Both tokens are sent the same way — only the issuer and scope differ.\n",[1168,1177,1179],{"class":1170,"line":1178},2,[1168,1180,1181],{"class":1174},"# Introspect the token you hold via GET /api/auth/me.\n",[1168,1183,1185,1189,1193,1196],{"class":1170,"line":1184},3,[1168,1186,1188],{"class":1187},"sBMFI","curl",[1168,1190,1192],{"class":1191},"sfazB"," -sS",[1168,1194,1195],{"class":1191}," https://workflow-api.orkestia.dev/api/auth/me",[1168,1197,1199],{"class":1198},"sTEyZ"," \\\n",[1168,1201,1203,1206,1210,1213,1216],{"class":1170,"line":1202},4,[1168,1204,1205],{"class":1191},"  -H",[1168,1207,1209],{"class":1208},"sMK4o"," \"",[1168,1211,1212],{"class":1191},"Authorization: Bearer ",[1168,1214,1215],{"class":1198},"$ORKESTIA_TOKEN",[1168,1217,1218],{"class":1208},"\"\n",[1168,1220,1222],{"class":1170,"line":1221},5,[1168,1223,1224],{"class":1174},"# → { \"user_id\": \"...\", \"organization_uuid\": \"org_...\",\n",[1168,1226,1228],{"class":1170,"line":1227},6,[1168,1229,1230],{"class":1174},"#     \"username\": \"...\", \"token_type\": \"...\", \"principal_type\": \"...\" }\n",[952,1232,1233],{},[885,1234,1235,1236,1238,1239,1242,1243,1246,1247,946,1250,928],{},"End-user tokens are RS256 JWTs minted by ",[896,1237,425],{"href":83},"; org-member tokens come from Cognito org login. Both are validated server-side and carry the same ",[917,1240,1241],{},"Authorization: Bearer"," shape — ",[917,1244,1245],{},"/api/auth/me"," reports which kind you're holding via ",[917,1248,1249],{},"token_type",[917,1251,1252],{},"principal_type",[1254,1255,1256],"warning",{},[885,1257,1258,1261,1262,1264,1265,1267],{},[889,1259,1260],{},"Still stabilizing."," Token issuance, end-user exposure (",[896,1263,419],{"href":420},"), and rate limits may change between releases. Treat tokens as secrets — keep org-member tokens server-side, and never embed them in a browser app; for browser/end-user flows use ",[896,1266,425],{"href":83}," so the app never holds a long-lived credential.",[962,1269,1271],{"id":1270},"start-a-run-via-rest","Start a run via REST",[885,1273,1274,1275,928],{},"The full loop over HTTP. Discovery, schema, start, watch, status, history, and retry are all under ",[917,1276,1277],{},"/api/workflows",[1159,1279,1281],{"className":1161,"code":1280,"language":1163,"meta":1164,"style":1164},"BASE=https://workflow-api.orkestia.dev/api/workflows\nAUTH=\"Authorization: Bearer $ORKESTIA_TOKEN\"\n\n# 1. (optional) discover what's available — the response also carries a\n#    `namespaces` summary of the top-level domains (aws, dns, runner, …)\ncurl -sS \"$BASE/types?prefix=aws.\" -H \"$AUTH\"\n\n# 2. check the input schema before you run\ncurl -sS \"$BASE/types/aws.s3.create_bucket/schema\" -H \"$AUTH\"\n# → { \"input_schema\": {...}, \"output_schema\": {...}, \"has_prerequisites\": true }\n\n# 3. start a run — note: no organization_uuid in the body\ncurl -sS -X POST \"$BASE/start\" -H \"$AUTH\" -H \"Content-Type: application/json\" \\\n  -d '{\n        \"workflow_type\": \"aws.s3.create_bucket\",\n        \"initial_data\": { \"bucket\": \"my-app-assets\", \"connection_uuid\": \"…\", \"region\": \"us-east-1\" }\n      }'\n# → { \"workflow_id\": \"wf_...\", \"state_name\": \"PENDING\", \"is_terminal\": false }\n",[917,1282,1283,1294,1310,1316,1321,1326,1352,1357,1363,1387,1393,1398,1404,1445,1457,1463,1469,1478],{"__ignoreMap":1164},[1168,1284,1285,1288,1291],{"class":1170,"line":1171},[1168,1286,1287],{"class":1198},"BASE",[1168,1289,1290],{"class":1208},"=",[1168,1292,1293],{"class":1191},"https://workflow-api.orkestia.dev/api/workflows\n",[1168,1295,1296,1299,1301,1304,1306,1308],{"class":1170,"line":1178},[1168,1297,1298],{"class":1198},"AUTH",[1168,1300,1290],{"class":1208},[1168,1302,1303],{"class":1208},"\"",[1168,1305,1212],{"class":1191},[1168,1307,1215],{"class":1198},[1168,1309,1218],{"class":1208},[1168,1311,1312],{"class":1170,"line":1184},[1168,1313,1315],{"emptyLinePlaceholder":1314},true,"\n",[1168,1317,1318],{"class":1170,"line":1202},[1168,1319,1320],{"class":1174},"# 1. (optional) discover what's available — the response also carries a\n",[1168,1322,1323],{"class":1170,"line":1221},[1168,1324,1325],{"class":1174},"#    `namespaces` summary of the top-level domains (aws, dns, runner, …)\n",[1168,1327,1328,1330,1332,1334,1337,1340,1342,1345,1347,1350],{"class":1170,"line":1227},[1168,1329,1188],{"class":1187},[1168,1331,1192],{"class":1191},[1168,1333,1209],{"class":1208},[1168,1335,1336],{"class":1198},"$BASE",[1168,1338,1339],{"class":1191},"/types?prefix=aws.",[1168,1341,1303],{"class":1208},[1168,1343,1344],{"class":1191}," -H",[1168,1346,1209],{"class":1208},[1168,1348,1349],{"class":1198},"$AUTH",[1168,1351,1218],{"class":1208},[1168,1353,1355],{"class":1170,"line":1354},7,[1168,1356,1315],{"emptyLinePlaceholder":1314},[1168,1358,1360],{"class":1170,"line":1359},8,[1168,1361,1362],{"class":1174},"# 2. check the input schema before you run\n",[1168,1364,1366,1368,1370,1372,1374,1377,1379,1381,1383,1385],{"class":1170,"line":1365},9,[1168,1367,1188],{"class":1187},[1168,1369,1192],{"class":1191},[1168,1371,1209],{"class":1208},[1168,1373,1336],{"class":1198},[1168,1375,1376],{"class":1191},"/types/aws.s3.create_bucket/schema",[1168,1378,1303],{"class":1208},[1168,1380,1344],{"class":1191},[1168,1382,1209],{"class":1208},[1168,1384,1349],{"class":1198},[1168,1386,1218],{"class":1208},[1168,1388,1390],{"class":1170,"line":1389},10,[1168,1391,1392],{"class":1174},"# → { \"input_schema\": {...}, \"output_schema\": {...}, \"has_prerequisites\": true }\n",[1168,1394,1396],{"class":1170,"line":1395},11,[1168,1397,1315],{"emptyLinePlaceholder":1314},[1168,1399,1401],{"class":1170,"line":1400},12,[1168,1402,1403],{"class":1174},"# 3. start a run — note: no organization_uuid in the body\n",[1168,1405,1407,1409,1411,1414,1417,1419,1421,1424,1426,1428,1430,1432,1434,1436,1438,1441,1443],{"class":1170,"line":1406},13,[1168,1408,1188],{"class":1187},[1168,1410,1192],{"class":1191},[1168,1412,1413],{"class":1191}," -X",[1168,1415,1416],{"class":1191}," POST",[1168,1418,1209],{"class":1208},[1168,1420,1336],{"class":1198},[1168,1422,1423],{"class":1191},"/start",[1168,1425,1303],{"class":1208},[1168,1427,1344],{"class":1191},[1168,1429,1209],{"class":1208},[1168,1431,1349],{"class":1198},[1168,1433,1303],{"class":1208},[1168,1435,1344],{"class":1191},[1168,1437,1209],{"class":1208},[1168,1439,1440],{"class":1191},"Content-Type: application/json",[1168,1442,1303],{"class":1208},[1168,1444,1199],{"class":1198},[1168,1446,1448,1451,1454],{"class":1170,"line":1447},14,[1168,1449,1450],{"class":1191},"  -d",[1168,1452,1453],{"class":1208}," '",[1168,1455,1456],{"class":1191},"{\n",[1168,1458,1460],{"class":1170,"line":1459},15,[1168,1461,1462],{"class":1191},"        \"workflow_type\": \"aws.s3.create_bucket\",\n",[1168,1464,1466],{"class":1170,"line":1465},16,[1168,1467,1468],{"class":1191},"        \"initial_data\": { \"bucket\": \"my-app-assets\", \"connection_uuid\": \"…\", \"region\": \"us-east-1\" }\n",[1168,1470,1472,1475],{"class":1170,"line":1471},17,[1168,1473,1474],{"class":1191},"      }",[1168,1476,1477],{"class":1208},"'\n",[1168,1479,1481],{"class":1170,"line":1480},18,[1168,1482,1483],{"class":1174},"# → { \"workflow_id\": \"wf_...\", \"state_name\": \"PENDING\", \"is_terminal\": false }\n",[885,1485,1486],{},"Then track it:",[1159,1488,1490],{"className":1161,"code":1489,"language":1163,"meta":1164,"style":1164},"# 4. stream transitions live (Server-Sent Events) until terminal\ncurl -sN \"$BASE/wf_abc123/stream\" -H \"$AUTH\"\n\n# point-in-time run state / full event-sourced history\ncurl -sS \"$BASE/wf_abc123\"         -H \"$AUTH\"\ncurl -sS \"$BASE/wf_abc123/history\" -H \"$AUTH\"\n\n# resume a FAILED run from its last good state\ncurl -sS -X POST \"$BASE/wf_abc123/retry\" -H \"$AUTH\"\n",[917,1491,1492,1497,1521,1525,1530,1554,1577,1581,1586],{"__ignoreMap":1164},[1168,1493,1494],{"class":1170,"line":1171},[1168,1495,1496],{"class":1174},"# 4. stream transitions live (Server-Sent Events) until terminal\n",[1168,1498,1499,1501,1504,1506,1508,1511,1513,1515,1517,1519],{"class":1170,"line":1178},[1168,1500,1188],{"class":1187},[1168,1502,1503],{"class":1191}," -sN",[1168,1505,1209],{"class":1208},[1168,1507,1336],{"class":1198},[1168,1509,1510],{"class":1191},"/wf_abc123/stream",[1168,1512,1303],{"class":1208},[1168,1514,1344],{"class":1191},[1168,1516,1209],{"class":1208},[1168,1518,1349],{"class":1198},[1168,1520,1218],{"class":1208},[1168,1522,1523],{"class":1170,"line":1184},[1168,1524,1315],{"emptyLinePlaceholder":1314},[1168,1526,1527],{"class":1170,"line":1202},[1168,1528,1529],{"class":1174},"# point-in-time run state / full event-sourced history\n",[1168,1531,1532,1534,1536,1538,1540,1543,1545,1548,1550,1552],{"class":1170,"line":1221},[1168,1533,1188],{"class":1187},[1168,1535,1192],{"class":1191},[1168,1537,1209],{"class":1208},[1168,1539,1336],{"class":1198},[1168,1541,1542],{"class":1191},"/wf_abc123",[1168,1544,1303],{"class":1208},[1168,1546,1547],{"class":1191},"         -H",[1168,1549,1209],{"class":1208},[1168,1551,1349],{"class":1198},[1168,1553,1218],{"class":1208},[1168,1555,1556,1558,1560,1562,1564,1567,1569,1571,1573,1575],{"class":1170,"line":1227},[1168,1557,1188],{"class":1187},[1168,1559,1192],{"class":1191},[1168,1561,1209],{"class":1208},[1168,1563,1336],{"class":1198},[1168,1565,1566],{"class":1191},"/wf_abc123/history",[1168,1568,1303],{"class":1208},[1168,1570,1344],{"class":1191},[1168,1572,1209],{"class":1208},[1168,1574,1349],{"class":1198},[1168,1576,1218],{"class":1208},[1168,1578,1579],{"class":1170,"line":1354},[1168,1580,1315],{"emptyLinePlaceholder":1314},[1168,1582,1583],{"class":1170,"line":1359},[1168,1584,1585],{"class":1174},"# resume a FAILED run from its last good state\n",[1168,1587,1588,1590,1592,1594,1596,1598,1600,1603,1605,1607,1609,1611],{"class":1170,"line":1365},[1168,1589,1188],{"class":1187},[1168,1591,1192],{"class":1191},[1168,1593,1413],{"class":1191},[1168,1595,1416],{"class":1191},[1168,1597,1209],{"class":1208},[1168,1599,1336],{"class":1198},[1168,1601,1602],{"class":1191},"/wf_abc123/retry",[1168,1604,1303],{"class":1208},[1168,1606,1344],{"class":1191},[1168,1608,1209],{"class":1208},[1168,1610,1349],{"class":1198},[1168,1612,1218],{"class":1208},[1040,1614,1615,1628],{},[1043,1616,1617],{},[1046,1618,1619,1622,1625],{},[1049,1620,1621],{},"Endpoint",[1049,1623,1624],{},"Method",[1049,1626,1627],{},"Purpose",[1058,1629,1630,1649,1666,1686,1704,1719,1733,1747],{},[1046,1631,1632,1637,1642],{},[1063,1633,1634],{},[917,1635,1636],{},"/api/workflows/types?prefix=",[1063,1638,1639],{},[917,1640,1641],{},"GET",[1063,1643,1644,1645,1648],{},"List workflow types (filterable by prefix); response includes a ",[917,1646,1647],{},"namespaces"," summary",[1046,1650,1651,1656,1660],{},[1063,1652,1653],{},[917,1654,1655],{},"/api/workflows/types/{type}/schema",[1063,1657,1658],{},[917,1659,1641],{},[1063,1661,1662,1663],{},"Input/output schema + ",[917,1664,1665],{},"has_prerequisites",[1046,1667,1668,1673,1677],{},[1063,1669,1670],{},[917,1671,1672],{},"/api/workflows/types/{type}/prerequisites",[1063,1674,1675],{},[917,1676,1641],{},[1063,1678,1679,1680,1682,1683],{},"Setup guide when ",[917,1681,1665],{}," is ",[917,1684,1685],{},"true",[1046,1687,1688,1693,1698],{},[1063,1689,1690],{},[917,1691,1692],{},"/api/workflows/start",[1063,1694,1695],{},[917,1696,1697],{},"POST",[1063,1699,1700,1701],{},"Start a run → ",[917,1702,1703],{},"{ workflow_id, state_name, is_terminal }",[1046,1705,1706,1711,1716],{},[1063,1707,1708],{},[917,1709,1710],{},"/api/workflows/{id}/stream",[1063,1712,1713,1715],{},[917,1714,1641],{}," (SSE)",[1063,1717,1718],{},"Stream transitions until terminal",[1046,1720,1721,1726,1730],{},[1063,1722,1723],{},[917,1724,1725],{},"/api/workflows/{id}",[1063,1727,1728],{},[917,1729,1641],{},[1063,1731,1732],{},"Current run state",[1046,1734,1735,1740,1744],{},[1063,1736,1737],{},[917,1738,1739],{},"/api/workflows/{id}/history",[1063,1741,1742],{},[917,1743,1641],{},[1063,1745,1746],{},"Full transition log",[1046,1748,1749,1754,1758],{},[1063,1750,1751],{},[917,1752,1753],{},"/api/workflows/{id}/retry",[1063,1755,1756],{},[917,1757,1697],{},[1063,1759,1760],{},"Re-drive a failed run from its last good state",[1762,1763,1764],"tip",{},[885,1765,1766,1767,1682,1769,1771,1772,1775,1776,1779,1780,928],{},"If ",[917,1768,1665],{},[917,1770,1685],{}," (typical for cloud ",[889,1773,1774],{},"connections","), fetch the setup guide first — it returns a step-by-step with Orkestia's platform identity already filled in. See ",[896,1777,1778],{"href":237},"AWS connections"," and ",[896,1781,1782],{"href":134},"runner management",[962,1784,1786],{"id":1785},"start-a-run-via-sdk","Start a run via SDK",[885,1788,1789,1790,1795,1796,1799,1800,1014,1803,1806,1807,1810,1811,1014,1814,1014,1817,1820],{},"The Node/TS SDK wraps the same endpoints. You construct one ",[889,1791,1792],{},[917,1793,1794],{},"LtIntegWorkflowsClient",", then drive runs either through the ",[889,1797,1798],{},"manager surface"," (",[917,1801,1802],{},"client.workflows",[917,1804,1805],{},"client.catalog",", …) or through the ",[889,1808,1809],{},"generated, per-workflow bindings"," — one autocompleted, type-checked binding per workflow, exported as a namespace per domain (",[917,1812,1813],{},"aws",[917,1815,1816],{},"github",[917,1818,1819],{},"stripe",", …). The flow mirrors REST exactly.",[1159,1822,1827],{"className":1823,"code":1824,"filename":1825,"language":1826,"meta":1164,"style":1164},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { LtIntegWorkflowsClient, aws } from \"@ltinteg/workflows-sdk\"\n\nconst client = new LtIntegWorkflowsClient({\n  baseUrl: \"https://workflow-api.orkestia.dev\",\n  token: process.env.ORKESTIA_TOKEN,   // org-member or end-user token\n})\n\n// discover + inspect via the catalog manager (optional once you know the type)\nawait client.catalog.listTypes({ prefix: \"aws.\" })\nawait client.catalog.getSchema(\"aws.s3.create_bucket\")\n\n// start via the generated binding — inputs are typed; organization_uuid is\n// resolved from the token, never passed. Returns a WorkflowRunHandle.\nconst run = await aws.s3.startCreateBucket(client, {\n  bucket: \"my-app-assets\",\n  connection_uuid: \"…\",\n  region: \"us-east-1\",\n})\nconsole.log(run.workflowId, run.stateName)\n\n// stream typed events until terminal, or await the terminal output\nfor await (const evt of run.events()) {\n  if (evt.type === \"transition\") console.log(evt.from, \"->\", evt.to)\n  if (evt.type === \"completed\") break\n  if (evt.type === \"failed\") throw new Error(evt.error.message)\n}\nconst output = await run.wait()      // resolves to the terminal state_data\n\n// lifecycle off the workflows manager, keyed by workflowId\nawait client.workflows.get(run.workflowId)\nawait client.workflows.history(run.workflowId)\nawait client.workflows.retry(run.workflowId)   // only meaningful for a FAILED run\n","Node — @ltinteg/workflows-sdk","ts",[917,1828,1829,1859,1863,1885,1904,1929,1937,1941,1946,1985,2011,2015,2020,2025,2057,2073,2089,2105,2111,2140,2145,2151,2181,2246,2273,2321,2327,2352,2357,2363,2387,2409],{"__ignoreMap":1164},[1168,1830,1831,1835,1838,1841,1844,1847,1850,1853,1855,1857],{"class":1170,"line":1171},[1168,1832,1834],{"class":1833},"s7zQu","import",[1168,1836,1837],{"class":1208}," {",[1168,1839,1840],{"class":1198}," LtIntegWorkflowsClient",[1168,1842,1843],{"class":1208},",",[1168,1845,1846],{"class":1198}," aws",[1168,1848,1849],{"class":1208}," }",[1168,1851,1852],{"class":1833}," from",[1168,1854,1209],{"class":1208},[1168,1856,978],{"class":1191},[1168,1858,1218],{"class":1208},[1168,1860,1861],{"class":1170,"line":1178},[1168,1862,1315],{"emptyLinePlaceholder":1314},[1168,1864,1865,1869,1872,1874,1877,1880,1883],{"class":1170,"line":1184},[1168,1866,1868],{"class":1867},"spNyl","const",[1168,1870,1871],{"class":1198}," client ",[1168,1873,1290],{"class":1208},[1168,1875,1876],{"class":1208}," new",[1168,1878,1840],{"class":1879},"s2Zo4",[1168,1881,1882],{"class":1198},"(",[1168,1884,1456],{"class":1208},[1168,1886,1887,1891,1894,1896,1899,1901],{"class":1170,"line":1202},[1168,1888,1890],{"class":1889},"swJcz","  baseUrl",[1168,1892,1893],{"class":1208},":",[1168,1895,1209],{"class":1208},[1168,1897,1898],{"class":1191},"https://workflow-api.orkestia.dev",[1168,1900,1303],{"class":1208},[1168,1902,1903],{"class":1208},",\n",[1168,1905,1906,1909,1911,1914,1916,1919,1921,1924,1926],{"class":1170,"line":1221},[1168,1907,1908],{"class":1889},"  token",[1168,1910,1893],{"class":1208},[1168,1912,1913],{"class":1198}," process",[1168,1915,928],{"class":1208},[1168,1917,1918],{"class":1198},"env",[1168,1920,928],{"class":1208},[1168,1922,1923],{"class":1198},"ORKESTIA_TOKEN",[1168,1925,1843],{"class":1208},[1168,1927,1928],{"class":1174},"   // org-member or end-user token\n",[1168,1930,1931,1934],{"class":1170,"line":1227},[1168,1932,1933],{"class":1208},"}",[1168,1935,1936],{"class":1198},")\n",[1168,1938,1939],{"class":1170,"line":1354},[1168,1940,1315],{"emptyLinePlaceholder":1314},[1168,1942,1943],{"class":1170,"line":1359},[1168,1944,1945],{"class":1174},"// discover + inspect via the catalog manager (optional once you know the type)\n",[1168,1947,1948,1951,1954,1956,1959,1961,1964,1966,1969,1972,1974,1976,1979,1981,1983],{"class":1170,"line":1365},[1168,1949,1950],{"class":1833},"await",[1168,1952,1953],{"class":1198}," client",[1168,1955,928],{"class":1208},[1168,1957,1958],{"class":1198},"catalog",[1168,1960,928],{"class":1208},[1168,1962,1963],{"class":1879},"listTypes",[1168,1965,1882],{"class":1198},[1168,1967,1968],{"class":1208},"{",[1168,1970,1971],{"class":1889}," prefix",[1168,1973,1893],{"class":1208},[1168,1975,1209],{"class":1208},[1168,1977,1978],{"class":1191},"aws.",[1168,1980,1303],{"class":1208},[1168,1982,1849],{"class":1208},[1168,1984,1936],{"class":1198},[1168,1986,1987,1989,1991,1993,1995,1997,2000,2002,2004,2007,2009],{"class":1170,"line":1389},[1168,1988,1950],{"class":1833},[1168,1990,1953],{"class":1198},[1168,1992,928],{"class":1208},[1168,1994,1958],{"class":1198},[1168,1996,928],{"class":1208},[1168,1998,1999],{"class":1879},"getSchema",[1168,2001,1882],{"class":1198},[1168,2003,1303],{"class":1208},[1168,2005,2006],{"class":1191},"aws.s3.create_bucket",[1168,2008,1303],{"class":1208},[1168,2010,1936],{"class":1198},[1168,2012,2013],{"class":1170,"line":1395},[1168,2014,1315],{"emptyLinePlaceholder":1314},[1168,2016,2017],{"class":1170,"line":1400},[1168,2018,2019],{"class":1174},"// start via the generated binding — inputs are typed; organization_uuid is\n",[1168,2021,2022],{"class":1170,"line":1406},[1168,2023,2024],{"class":1174},"// resolved from the token, never passed. Returns a WorkflowRunHandle.\n",[1168,2026,2027,2029,2032,2034,2037,2039,2041,2044,2046,2049,2052,2054],{"class":1170,"line":1447},[1168,2028,1868],{"class":1867},[1168,2030,2031],{"class":1198}," run ",[1168,2033,1290],{"class":1208},[1168,2035,2036],{"class":1833}," await",[1168,2038,1846],{"class":1198},[1168,2040,928],{"class":1208},[1168,2042,2043],{"class":1198},"s3",[1168,2045,928],{"class":1208},[1168,2047,2048],{"class":1879},"startCreateBucket",[1168,2050,2051],{"class":1198},"(client",[1168,2053,1843],{"class":1208},[1168,2055,2056],{"class":1208}," {\n",[1168,2058,2059,2062,2064,2066,2069,2071],{"class":1170,"line":1459},[1168,2060,2061],{"class":1889},"  bucket",[1168,2063,1893],{"class":1208},[1168,2065,1209],{"class":1208},[1168,2067,2068],{"class":1191},"my-app-assets",[1168,2070,1303],{"class":1208},[1168,2072,1903],{"class":1208},[1168,2074,2075,2078,2080,2082,2085,2087],{"class":1170,"line":1465},[1168,2076,2077],{"class":1889},"  connection_uuid",[1168,2079,1893],{"class":1208},[1168,2081,1209],{"class":1208},[1168,2083,2084],{"class":1191},"…",[1168,2086,1303],{"class":1208},[1168,2088,1903],{"class":1208},[1168,2090,2091,2094,2096,2098,2101,2103],{"class":1170,"line":1471},[1168,2092,2093],{"class":1889},"  region",[1168,2095,1893],{"class":1208},[1168,2097,1209],{"class":1208},[1168,2099,2100],{"class":1191},"us-east-1",[1168,2102,1303],{"class":1208},[1168,2104,1903],{"class":1208},[1168,2106,2107,2109],{"class":1170,"line":1480},[1168,2108,1933],{"class":1208},[1168,2110,1936],{"class":1198},[1168,2112,2114,2117,2119,2122,2125,2127,2130,2132,2135,2137],{"class":1170,"line":2113},19,[1168,2115,2116],{"class":1198},"console",[1168,2118,928],{"class":1208},[1168,2120,2121],{"class":1879},"log",[1168,2123,2124],{"class":1198},"(run",[1168,2126,928],{"class":1208},[1168,2128,2129],{"class":1198},"workflowId",[1168,2131,1843],{"class":1208},[1168,2133,2134],{"class":1198}," run",[1168,2136,928],{"class":1208},[1168,2138,2139],{"class":1198},"stateName)\n",[1168,2141,2143],{"class":1170,"line":2142},20,[1168,2144,1315],{"emptyLinePlaceholder":1314},[1168,2146,2148],{"class":1170,"line":2147},21,[1168,2149,2150],{"class":1174},"// stream typed events until terminal, or await the terminal output\n",[1168,2152,2154,2157,2159,2161,2163,2166,2169,2171,2173,2176,2179],{"class":1170,"line":2153},22,[1168,2155,2156],{"class":1833},"for",[1168,2158,2036],{"class":1833},[1168,2160,1799],{"class":1198},[1168,2162,1868],{"class":1867},[1168,2164,2165],{"class":1198}," evt ",[1168,2167,2168],{"class":1208},"of",[1168,2170,2134],{"class":1198},[1168,2172,928],{"class":1208},[1168,2174,2175],{"class":1879},"events",[1168,2177,2178],{"class":1198},"()) ",[1168,2180,1456],{"class":1208},[1168,2182,2184,2187,2189,2192,2194,2197,2200,2202,2205,2207,2210,2212,2214,2216,2218,2220,2222,2225,2227,2229,2232,2234,2236,2239,2241,2244],{"class":1170,"line":2183},23,[1168,2185,2186],{"class":1833},"  if",[1168,2188,1799],{"class":1889},[1168,2190,2191],{"class":1198},"evt",[1168,2193,928],{"class":1208},[1168,2195,2196],{"class":1198},"type",[1168,2198,2199],{"class":1208}," ===",[1168,2201,1209],{"class":1208},[1168,2203,2204],{"class":1191},"transition",[1168,2206,1303],{"class":1208},[1168,2208,2209],{"class":1889},") ",[1168,2211,2116],{"class":1198},[1168,2213,928],{"class":1208},[1168,2215,2121],{"class":1879},[1168,2217,1882],{"class":1889},[1168,2219,2191],{"class":1198},[1168,2221,928],{"class":1208},[1168,2223,2224],{"class":1198},"from",[1168,2226,1843],{"class":1208},[1168,2228,1209],{"class":1208},[1168,2230,2231],{"class":1191},"->",[1168,2233,1303],{"class":1208},[1168,2235,1843],{"class":1208},[1168,2237,2238],{"class":1198}," evt",[1168,2240,928],{"class":1208},[1168,2242,2243],{"class":1198},"to",[1168,2245,1936],{"class":1889},[1168,2247,2249,2251,2253,2255,2257,2259,2261,2263,2266,2268,2270],{"class":1170,"line":2248},24,[1168,2250,2186],{"class":1833},[1168,2252,1799],{"class":1889},[1168,2254,2191],{"class":1198},[1168,2256,928],{"class":1208},[1168,2258,2196],{"class":1198},[1168,2260,2199],{"class":1208},[1168,2262,1209],{"class":1208},[1168,2264,2265],{"class":1191},"completed",[1168,2267,1303],{"class":1208},[1168,2269,2209],{"class":1889},[1168,2271,2272],{"class":1833},"break\n",[1168,2274,2276,2278,2280,2282,2284,2286,2288,2290,2293,2295,2297,2300,2302,2305,2307,2309,2311,2314,2316,2319],{"class":1170,"line":2275},25,[1168,2277,2186],{"class":1833},[1168,2279,1799],{"class":1889},[1168,2281,2191],{"class":1198},[1168,2283,928],{"class":1208},[1168,2285,2196],{"class":1198},[1168,2287,2199],{"class":1208},[1168,2289,1209],{"class":1208},[1168,2291,2292],{"class":1191},"failed",[1168,2294,1303],{"class":1208},[1168,2296,2209],{"class":1889},[1168,2298,2299],{"class":1833},"throw",[1168,2301,1876],{"class":1208},[1168,2303,2304],{"class":1879}," Error",[1168,2306,1882],{"class":1889},[1168,2308,2191],{"class":1198},[1168,2310,928],{"class":1208},[1168,2312,2313],{"class":1198},"error",[1168,2315,928],{"class":1208},[1168,2317,2318],{"class":1198},"message",[1168,2320,1936],{"class":1889},[1168,2322,2324],{"class":1170,"line":2323},26,[1168,2325,2326],{"class":1208},"}\n",[1168,2328,2330,2332,2335,2337,2339,2341,2343,2346,2349],{"class":1170,"line":2329},27,[1168,2331,1868],{"class":1867},[1168,2333,2334],{"class":1198}," output ",[1168,2336,1290],{"class":1208},[1168,2338,2036],{"class":1833},[1168,2340,2134],{"class":1198},[1168,2342,928],{"class":1208},[1168,2344,2345],{"class":1879},"wait",[1168,2347,2348],{"class":1198},"()      ",[1168,2350,2351],{"class":1174},"// resolves to the terminal state_data\n",[1168,2353,2355],{"class":1170,"line":2354},28,[1168,2356,1315],{"emptyLinePlaceholder":1314},[1168,2358,2360],{"class":1170,"line":2359},29,[1168,2361,2362],{"class":1174},"// lifecycle off the workflows manager, keyed by workflowId\n",[1168,2364,2366,2368,2370,2372,2375,2377,2380,2382,2384],{"class":1170,"line":2365},30,[1168,2367,1950],{"class":1833},[1168,2369,1953],{"class":1198},[1168,2371,928],{"class":1208},[1168,2373,2374],{"class":1198},"workflows",[1168,2376,928],{"class":1208},[1168,2378,2379],{"class":1879},"get",[1168,2381,2124],{"class":1198},[1168,2383,928],{"class":1208},[1168,2385,2386],{"class":1198},"workflowId)\n",[1168,2388,2390,2392,2394,2396,2398,2400,2403,2405,2407],{"class":1170,"line":2389},31,[1168,2391,1950],{"class":1833},[1168,2393,1953],{"class":1198},[1168,2395,928],{"class":1208},[1168,2397,2374],{"class":1198},[1168,2399,928],{"class":1208},[1168,2401,2402],{"class":1879},"history",[1168,2404,2124],{"class":1198},[1168,2406,928],{"class":1208},[1168,2408,2386],{"class":1198},[1168,2410,2412,2414,2416,2418,2420,2422,2425,2427,2429,2432],{"class":1170,"line":2411},32,[1168,2413,1950],{"class":1833},[1168,2415,1953],{"class":1198},[1168,2417,928],{"class":1208},[1168,2419,2374],{"class":1198},[1168,2421,928],{"class":1208},[1168,2423,2424],{"class":1879},"retry",[1168,2426,2124],{"class":1198},[1168,2428,928],{"class":1208},[1168,2430,2431],{"class":1198},"workflowId)   ",[1168,2433,2434],{"class":1174},"// only meaningful for a FAILED run\n",[885,2436,2437,2438,2441,2442,2445],{},"The client accepts either token kind — pass an ",[889,2439,2440],{},"org-member token"," for platform automation, or an ",[889,2443,2444],{},"end-user token"," when acting on behalf of a signed-in app user. The surface is identical; the scope is enforced server-side.",[952,2447,2448],{},[885,2449,2450,2451,1799,2454,2456,2457,2460,2461,2464,2465,2468,2469,2473,2474,928],{},"The ",[896,2452,2453],{"href":484},"Python SDK",[917,2455,984],{},") is generated from the same catalog and drives the same ",[917,2458,2459],{},"/api/workflows/*"," surface. The ",[896,2462,2463],{"href":479},"Node SDK"," remains the most complete runtime (SSE, ",[917,2466,2467],{},"run.wait()",", typed errors). End-user JWTs come from ",[896,2470,2471],{"href":489},[917,2472,919],{},". Browse bindings at ",[896,2475,941],{"href":938,"rel":2476},[940],[952,2478,2479],{},[885,2480,2481,2482,1014,2485,2488,2489,1779,2492,2495,2496,2499,2500,2503,2504,1014,2507,903,2510,928],{},"Manager methods map one-to-one to the REST endpoints in the table above: ",[917,2483,2484],{},"client.workflows.get/history/retry/stream",[917,2486,2487],{},"client.catalog.listTypes/getSchema/getDefinition",", plus ",[917,2490,2491],{},"client.plugins",[917,2493,2494],{},"client.projects",". The generated bindings are thin wrappers over ",[917,2497,2498],{},"client.start(...)"," that add typed inputs/outputs and return a ",[917,2501,2502],{},"WorkflowRunHandle"," with ",[917,2505,2506],{},".events()",[917,2508,2509],{},".wait()",[917,2511,2512],{},".get()",[962,2514,2516],{"id":2515},"choosing-a-driver","Choosing a driver",[2518,2519],"dag-diagram",{":edges":2520,":nodes":2521},"[{\"from\":\"question\",\"to\":\"caller\"},{\"from\":\"caller\",\"to\":\"sdk\",\"label\":\"App in Node or Python\"},{\"from\":\"caller\",\"to\":\"rest\",\"label\":\"Another language or raw HTTP\"},{\"from\":\"caller\",\"to\":\"mcp\",\"label\":\"AI agent / assistant\"},{\"from\":\"sdk\",\"to\":\"output\"},{\"from\":\"rest\",\"to\":\"output\"},{\"from\":\"mcp\",\"to\":\"output\"}]","[{\"id\":\"question\",\"label\":\"How are you calling Orkestia?\",\"kind\":\"start\"},{\"id\":\"caller\",\"label\":\"Caller\"},{\"id\":\"sdk\",\"label\":\"SDK — typed, autocompleted\"},{\"id\":\"rest\",\"label\":\"REST — workflow-api.orkestia.dev\"},{\"id\":\"mcp\",\"label\":\"MCP — list, schema, start, watch\",\"kind\":\"ai\"},{\"id\":\"output\",\"label\":\"Same engine, same runs\",\"kind\":\"terminal\"}]",[1040,2523,2524,2534],{},[1043,2525,2526],{},[1046,2527,2528,2531],{},[1049,2529,2530],{},"Use…",[1049,2532,2533],{},"When",[1058,2535,2536,2551,2562,2580,2590],{},[1046,2537,2538,2542],{},[1063,2539,2540],{},[889,2541,2463],{},[1063,2543,2544,2545,2547,2548],{},"TypeScript/Node — typed inputs, SSE, ",[917,2546,2467],{},". See ",[896,2549,2550],{"href":479},"Workflows SDK — Node",[1046,2552,2553,2557],{},[1063,2554,2555],{},[889,2556,2453],{},[1063,2558,2559,2560],{},"Python ≥3.10 — same catalog, Pydantic start helpers. See ",[896,2561,483],{"href":484},[1046,2563,2564,2570],{},[1063,2565,2566],{},[889,2567,2568],{},[917,2569,919],{},[1063,2571,2572,2573,2576,2577],{},"Browser PKCE / OAuth for ",[1103,2574,2575],{},"your"," users. See ",[896,2578,2579],{"href":489},"Auth SDK",[1046,2581,2582,2587],{},[1063,2583,2584],{},[889,2585,2586],{},"REST",[1063,2588,2589],{},"Another language, CI, or zero dependencies",[1046,2591,2592,2596],{},[1063,2593,2594],{},[889,2595,906],{},[1063,2597,2598,2599],{},"An AI agent operating the catalog — ",[896,2600,2601],{"href":170},"MCP integration",[962,2603,2605],{"id":2604},"where-to-go-next","Where to go next",[967,2607,2608,2614,2619,2627,2633],{},[970,2609,2611],{"icon":162,"title":2610,"to":165},"Workflow types registry",[885,2612,2613],{},"The full catalog of workflow domains and types, with per-workflow inputs and outputs.",[970,2615,2616],{"icon":44,"title":2601,"to":170},[885,2617,2618],{},"Drive the same engine from an AI agent — tools, discovery, and the agent loop.",[970,2620,2621],{"icon":476,"title":471,"to":472},[885,2622,2623,2624,2626],{},"Node, Python, and ",[917,2625,919],{}," — install and examples.",[970,2628,2630],{"icon":85,"title":2629,"to":83},"Identity & multi-tenancy",[885,2631,2632],{},"How org-member and end-user tokens scope every run, and how \"Sign in with Orkestia\" works.",[970,2634,2637],{"icon":2635,"title":2636,"to":938},"i-lucide-external-link","Workflow reference",[885,2638,2639],{},"Every workflow, by domain — the authoritative source for input/output shapes.",[2641,2642,2643],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":1164,"searchDepth":1171,"depth":1178,"links":2645},[2646,2647,2648,2649,2650,2651],{"id":964,"depth":1178,"text":965},{"id":1026,"depth":1178,"text":1027},{"id":1270,"depth":1178,"text":1271},{"id":1785,"depth":1178,"text":1786},{"id":2515,"depth":1178,"text":2516},{"id":2604,"depth":1178,"text":2605},"The programmatic surfaces for driving Orkestia workflows — the REST API, the typed Node/TS SDK, and the two-token auth model","md",null,{},{"icon":104},{"title":174,"description":2652},"DSZZeGSPLvnSG0qG6f3-jA4yPBHauKiPnh9zt3sDDxQ",[2660,2662],{"title":169,"path":170,"stem":171,"description":2661,"icon":172,"children":-1},"The canonical way for any AI agent to discover, run, watch, and recover Orkestia workflows over the Model Context Protocol",{"title":178,"path":179,"stem":180,"description":2663,"icon":181,"children":-1},"The live integration surface — every cloud, ERP, commerce, messaging, and SaaS domain registered in the production workflow catalog, with links to per-workflow reference",1790354035163]