If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.
“If AI gets to the point where anybody can easily create any software, what will happen to all these software companies? Do they just become worthless?”
That question recently sparked a 200+ comment thread on Reddit. And it’s not hard to see why people are asking it. Earlier this year at Davos, Anthropic CEO Dario Amodei said something that got a lot of attention: “I have engineers within Anthropic who say, ‘I don’t write any code anymore. I just let the model write the code. I edit it.’” He went on to predict that AI might handle “most, maybe all” of what software engineers do within six to twelve months.When the CEO of one of the most advanced AI companies says his own engineers have stopped writing code, it’s worth paying attention. So is the software industry headed for collapse?The short answer: no. But the long answer is more interesting.This question fundamentally misunderstands what a software company actually is.
Think about restaurants for a second. Anyone can make a sandwich. You’ve got bread, some meat, maybe cheese, whatever sauce you like. Five minutes, done. So why do sandwich shops exist? Why isn’t the entire restaurant industry collapsing under the weight of home kitchens?Because making a sandwich isn’t the same as running a sandwich shop.People pay for convenience. They pay for consistency. They pay for not having to clean up afterward. They pay for the expertise that makes a sandwich better than what they’d throw together at home. And they pay for the entire experience surrounding that sandwich.Software works the same way. The code is the sandwich. But the business? That’s everything else.
Here’s a reality check that often gets lost in these conversations. Take a software company with 300 employees like Upsun. How many of them write code? Maybe 100. A third at best.The other two-thirds? Sales, marketing, customer success, legal, finance, HR, operations, security, compliance, support. The people who answer the phone when something breaks at 2 AM. The folks who handle enterprise contracts and negotiate SLAs. The team that ensures you’re GDPR compliant and won’t get sued into oblivion.AI can help you write code. It can’t (yet) replace the entire organizational machinery that turns code into a business. A solo developer with AI can build an app. Building a company that supports thousands of customers across multiple time zones, handles their data securely, maintains uptime guarantees, and evolves the product based on market demands? That’s a different beast entirely.
Creating software is not the same as keeping it running
This is where the “anyone can build software” argument falls apart. Because building is the fun part. It’s the honeymoon phase. Everything works in your dev environment, your demo looks slick, and you’re feeling pretty good about yourself.Then reality hits.Your app needs to handle ten times the traffic you expected. A security vulnerability shows up in one of your dependencies. Users start requesting features you never anticipated. The database schema you designed in week one doesn’t scale to week fifty. Some edge case you never considered crashes the whole thing.Maintenance, security, scalability, updates, patches, monitoring, incident response. This is where software gets expensive. This is where it gets hard. And this is where most vibe-coded projects go to die.Professional software companies have entire teams dedicated to keeping things running. They have on-call rotations, automated testing pipelines, staging environments, rollback procedures, and years of accumulated knowledge about what can go wrong. A weekend project built with AI prompts doesn’t have any of that.
Let’s talk about vibe coding for a minute. It’s a real phenomenon. Non-technical people are building functional apps by conversing with AI. They’re creating personal tools, automating workflows, and prototyping ideas that would have required a developer a few years ago.This is genuinely impressive. And it’s genuinely useful. But it has a ceiling.Vibe coders hit walls. Weird bugs they can’t diagnose. Performance issues they don’t understand. Security flaws they can’t even see. The AI can get you 80% of the way there, sometimes 90%. But that last 10% often requires understanding what’s actually happening under the hood.Here’s a typical scenario: someone builds a personal CRM with AI assistance. Works great for the first 500 contacts. Then the searches start slowing down. The app hangs when loading lists. The AI suggests adding indexes, but the vibe coder doesn’t know which ones or why. They copy-paste the solution, and it helps for a while. Then another bottleneck appears. And another. Each fix creates new complexity they don’t fully understand.Eventually, the codebase becomes a house of cards. It works, mostly, but nobody knows why. And when it stops working, nobody knows how to fix it without potentially breaking something else.And when you’re running a business on that software? When customers depend on it? When there’s money and reputation on the line? That’s when the ceiling becomes a serious problem.Professional developers aren’t going away. What’s changing is what they spend their time on. Less boilerplate, more architecture. Less repetitive CRUD, more complex problem-solving. The entry bar for creating something has dropped. The bar for creating something reliable, secure, and scalable hasn’t moved much at all.
Here’s something the doomsayers often forget: software companies also have access to AI.If AI makes individual developers more productive, it makes development teams more productive too. The company that previously needed 50 engineers to build and maintain a product might need 30 now. Or those 50 engineers can build something three times as complex.Software companies aren’t standing still while the world changes around them. They’re adopting the same tools, automating their own workflows, and using AI to extend their capabilities. The competitive dynamics shift, but the gap between professional operations and amateur builds doesn’t necessarily shrink.In fact, it might widen. A well-funded company with experienced engineers using AI effectively can produce software at a pace and quality level that a solo vibe coder can’t match. The tools are the same, but the expertise in wielding them isn’t.
Alright, so total industry collapse isn’t happening. But that doesn’t mean everyone survives unscathed.Simple, single-purpose SaaS apps are in trouble. The habit tracker. The basic CRM. The minimal project management tool. The productivity app that does one thing reasonably well.These are exactly the kinds of products that motivated individuals can now build for themselves. Why pay $10 a month for a habit tracker when you can spend a weekend building one that does exactly what you want, customized to your specific workflow, with no subscription fees?People are doing this. They’re canceling subscriptions and building personal tools. Not everyone, but enough to matter. The market for commoditized, undifferentiated software is getting squeezed.Indie hackers building small products face similar pressure. The barrier to entry has dropped, which means more competition. And when your product is something an AI-assisted weekend project can replicate, your differentiation disappears.The math used to work like this: spend months building something, charge enough users $10/month, reach sustainable revenue. Now the equation changes. Potential customers look at your product, think “I could build that,” and some of them actually do. Your total addressable market shrinks. Your conversion rates drop. The users who do sign up expect lower prices because they know the alternative.This doesn’t mean all indie products are doomed. Unique value propositions, strong communities, excellent support, and genuine expertise still matter. But “I built a thing that works” isn’t enough anymore when anyone can build a thing that works.
On the other end of the spectrum, enterprise software looks pretty safe.Think Adobe, Microsoft, Salesforce, SAP. These companies aren’t selling code. They’re selling ecosystems. Integrations with hundreds of other tools. Compliance certifications that took years to obtain. Support contracts with guaranteed response times. Training programs and consultants who know the product inside out. Decades of accumulated features that address every edge case in every industry.No amount of vibe coding replicates that. You might be able to prompt your way to a basic photo editor or a simple CRM. You’re not prompting your way to Photoshop or Salesforce. The complexity is too deep, the ecosystem too interconnected, the trust too hard-earned.Consider what it actually takes to sell software to a large enterprise. Security audits. SOC 2 compliance. GDPR readiness. Integration with their existing identity provider. Custom SLAs. Dedicated account management. The ability to survive a procurement process that takes six months and involves legal, security, IT, and finance teams.A solo developer with an AI-built app can’t offer any of that. The software itself might be functionally equivalent for a narrow use case. Everything surrounding it isn’t even close.Enterprise buyers aren’t looking for the cheapest option. They’re looking for the safest option. The vendor who’ll still be around in five years. The platform that won’t collapse when their business depends on it. AI makes building things easier, but it doesn’t make building trust easier.
For simple apps, expect a race to the bottom. Prices will drop. Competition will intensify. Products that don’t differentiate will struggle.But markets have a way of finding equilibrium. When everyone can build basic software, basic software stops being valuable. The premium moves to complexity, reliability, and service. The businesses that survive will be the ones that offer something beyond “it works.”Customer relationships matter more. Support quality matters more. Institutional knowledge matters more. Brand trust matters more. All the things that AI can’t easily replicate become the differentiators.We’ll probably see a boom in personal tools. People building exactly what they need, for themselves, maintained as long as they care to maintain it. That’s fine. That’s even good. It doesn’t eliminate the need for professional software any more than home cooking eliminates restaurants.
Of course, clients are already asking it: “Can’t you do this with AI for one-tenth the price?”The honest answer is: sometimes, yes. For straightforward tasks, AI dramatically reduces the effort required. Pricing models will adjust. Expectations will shift. The market will recalibrate.But the follow-up question matters more: “And who’s going to maintain it? Who’s on call when it breaks? Who’s liable when something goes wrong? Who’s going to update it when requirements change?”Building software has gotten cheaper. Running a software business hasn’t. And as long as that gap exists, software companies have a reason to exist too.
AI isn’t making software companies worthless. It’s making bad software companies worthless. The ones coasting on complexity that AI can now handle. The ones whose only value proposition was “we can write code and you can’t.”The companies that survive and thrive will be the ones that always understood: the code was never the whole product. The business is the product. The reliability is the product. The support is the product. The trust is the product.If your entire value can be replicated by someone with a laptop and a ChatGPT subscription, you had a problem before AI came along. You were selling a commodity and charging for scarcity.The scarcity is gone. Time to sell something else.The software industry has survived paradigm shifts before. The rise of open source didn’t kill proprietary software companies. Cloud computing didn’t eliminate the need for software vendors. Each wave changed who won and who lost, but the industry adapted.AI is the next wave. It’ll reshape the landscape, not erase it. The winners will be the companies that understand what they’re really selling has never been code. It’s always been everything around it.
Last modified on April 27, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Upsun Developer","description":"Upsun Developer — documentation, guides, and more.","colors":{"primary":"#6046ff","light":"#F7F8F8","dark":"#646F75"},"logo":{"light":"https://mintcdn.com/upsun-c9761871/WSCgazBk0GWUPP4l/logo/Upsun-dev-center-light.svg?fit=max\u0026auto=format\u0026n=WSCgazBk0GWUPP4l\u0026q=85\u0026s=c35e42815c3d17de292fb0a86d41aa5f","dark":"https://mintcdn.com/upsun-c9761871/WSCgazBk0GWUPP4l/logo/Upsun-dev-center-dark.svg?fit=max\u0026auto=format\u0026n=WSCgazBk0GWUPP4l\u0026q=85\u0026s=6bdea7a02f9b19da987e3502457d1ce8","href":"https://developer.upsun.com/"},"favicon":"https://mintcdn.com/upsun-c9761871/zc3aDujkEk92gVGr/favicon.png?fit=max\u0026auto=format\u0026n=zc3aDujkEk92gVGr\u0026q=85\u0026s=3b2ecb4deccafac0ea68acf519ab577b","api":{"examples":{"prefill":true}},"appearance":{"default":"system"},"background":{"color":{"light":"#F7F8F8","dark":"#0E1113"}},"navbar":{"links":[{"href":"https://auth.upsun.com/","label":"Console"},{"href":"https://upsun.com/demo/","label":"Watch a demo"}],"primary":{"type":"button","label":"Free trial","href":"https://auth.upsun.com/register"}},"footer":{"socials":{"github":"https://github.com/upsun","youtube":"https://www.youtube.com/@upsundotcom","x":"https://x.com/upsundotcom","linkedin":"https://www.linkedin.com/company/upsundotcom"},"links":[{"header":"Docs","items":[{"label":"Documentation","href":"/docs/get-started"},{"label":"Tutorials","href":"/tutorials"},{"label":"API Reference","href":"/api"},{"label":"CLI Reference","href":"/cli"}]},{"header":"Resources","items":[{"label":"Changelog","href":"/changelog"},{"label":"Upsun Blog","href":"https://upsun.com/blog"},{"label":"Community","href":"https://community.upsun.com"},{"label":"Support","href":"/docs/get-started/here/support"}]},{"header":"Company","items":[{"label":"About","href":"https://upsun.com/about-us"},{"label":"Pricing","href":"https://upsun.com/pricing"},{"label":"Careers","href":"https://upsun.com/jobs"}]}]},"seo":{"metatags":{"robots":"index, follow","description":"Upsun User Documentation, Dev Center, news, and more."},"indexing":"all"},"fonts":{"heading":{"family":"Instrument Sans","weight":700},"body":{"family":"Instrument Sans","weight":400}},"icons":{"library":"lucide"},"styling":{"latex":true},"integrations":{"gtm":{"tagId":"GTM-KJ4F382K"},"telemetry":{"enabled":true}},"errors":{"404":{"redirect":false,"title":"This page took an unexpected detour","description":"It might have moved, or maybe it never existed. Either way, let's get you back on track. Try searching above or head to one of these:\n\n\u003cdiv style={{textAlign: 'left'}}>\n\n\u003cColumns cols={2}>\n \u003cCard title=\"Get Started\" icon=\"rocket\" href=\"/docs/get-started\">\n Deploy your first app on Upsun\n \u003c/Card>\n \u003cCard title=\"Documentation\" icon=\"book-open\" href=\"/docs/core-concepts\">\n Explore the full documentation\n \u003c/Card>\n \u003cCard title=\"Tutorials\" icon=\"play\" href=\"/tutorials\">\n Follow step-by-step guides\n \u003c/Card>\n \u003cCard title=\"API Reference\" icon=\"code\" href=\"/api\">\n REST API and SDK reference\n \u003c/Card>\n\u003c/Columns>\n\n\u003c/div>"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"variables":{"config_platformsh":"Platform.sh","config_config_dir":".upsun/","config_config_files_app":".upsun/config.yaml","config_config_files_services":".upsun/config.yaml","config_config_files_routes":".upsun/config.yaml","config_config_files_env":".environment","config_glossary_mb":"MB","config_product_blackfire":"Upsun Blackfire","config_product_cloud":"Upsun Cloud","config_product_dispatch":"Upsun Dispatch","config_vendor_name":"Upsun","config_vendor_cli":"upsun","config_vendor_alt":"upsun","config_vendor_prefix":"UPSUN","config_vendor_community_url":"https://community.upsun.com/","config_vendor_hostname":"platformsh.site","config_vendor_host":"upsun.com","config_vendor_docs":"https://developer.upsun.com","config_vendor_api":"https://api.upsun.com","config_vendor_console":"https://console.upsun.com","config_vendor_sales":"https://upsun.com/contact-us/","config_vendor_support_url":"https://support.upsun.com","config_vendor_support_ticket":"https://support.upsun.com/hc/en-us/requests/new?ticket_form_id=35294051960082","config_vendor_support_feature":"https://support.upsun.com/hc/en-us/requests/new?ticket_form_id=37982573191442","config_vendor_support_requests":"https://support.upsun.com/hc/en-us/requests","config_vendor_register":"https://auth.upsun.com/register/","meta_version_solr":"10.0","meta_version_composable":"26.05","meta_version_nodejs":"26","meta_version_python":"3.14","meta_version_php_latest":"8.5"},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"upsun-c9761871","hasAudioNarration":false,"actualSubdomain":"upsun-c9761871","customDomains":["developer.upsun.com"],"gitSource":{"type":"github","owner":"upsun","repo":"devcenter-mintlify","deployBranch":"main","contentDirectory":"contents","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeda102ea85807f25ff507f","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Cloud","count":543},{"language":"default","tag":"API","count":271},{"language":"default","tag":"OpenAPI Reference","count":263},{"language":"default","tag":"Docs","count":256},{"language":"default","tag":"Configure Apps \u0026 Services","count":79},{"language":"default","tag":"Get Started","count":42},{"language":"default","tag":"Manage Projects","count":36},{"language":"default","tag":"Configure apps","count":30},{"language":"default","tag":"Pick a Stack","count":27},{"language":"default","tag":"PHP","count":26}],"searchSettings":{"maxResults":16}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"type":"email","email":"advocacy@upsun.com"}},"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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/upsun-c9761871/73d0de61d492770e/styles.css"}],"page":{"pagePath":"posts/ai/will-ai-make-software-companies-worthless","slug":"/posts/ai/will-ai-make-software-companies-worthless","pageMetadata":{"title":"Will AI make software companies worthless?","subtitle":"","date":"2026-01-30T18:00:00.000Z","image":"/images/posts/ai/will-ai-make-software-companies-worthless/thumbnail.webp","icon":"tutorial","featured":true,"author":["gmoigneu"],"sidebar":{"exclude":true},"type":"post","description":"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.","tags":["ai","vibe coding","business","future"],"categories":["ai"],"math":false,"updated":"2026-01-30T17:29:54.680Z","href":"/posts/ai/will-ai-make-software-companies-worthless"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const PostMeta=({data={}})=>{const _components={a:`a`,..._provideComponents()};const{author,date}=data;const authors=Array.isArray(author)?author:author?[author]:[];const toSlug=value=>String(value).toLowerCase().trim().replace(/\\s+/g,`-`).replace(/[^a-z0-9-]/g,``);const resolveAuthor=slug=>{const entry=AUTHOR_MAP[slug]||{};const name=entry.name||slug;const github=entry.github||null;const url=`/posts/authors/${toSlug(slug)}`;const avatarUrl=github?`https://github.com/${github}.png?size=64`:null;return{name,url,avatarUrl}};const formattedDate=date?new Date(date).toLocaleDateString(`en-US`,{year:`numeric`,month:`long`,day:`numeric`}):null;if(authors.length===0\u0026\u0026!formattedDate)return null;const AUTHOR_MAP={\"aaron-collier\":{\"name\":`Aaron Collier`},\"aaron-dudenhofer\":{\"name\":`Aaron Dudenhofer`},\"aaron-porter\":{\"name\":`Aaron Porter`},\"adriaan-odendaal\":{\"name\":`Adriaan Odendaal`},\"ajmal\":{\"name\":`Ajmal Siddiqui`},\"akalipetis\":{\"name\":`Antonis Kalipetis`},\"alexander-varwijk\":{\"name\":`Alexander Varwijk`},\"alicia-bevilacqua\":{\"name\":`Alicia Bevilacqua`},\"amelie-deguerry\":{\"name\":`Amelie Deguerry`},\"anacidre\":{\"name\":`Ana Cidre`,\"linkedin\":`https://www.linkedin.com/in/ana-cidre`},\"andoni\":{\"name\":`Andoni Auzmendi`},\"andrei-taranu\":{\"name\":`Andrei (Alex) Taranu`,\"linkedin\":`https://www.linkedin.com/in/andrei-alex-taranu/`},\"andrew-baxter\":{\"name\":`Andrew Baxter`},\"andrew-melck\":{\"name\":`Andrew Melck`},\"antoine-crochet-damais\":{\"name\":`Antoine Crochet Damais`},\"augustin-delaporte\":{\"name\":`Augustin Delaporte`,\"linkedin\":`https://www.linkedin.com/in/augustindelaporte/`},\"branislav-bujisic\":{\"name\":`Branislav Bujisic`},\"carl-smith\":{\"name\":`Carl Smith`},\"caroline-leroy\":{\"name\":`Caroline Leroy`},\"cati-mayer\":{\"name\":`Cati Mayer`},\"catplat\":{\"name\":`C Trinkwon`},\"ceelolulu\":{\"name\":`Celeste van der Watt`},\"chadwcarlson\":{\"name\":`Chad Carlson`,\"github\":`chadwcarlson`,\"linkedin\":`https://www.linkedin.com/in/chadwcarlson`},\"charles-moore\":{\"name\":`Charles Moore`,\"linkedin\":`https://www.linkedin.com/in/charles-g-moore/`},\"chris-ward\":{\"name\":`Chris Ward`},\"chris-yates\":{\"name\":`Chris Yates`},\"christian-sieber\":{\"name\":`Christian Sieber`},\"christopher-lockheardt\":{\"name\":`Christopher Lockheardt`},\"christopher-skene\":{\"name\":`Christopher Skene`},\"chuck-morgan\":{\"name\":`Chuck Morgan`},\"corey-dockendorf\":{\"name\":`Corey Dockendorf`},\"crell\":{\"name\":`Crell`},\"damz\":{\"name\":`Damz`},\"dan-morrison\":{\"name\":`Dan Morrison`},\"davidbonachera\":{\"name\":`David Bonachera`,\"github\":`davidbonachera`,\"linkedin\":`https://www.linkedin.com/in/davidbonachera`},\"dereliahmet1\":{\"name\":`Ahmet Faruk Dereli`},\"devicezero\":{\"name\":`Jonas Kröger`,\"github\":`devicezero`,\"linkedin\":`https://www.linkedin.com/in/jonaskroeger/`},\"doug-goldberg\":{\"name\":`Doug Goldberg`},\"duncan-naves\":{\"name\":`Duncan Naves`,\"github\":`duncannaves`,\"linkedin\":`https://www.linkedin.com/in/duncan-naves-a94423aa`},\"erika-bustamante\":{\"name\":`Erika Bustamante`},\"fabpot\":{\"name\":`Fabien Potencier`},\"flovntp\":{\"name\":`Florent Huck`,\"github\":`flovntp`,\"linkedin\":`https://www.linkedin.com/in/florenthuck`},\"fred-plais\":{\"name\":`Fred Plais`},\"gauthier-garnier\":{\"name\":`Gauthier Garnier`},\"gilzow\":{\"name\":`Paul Gilzow`},\"gmoigneu\":{\"name\":`Guillaume Moigneu`,\"github\":`gmoigneu`,\"linkedin\":`https://www.linkedin.com/in/guillaumemoigneu/`},\"gregqualls\":{\"name\":`Greg Qualls`},\"guguss\":{\"name\":`Augustin Delaporte`},\"haylee-millar\":{\"name\":`Haylee Millar`},\"ivana-kotur\":{\"name\":`Ivana Kotur`},\"jackrabbithanna\":{\"name\":`Mark Hanna`,\"github\":`jackrabbithanna`},\"jared-wright\":{\"name\":`Jared Wright`,\"github\":`jww-sh`,\"linkedin\":`https://www.linkedin.com/in/jaredwaynewright`},\"jessica-orozco\":{\"name\":`Jessica Orozco`},\"joey-stanford\":{\"name\":`Joey Stanford`},\"john-grubb\":{\"name\":`John Grubb`},\"jonas-kruger\":{\"name\":`Jonas Kruger`},\"kathryn-frazer\":{\"name\":`Kathryn Frazer`},\"kemiojo\":{\"name\":`Kemi Elizabeth Ojogbede`},\"kieronsambrook-smith\":{\"name\":`Kieronsambrook Smith`},\"laurent-arnoud\":{\"name\":`Laurent Arnoud`,\"linkedin\":`https://www.linkedin.com/in/laurent-arnoud-861b44121/`},\"letoya-boyne\":{\"name\":`Letoya Boyne`},\"lolautruche\":{\"name\":`Jérôme Vieilledent`},\"lyly-lepinay\":{\"name\":`Lyly Lepinay`},\"manauwar-alam\":{\"name\":`Manauwar Alam`},\"marc-antoine-porri\":{\"name\":`Marc Antoine Porri`},\"maria-antinkaapo\":{\"name\":`Maria Antinkaapo`},\"maria-de-anton\":{\"name\":`Maria De Anton`},\"mark-dorison\":{\"name\":`Mark Dorison`},\"markus-hausammann\":{\"name\":`Markus Hausammann`},\"mary-thomas\":{\"name\":`Mary Thomas`},\"mathias-bolt-lesniak\":{\"name\":`Mathias Bolt Lesniak`},\"mathieu-strauch\":{\"name\":`Mathieu Strauch`},\"matthias-van-woensel\":{\"name\":`Matthias Van Woensel`,\"linkedin\":`https://www.linkedin.com/in/matthias-van-woensel-267a069`},\"maz-mohammadi\":{\"name\":`Maz Mohammadi`},\"michael-sharp\":{\"name\":`Michael Sharp`},\"mupsi\":{\"name\":`Marine Gandy`},\"natalie-harper\":{\"name\":`Natalie Harper`},\"ngommenginger\":{\"name\":`Nicolas Gommenginger`,\"linkedin\":`https://www.linkedin.com/in/nicolas-gommenginger`},\"nicholas-bennison\":{\"name\":`Nicholas Bennison`},\"nicholas-vahalik\":{\"name\":`Nicholas Vahalik`},\"nick-hardiman\":{\"name\":`Nick Hardiman`},\"nickanderegg\":{\"name\":`Nickanderegg`},\"nicolas-grekas\":{\"name\":`Nicolas Grekas`,\"github\":`nicolas-grekas`,\"linkedin\":`https://www.linkedin.com/in/nicolasgrekas/`},\"niti-malwade\":{\"name\":`Niti Malwade`},\"opensocialteam\":{\"name\":`Opensocialteam`},\"ori-pekelman\":{\"name\":`Ori Pekelman`},\"otavio-santana\":{\"name\":`Otavio Santana`},\"palwandi\":{\"name\":`Pawan Alwandi`,\"github\":`pawpy`,\"linkedin\":`https://www.linkedin.com/in/pawanalwandi`},\"patrick-boest\":{\"name\":`Patrick Boest`},\"patrick-dawkins\":{\"name\":`Patrick Dawkins`,\"github\":`pjcdawkins`,\"linkedin\":`https://www.linkedin.com/in/patrickdawkins`},\"patrick-klima\":{\"name\":`Patrick Klima`},\"pjcdawkins\":{\"name\":`Pjcdawkins`},\"prineet-kaurbhurji\":{\"name\":`Prineet Kaurbhurji`},\"quentin-sinig\":{\"name\":`Quentin Sinig`},\"ralt\":{\"name\":`Florian Margaine`,\"github\":`ralt`,\"linkedin\":`https://www.linkedin.com/in/florian-margaine-43971136`},\"ramanathanramakrishnamurthy\":{\"name\":`Ramanathanramakrishnamurthy`},\"remi-lejeune\":{\"name\":`Rémi Lejeune`},\"ribel\":{\"name\":`Taras Kruts`},\"robert-douglass\":{\"name\":`Robert Douglass`},\"rudy-weber\":{\"name\":`Rudy Weber`},\"ryan-hicks\":{\"name\":`Ryan Hicks`},\"sabri-helal\":{\"name\":`Sabri Helal`},\"savannah-bergeron\":{\"name\":`Savannah Bergeron`},\"shannon-vettes\":{\"name\":`Shannon Vettes`},\"shawn-ogasawara\":{\"name\":`Shawn Ogasawara`,\"linkedin\":`https://www.linkedin.com/in/shawn-ogasawara-83a9a0/`},\"shawna-spoor\":{\"name\":`Shawna Spoor`},\"shedrack-akintayo\":{\"name\":`Shedrack Akintayo`},\"simon-ruggier\":{\"name\":`Simon Ruggier`},\"sophie-van-der-kindere\":{\"name\":`Sophie Van Der Kindere`},\"stefanos-thampis\":{\"name\":`Stefanos Thampis`},\"stephen-weinberg\":{\"name\":`Stephen Weinberg`},\"sukhman-virk\":{\"name\":`Sukhman Virk`},\"sumaira-nazir\":{\"name\":`Sumaira Nazir`},\"sumer\":{\"name\":`Sümer Cip`,\"noindex\":true,\"github\":`sumerc`,\"linkedin\":`https://www.linkedin.com/in/sumer-cip/`},\"syed-raza\":{\"name\":`Syed Raza`},\"tamara-bacchia\":{\"name\":`Tamara Bacchia`},\"tara-arnold\":{\"name\":`Tara Arnold`},\"theosakamg\":{\"name\":`Mickael Gaillard`,\"github\":`theosakamg`},\"thomasdiluccio\":{\"name\":`Thomas di Luccio`},\"tim-anderson\":{\"name\":`Tim Anderson`},\"tom-helmer-hansen\":{\"name\":`Tom Helmer Hansen`},\"tylermills\":{\"name\":`Tyler Mills`},\"upsun\":{\"name\":`Upsun`},\"veronika-tolkachova\":{\"name\":`Veronika Tolkachova`,\"linkedin\":`https://www.linkedin.com/in/veronika-tolkachova-169167a2`},\"vince-parker\":{\"name\":`Vince Parker`},\"vinnie-russo\":{\"name\":`Vincenzo Russo`},\"vrobert78\":{\"name\":`Vincent Robert`,\"github\":`vrobert78`,\"linkedin\":`https://www.linkedin.com/in/vincent-robert-498a883`},\"yuriy-babenko\":{\"name\":`Yuriy Babenko`},\"yuriy-gerasimov\":{\"name\":`Yuriy Gerasimov`}};return _jsx(`div`,{className:`post-meta`,children:(authors.length>0||formattedDate)\u0026\u0026_jsxs(`div`,{className:`post-meta-info`,children:[authors.length>0\u0026\u0026_jsx(`div`,{className:`post-meta-authors`,children:authors.map(slug=>{const{name,url,avatarUrl}=resolveAuthor(slug);const inner=_jsxs(_Fragment,{children:[avatarUrl\u0026\u0026_jsx(`img`,{src:avatarUrl,alt:name,className:`post-meta-avatar`}),_jsx(`span`,{className:`post-meta-author-name`,children:name})]});return url?_jsx(_components.a,{href:url,className:`post-meta-author`,children:inner},slug):_jsx(`span`,{className:`post-meta-author`,children:inner},slug)})}),authors.length>0\u0026\u0026formattedDate\u0026\u0026_jsx(`span`,{className:`post-meta-separator`,\"aria-hidden\":`true`,children:`·`}),formattedDate\u0026\u0026_jsx(`span`,{className:`post-meta-date`,children:formattedDate})]})})};function _createMdxContent(props){const _components={blockquote:`blockquote`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,OptimizedImage,_MdxComponentBoundary}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`PostMeta`,children:_jsx(PostMeta,{data:{author:[`gmoigneu`],date:`2026-01-30T18:00:00.000Z`,image:`/images/posts/ai/will-ai-make-software-companies-worthless/thumbnail.webp`}})}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`“If AI gets to the point where anybody can easily create any software, what will happen to all these software companies? Do they just become worthless?”`}),`\n`]}),`\n`,_jsx(_components.p,{children:`That question recently sparked a 200+ comment thread on Reddit. And it’s not hard to see why people are asking it. Earlier this year at Davos, Anthropic CEO Dario Amodei said something that got a lot of attention: “I have engineers within Anthropic who say, ‘I don’t write any code anymore. I just let the model write the code. I edit it.’” He went on to predict that AI might handle “most, maybe all” of what software engineers do within six to twelve months.`}),`\n`,_jsx(_components.p,{children:`When the CEO of one of the most advanced AI companies says his own engineers have stopped writing code, it’s worth paying attention. So is the software industry headed for collapse?`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`The short answer: no. But the long answer is more interesting.`})}),`\n`,_jsx(_components.p,{children:`This question fundamentally misunderstands what a software company actually is.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-sandwich-shop-paradox`,children:`The sandwich shop paradox`}),`\n`,_jsx(_components.p,{children:`Think about restaurants for a second. Anyone can make a sandwich. You’ve got bread, some meat, maybe cheese, whatever sauce you like. Five minutes, done. So why do sandwich shops exist? Why isn’t the entire restaurant industry collapsing under the weight of home kitchens?`}),`\n`,_jsx(_components.p,{children:`Because making a sandwich isn’t the same as running a sandwich shop.`}),`\n`,_jsx(_components.p,{children:`People pay for convenience. They pay for consistency. They pay for not having to clean up afterward. They pay for the expertise that makes a sandwich better than what they’d throw together at home. And they pay for the entire experience surrounding that sandwich.`}),`\n`,_jsx(_components.p,{children:`Software works the same way. The code is the sandwich. But the business? That’s everything else.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-1/3-rule`,children:`The 1/3 rule`}),`\n`,_jsx(_components.p,{children:`Here’s a reality check that often gets lost in these conversations. Take a software company with 300 employees like Upsun. How many of them write code? Maybe 100. A third at best.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=370d250c30d18a6df986d1d3e9851a31`,alt:`build`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`638`,height:`638`,\"data-path\":`images/posts/ai/will-ai-make-software-companies-worthless/pie.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?w=280\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=6793ec1a69204fe7d1ed88f4addd2aec 280w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?w=560\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=13fa7da26e939258f0d89a28aad85e01 560w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?w=840\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=3e5fefb17307e6b97015ad08da34506a 840w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=ab6884eefdb200c5284e26284b8936a4 1100w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=27061da2f6c9c5664369aae6f01bb90b 1650w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/pie.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=7dcd348000f266377919666a9047f170 2500w`}),`\n`,_jsx(_components.p,{children:`The other two-thirds? Sales, marketing, customer success, legal, finance, HR, operations, security, compliance, support. The people who answer the phone when something breaks at 2 AM. The folks who handle enterprise contracts and negotiate SLAs. The team that ensures you’re GDPR compliant and won’t get sued into oblivion.`}),`\n`,_jsx(_components.p,{children:`AI can help you write code. It can’t (yet) replace the entire organizational machinery that turns code into a business. A solo developer with AI can build an app. Building a company that supports thousands of customers across multiple time zones, handles their data securely, maintains uptime guarantees, and evolves the product based on market demands? That’s a different beast entirely.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-software-is-not-the-same-as-keeping-it-running`,children:`Creating software is not the same as keeping it running`}),`\n`,_jsx(_components.p,{children:`This is where the “anyone can build software” argument falls apart. Because building is the fun part. It’s the honeymoon phase. Everything works in your dev environment, your demo looks slick, and you’re feeling pretty good about yourself.`}),`\n`,_jsx(_components.p,{children:`Then reality hits.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=63f1dcbb02180a9ba87ae18dc47bdb2b`,alt:`build`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`354`,height:`354`,\"data-path\":`images/posts/ai/will-ai-make-software-companies-worthless/build.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?w=280\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=60931c2d48ba267ecb4c08dc11c16059 280w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?w=560\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=591612b90f601e0a93434ab23e4cd673 560w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?w=840\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=e8d7b8be2a4d2319b85a053532772048 840w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=bafd6c7ddabca06ab9880dca1a2421af 1100w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=ca07bd4a0ea932939b7bca962aefed06 1650w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/build.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=851a9eb5421fc2a23a868e41e5a49cf3 2500w`}),`\n`,_jsx(_components.p,{children:`Your app needs to handle ten times the traffic you expected. A security vulnerability shows up in one of your dependencies. Users start requesting features you never anticipated. The database schema you designed in week one doesn’t scale to week fifty. Some edge case you never considered crashes the whole thing.`}),`\n`,_jsx(_components.p,{children:`Maintenance, security, scalability, updates, patches, monitoring, incident response. This is where software gets expensive. This is where it gets hard. And this is where most vibe-coded projects go to die.`}),`\n`,_jsx(_components.p,{children:`Professional software companies have entire teams dedicated to keeping things running. They have on-call rotations, automated testing pipelines, staging environments, rollback procedures, and years of accumulated knowledge about what can go wrong. A weekend project built with AI prompts doesn’t have any of that.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-vibe-coder-ceiling`,children:`The vibe coder ceiling`}),`\n`,_jsx(_components.p,{children:`Let’s talk about vibe coding for a minute. It’s a real phenomenon. Non-technical people are building functional apps by conversing with AI. They’re creating personal tools, automating workflows, and prototyping ideas that would have required a developer a few years ago.`}),`\n`,_jsx(_components.p,{children:`This is genuinely impressive. And it’s genuinely useful. But it has a ceiling.`}),`\n`,_jsx(_components.p,{children:`Vibe coders hit walls. Weird bugs they can’t diagnose. Performance issues they don’t understand. Security flaws they can’t even see. The AI can get you 80% of the way there, sometimes 90%. But that last 10% often requires understanding what’s actually happening under the hood.`}),`\n`,_jsx(_components.p,{children:`Here’s a typical scenario: someone builds a personal CRM with AI assistance. Works great for the first 500 contacts. Then the searches start slowing down. The app hangs when loading lists. The AI suggests adding indexes, but the vibe coder doesn’t know which ones or why. They copy-paste the solution, and it helps for a while. Then another bottleneck appears. And another. Each fix creates new complexity they don’t fully understand.`}),`\n`,_jsx(_components.p,{children:`Eventually, the codebase becomes a house of cards. It works, mostly, but nobody knows why. And when it stops working, nobody knows how to fix it without potentially breaking something else.`}),`\n`,_jsx(_components.p,{children:`And when you’re running a business on that software? When customers depend on it? When there’s money and reputation on the line? That’s when the ceiling becomes a serious problem.`}),`\n`,_jsx(_components.p,{children:`Professional developers aren’t going away. What’s changing is what they spend their time on. Less boilerplate, more architecture. Less repetitive CRUD, more complex problem-solving. The entry bar for creating something has dropped. The bar for creating something reliable, secure, and scalable hasn’t moved much at all.`}),`\n`,_jsx(Heading,{level:`2`,id:`software-companies-get-ai-too`,children:`Software companies get AI too`}),`\n`,_jsx(_components.p,{children:`Here’s something the doomsayers often forget: software companies also have access to AI.`}),`\n`,_jsx(_components.p,{children:`If AI makes individual developers more productive, it makes development teams more productive too. The company that previously needed 50 engineers to build and maintain a product might need 30 now. Or those 50 engineers can build something three times as complex.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=dd26b133e38975ee3ec32012e50ca60c`,alt:`build`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`638`,height:`638`,\"data-path\":`images/posts/ai/will-ai-make-software-companies-worthless/team.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?w=280\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=fd4b82b6ba82ff1e3611eb13e98e1857 280w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?w=560\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=20fdaa7f80bec3d63b26557208784fa8 560w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?w=840\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=c1e577b489ca2cb52f032e6b0a28d86a 840w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=3c05ca1eff54a9689f8df135a28b01f9 1100w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=82cbc44a9ea15dac16dd85462e28018c 1650w, https://mintcdn.com/upsun-c9761871/ZBMwngApLEEeuab_/images/posts/ai/will-ai-make-software-companies-worthless/team.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=ZBMwngApLEEeuab_\u0026q=85\u0026s=cb31c897d3bd0cbab967b8acf50386d2 2500w`}),`\n`,_jsx(_components.p,{children:`Software companies aren’t standing still while the world changes around them. They’re adopting the same tools, automating their own workflows, and using AI to extend their capabilities. The competitive dynamics shift, but the gap between professional operations and amateur builds doesn’t necessarily shrink.`}),`\n`,_jsx(_components.p,{children:`In fact, it might widen. A well-funded company with experienced engineers using AI effectively can produce software at a pace and quality level that a solo vibe coder can’t match. The tools are the same, but the expertise in wielding them isn’t.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-real-victims-simple-saas-and-indie-hackers`,children:`The real victims: simple SaaS and indie hackers`}),`\n`,_jsx(_components.p,{children:`Alright, so total industry collapse isn’t happening. But that doesn’t mean everyone survives unscathed.`}),`\n`,_jsx(_components.p,{children:`Simple, single-purpose SaaS apps are in trouble. The habit tracker. The basic CRM. The minimal project management tool. The productivity app that does one thing reasonably well.`}),`\n`,_jsx(_components.p,{children:`These are exactly the kinds of products that motivated individuals can now build for themselves. Why pay $10 a month for a habit tracker when you can spend a weekend building one that does exactly what you want, customized to your specific workflow, with no subscription fees?`}),`\n`,_jsx(_components.p,{children:`People are doing this. They’re canceling subscriptions and building personal tools. Not everyone, but enough to matter. The market for commoditized, undifferentiated software is getting squeezed.`}),`\n`,_jsx(_components.p,{children:`Indie hackers building small products face similar pressure. The barrier to entry has dropped, which means more competition. And when your product is something an AI-assisted weekend project can replicate, your differentiation disappears.`}),`\n`,_jsx(_components.p,{children:`The math used to work like this: spend months building something, charge enough users $10/month, reach sustainable revenue. Now the equation changes. Potential customers look at your product, think “I could build that,” and some of them actually do. Your total addressable market shrinks. Your conversion rates drop. The users who do sign up expect lower prices because they know the alternative.`}),`\n`,_jsx(_components.p,{children:`This doesn’t mean all indie products are doomed. Unique value propositions, strong communities, excellent support, and genuine expertise still matter. But “I built a thing that works” isn’t enough anymore when anyone can build a thing that works.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-enterprise-moat`,children:`The enterprise moat`}),`\n`,_jsx(_components.p,{children:`On the other end of the spectrum, enterprise software looks pretty safe.`}),`\n`,_jsx(_components.p,{children:`Think Adobe, Microsoft, Salesforce, SAP. These companies aren’t selling code. They’re selling ecosystems. Integrations with hundreds of other tools. Compliance certifications that took years to obtain. Support contracts with guaranteed response times. Training programs and consultants who know the product inside out. Decades of accumulated features that address every edge case in every industry.`}),`\n`,_jsx(_components.p,{children:`No amount of vibe coding replicates that. You might be able to prompt your way to a basic photo editor or a simple CRM. You’re not prompting your way to Photoshop or Salesforce. The complexity is too deep, the ecosystem too interconnected, the trust too hard-earned.`}),`\n`,_jsx(_components.p,{children:`Consider what it actually takes to sell software to a large enterprise. Security audits. SOC 2 compliance. GDPR readiness. Integration with their existing identity provider. Custom SLAs. Dedicated account management. The ability to survive a procurement process that takes six months and involves legal, security, IT, and finance teams.`}),`\n`,_jsx(_components.p,{children:`A solo developer with an AI-built app can’t offer any of that. The software itself might be functionally equivalent for a narrow use case. Everything surrounding it isn’t even close.`}),`\n`,_jsx(_components.p,{children:`Enterprise buyers aren’t looking for the cheapest option. They’re looking for the safest option. The vendor who’ll still be around in five years. The platform that won’t collapse when their business depends on it. AI makes building things easier, but it doesn’t make building trust easier.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-race-to-the-bottom-and-what-lies-beyond`,children:`The race to the bottom (and what lies beyond)`}),`\n`,_jsx(_components.p,{children:`For simple apps, expect a race to the bottom. Prices will drop. Competition will intensify. Products that don’t differentiate will struggle.`}),`\n`,_jsx(_components.p,{children:`But markets have a way of finding equilibrium. When everyone can build basic software, basic software stops being valuable. The premium moves to complexity, reliability, and service. The businesses that survive will be the ones that offer something beyond “it works.”`}),`\n`,_jsx(_components.p,{children:`Customer relationships matter more. Support quality matters more. Institutional knowledge matters more. Brand trust matters more. All the things that AI can’t easily replicate become the differentiators.`}),`\n`,_jsx(_components.p,{children:`We’ll probably see a boom in personal tools. People building exactly what they need, for themselves, maintained as long as they care to maintain it. That’s fine. That’s even good. It doesn’t eliminate the need for professional software any more than home cooking eliminates restaurants.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-uncomfortable-question`,children:`The uncomfortable question`}),`\n`,_jsx(_components.p,{children:`Of course, clients are already asking it: “Can’t you do this with AI for one-tenth the price?”`}),`\n`,_jsx(_components.p,{children:`The honest answer is: sometimes, yes. For straightforward tasks, AI dramatically reduces the effort required. Pricing models will adjust. Expectations will shift. The market will recalibrate.`}),`\n`,_jsx(_components.p,{children:`But the follow-up question matters more: “And who’s going to maintain it? Who’s on call when it breaks? Who’s liable when something goes wrong? Who’s going to update it when requirements change?”`}),`\n`,_jsx(_components.p,{children:`Building software has gotten cheaper. Running a software business hasn’t. And as long as that gap exists, software companies have a reason to exist too.`}),`\n`,_jsx(Heading,{level:`2`,id:`where-this-leaves-us`,children:`Where this leaves us`}),`\n`,_jsx(_components.p,{children:`AI isn’t making software companies worthless. It’s making bad software companies worthless. The ones coasting on complexity that AI can now handle. The ones whose only value proposition was “we can write code and you can’t.”`}),`\n`,_jsx(_components.p,{children:`The companies that survive and thrive will be the ones that always understood: the code was never the whole product. The business is the product. The reliability is the product. The support is the product. The trust is the product.`}),`\n`,_jsx(_components.p,{children:`If your entire value can be replicated by someone with a laptop and a ChatGPT subscription, you had a problem before AI came along. You were selling a commodity and charging for scarcity.`}),`\n`,_jsx(_components.p,{children:`The scarcity is gone. Time to sell something else.`}),`\n`,_jsx(_components.p,{children:`The software industry has survived paradigm shifts before. The rise of open source didn’t kill proprietary software companies. Cloud computing didn’t eliminate the need for software vendors. Each wave changed who won and who lost, but the industry adapted.`}),`\n`,_jsx(_components.p,{children:`AI is the next wave. It’ll reshape the landscape, not erase it. The winners will be the companies that understand what they’re really selling has never been code. It’s always been everything around it.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{PostMeta,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Will AI make software companies worthless?","subtitle":"","date":"2026-01-30T18:00:00.000Z","image":"/images/posts/ai/will-ai-make-software-companies-worthless/thumbnail.webp","icon":"tutorial","featured":true,"author":["gmoigneu"],"sidebar":{"exclude":true},"type":"post","description":"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.","tags":["ai","vibe coding","business","future"],"categories":["ai"],"math":false,"updated":"2026-01-30T17:29:54.680Z","href":"/posts/ai/will-ai-make-software-companies-worthless"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[144,8703,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"The sandwich shop paradox","slug":"the-sandwich-shop-paradox","depth":2,"children":[]},{"title":"The 1/3 rule","slug":"the-1/3-rule","depth":2,"children":[]},{"title":"Creating software is not the same as keeping it running","slug":"creating-software-is-not-the-same-as-keeping-it-running","depth":2,"children":[]},{"title":"The vibe coder ceiling","slug":"the-vibe-coder-ceiling","depth":2,"children":[]},{"title":"Software companies get AI too","slug":"software-companies-get-ai-too","depth":2,"children":[]},{"title":"The real victims: simple SaaS and indie hackers","slug":"the-real-victims-simple-saas-and-indie-hackers","depth":2,"children":[]},{"title":"The enterprise moat","slug":"the-enterprise-moat","depth":2,"children":[]},{"title":"The race to the bottom (and what lies beyond)","slug":"the-race-to-the-bottom-and-what-lies-beyond","depth":2,"children":[]},{"title":"The uncomfortable question","slug":"the-uncomfortable-question","depth":2,"children":[]},{"title":"Where this leaves us","slug":"where-this-leaves-us","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/upsun-c9761871/426c6190a2163560/sidebar-fix.js","/_mintlify/custom/upsun-c9761871/af4757650ec2f1cc/search-override.js"],"subdomain":"upsun-c9761871","siteName":"Upsun Developer","title":"Will AI make software companies worthless? - Upsun Developer","contextualStarterQuestions":[{"_id":"6ace00214516b452262748c1","deploymentId":"696781be74d50424a2a74647","questionText":"What's the future of software business?","status":"active","generatedBy":"contextual","path":"posts/ai/will-ai-make-software-companies-worthless","createdAt":"2026-10-13T09:55:45.829Z","updatedAt":"2026-10-13T09:55:45.829Z","__v":0},{"_id":"6ace00214516b452262748bf","deploymentId":"696781be74d50424a2a74647","questionText":"Does AI eliminate software companies?","status":"active","generatedBy":"contextual","path":"posts/ai/will-ai-make-software-companies-worthless","createdAt":"2026-10-13T09:55:45.829Z","updatedAt":"2026-10-13T09:55:45.829Z","__v":0},{"_id":"6ace00214516b452262748c0","deploymentId":"696781be74d50424a2a74647","questionText":"How do software firms stay relevant?","status":"active","generatedBy":"contextual","path":"posts/ai/will-ai-make-software-companies-worthless","createdAt":"2026-10-13T09:55:45.829Z","updatedAt":"2026-10-13T09:55:45.829Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-13T09:54:51.158Z","gitLastModified":"2026-04-27T14:52:26.000Z","originalFileLocation":"posts/ai/will-ai-make-software-companies-worthless.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=\"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Upsun Developer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_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/upsun-c9761871/rMHAq1HO1s16sbdD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Will AI make software companies worthless? - Upsun Developer\">\u003cmeta data-mint-head property=\"og:description\" content=\"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Upsun Developer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://upsun-c9761871.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Will+AI+make+software+companies+worthless%3F\u0026amp;description=If+anyone+can+build+software+with+AI%2C+do+software+companies+still+matter%3F+The+answer+is+more+nuanced+than+you+might+think.\u0026amp;theme=a5db750ae46123aa22d266f2\u0026amp;signature=500831201cc001406c2dc3d67f401dc7120fc27361c294c098a162c8e94ed204\">\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=\"Will AI make software companies worthless? - Upsun Developer\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upsun-c9761871.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Will+AI+make+software+companies+worthless%3F\u0026amp;description=If+anyone+can+build+software+with+AI%2C+do+software+companies+still+matter%3F+The+answer+is+more+nuanced+than+you+might+think.\u0026amp;theme=a5db750ae46123aa22d266f2\u0026amp;signature=500831201cc001406c2dc3d67f401dc7120fc27361c294c098a162c8e94ed204\">\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/upsun-c9761871/rMHAq1HO1s16sbdD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Upsun Developer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6046ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/posts/ai/will-ai-make-software-companies-worthless.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.upsun.com/#organization\",\"name\":\"Upsun Developer\",\"url\":\"https://developer.upsun.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/upsun-c9761871/WSCgazBk0GWUPP4l/logo/Upsun-dev-center-light.svg?fit=max\u0026auto=format\u0026n=WSCgazBk0GWUPP4l\u0026q=85\u0026s=c35e42815c3d17de292fb0a86d41aa5f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.upsun.com#website\",\"name\":\"Upsun Developer\",\"url\":\"https://developer.upsun.com\",\"publisher\":{\"@id\":\"https://developer.upsun.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless#webpage\",\"url\":\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless\",\"name\":\"Will AI make software companies worthless?\",\"description\":\"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.\",\"dateModified\":\"2026-04-27T14:52:26.000Z\",\"isPartOf\":{\"@id\":\"https://developer.upsun.com#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless#article\",\"headline\":\"Will AI make software companies worthless?\",\"name\":\"Will AI make software companies worthless?\",\"description\":\"If anyone can build software with AI, do software companies still matter? The answer is more nuanced than you might think.\",\"url\":\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless\",\"mainEntityOfPage\":{\"@id\":\"https://developer.upsun.com/posts/ai/will-ai-make-software-companies-worthless#webpage\"},\"dateModified\":\"2026-04-27T14:52:26.000Z\",\"publisher\":{\"@id\":\"https://developer.upsun.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.upsun.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Upsun Developer\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Upsun Developer","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Home","icon":"house","pages":[{"mode":"custom","title":"Upsun Developer Center","href":""}]},{"tab":"Dispatch","icon":"https://mintlify.s3.us-west-1.amazonaws.com/upsun-c9761871/images/icons/dispatch.svg","anchors":[{"anchor":"Docs","icon":"book","pages":[{"mode":"custom","title":"Upsun Dispatch","href":"/dispatch"},{"group":"Get Started","icon":"rocket","expanded":false,"pages":[{"title":"Get Started with Upsun Dispatch","sidebarTitle":"Get Started","href":"/dispatch/docs/get-started/index"},{"title":"Quickstart","href":"/dispatch/docs/get-started/quickstart"},{"title":"Free and paid usage","href":"/dispatch/docs/get-started/free-and-paid-usage"},{"title":"Get support","href":"/dispatch/docs/get-started/support"}]},{"group":"Integrations","icon":"link","expanded":false,"pages":[{"title":"Integration overview","sidebarTitle":"Integration overview","href":"/dispatch/docs/integrations/index"},{"group":"VCS integrations","expanded":true,"pages":[{"title":"Set up GitHub","sidebarTitle":"GitHub","href":"/dispatch/docs/integrations/github"},{"title":"Set up GitLab","sidebarTitle":"GitLab","href":"/dispatch/docs/integrations/gitlab"}]},{"group":"Ticketing integrations","expanded":true,"pages":[{"title":"Set up Jira","sidebarTitle":"Jira","href":"/dispatch/docs/integrations/jira"},{"title":"Set up Linear","sidebarTitle":"Linear","href":"/dispatch/docs/integrations/linear"}]},{"group":"Notification integrations","expanded":true,"pages":[{"title":"Set up Slack","sidebarTitle":"Slack","href":"/dispatch/docs/integrations/slack"}]}]},{"group":"Workflows","icon":"workflow","expanded":false,"pages":[{"title":"Workflows in Upsun Dispatch","sidebarTitle":"Concept","href":"/dispatch/docs/workflows/index"},{"group":"Built-in workflows","root":{"title":"Built-in workflows","sidebarTitle":"Built-in workflows","href":"/dispatch/docs/workflows/builtin"},"expanded":true,"pages":[{"title":"Code review","sidebarTitle":"Code review","href":"/dispatch/docs/workflows/code-review"},{"title":"Issue to code","sidebarTitle":"Issue to code","href":"/dispatch/docs/workflows/issue-to-code"},{"title":"CVE scan","sidebarTitle":"CVE scan","href":"/dispatch/docs/workflows/cve-scan"}]}]},{"group":"Manage","icon":"layout-grid","expanded":false,"pages":[{"title":"Use the Upsun Dispatch console","href":"/dispatch/docs/dashboard/index"}]}]}]},{"tab":"Cloud","icon":"https://mintlify.s3.us-west-1.amazonaws.com/upsun-c9761871/images/icons/cloud.svg","anchors":[{"anchor":"Docs","icon":"book","pages":[{"mode":"custom","title":"Upsun Cloud","href":"/cloud"},{"group":"Get Started","icon":"rocket","expanded":false,"pages":[{"title":"Get Started with Upsun Cloud","sidebarTitle":"Quickstart","href":"/docs/get-started/index"},{"group":"Setup Guide","root":{"title":"Getting started with Upsun Cloud","sidebarTitle":"Introduction","href":"/docs/get-started/here/index"},"pages":[{"title":"Setup","href":"/docs/get-started/here/setup"},{"title":"Create a project","href":"/docs/get-started/here/create-project"},{"group":"Configure your project","root":{"title":"Configure your project","href":"/docs/get-started/here/configure/index"},"pages":[{"title":"JavaScript/Node.js","href":"/docs/get-started/here/configure/nodejs"},{"title":"PHP","href":"/docs/get-started/here/configure/php"},{"title":"Python","href":"/docs/get-started/here/configure/python"}]},{"title":"Set resources","href":"/docs/get-started/here/set-resources"},{"title":"Make changes to your project","sidebarTitle":"Revisions","href":"/docs/get-started/here/make-changes"},{"group":"Local development","root":{"title":"Local development","href":"/docs/get-started/here/local/index"},"pages":[{"title":"Tethered","href":"/docs/get-started/here/local/tethered"}]},{"title":"Third party integrations","href":"/docs/get-started/here/third-party"},{"title":"Get support","href":"/docs/get-started/here/support"}]},{"group":"Pick a Stack","root":{"title":"How to deploy","sidebarTitle":"Overview","href":"/docs/get-started/stacks/index"},"pages":[{"group":"PHP","root":{"title":"Deploy PHP apps on Upsun Cloud","sidebarTitle":"Overview","href":"/docs/get-started/stacks/php"},"pages":[{"group":"Laravel","root":{"title":"Deploy Laravel on Upsun Cloud","sidebarTitle":"Laravel","href":"/docs/get-started/stacks/laravel/index"},"pages":[{"title":"Get started","sidebarTitle":"Get started","href":"/docs/get-started/stacks/laravel/get-started"},{"title":"Configure environment variables","sidebarTitle":"Environment variables","href":"/docs/get-started/stacks/laravel/environment-variables"},{"title":"Set up cron jobs","sidebarTitle":"Cron jobs","href":"/docs/get-started/stacks/laravel/crons"},{"title":"Set up Redis","sidebarTitle":"Set up Redis","href":"/docs/get-started/stacks/laravel/setup-redis"},{"title":"Manage continuous observability with Upsun Blackfire","sidebarTitle":"Upsun Blackfire","href":"/docs/get-started/stacks/laravel/blackfire"},{"title":"Handle queues with Horizon","sidebarTitle":"Handle queues with Horizon","href":"/docs/get-started/stacks/laravel/laravel-horizon"},{"title":"Debug with Laravel Telescope","sidebarTitle":"Debug with Laravel Telescope","href":"/docs/get-started/stacks/laravel/laravel-telescope"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/docs/get-started/stacks/laravel/faq"}]},{"group":"Symfony","root":{"title":"Deploy Symfony on Upsun Cloud","sidebarTitle":"Symfony","href":"/docs/get-started/stacks/symfony/index"},"pages":[{"title":"Get started","sidebarTitle":"Get started","href":"/docs/get-started/stacks/symfony/get-started"},{"title":"Configure environment variables","href":"/docs/get-started/stacks/symfony/environment-variables"},{"title":"Set up cron jobs","sidebarTitle":"Cron jobs","href":"/docs/get-started/stacks/symfony/crons"},{"title":"Configure workers","sidebarTitle":"Workers","href":"/docs/get-started/stacks/symfony/workers"},{"title":"Manage continuous observability with Upsun Blackfire","sidebarTitle":"Upsun Blackfire","href":"/docs/get-started/stacks/symfony/blackfire"},{"title":"Symfony integration","sidebarTitle":"Symfony integration","href":"/docs/get-started/stacks/symfony/integration"},{"title":"Local development","sidebarTitle":"Local development","href":"/docs/get-started/stacks/symfony/local"},{"title":"Symfony CLI Tips","sidebarTitle":"Symfony CLI Tips","href":"/docs/get-started/stacks/symfony/symfony-cli-tips"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/docs/get-started/stacks/symfony/faq"}]}]},{"group":"JavaScript","root":{"title":"Deploy JavaScript apps on Upsun Cloud","sidebarTitle":"Overview","href":"/docs/get-started/stacks/javascript"},"pages":[{"title":"Deploy Next.js on Upsun Cloud","sidebarTitle":"Next.js","href":"/docs/get-started/stacks/nextjs"},{"group":"Express","root":{"title":"Deploy Express on Upsun Cloud","sidebarTitle":"Express","href":"/docs/get-started/stacks/express/index"},"pages":[{"title":"Add a database to Express","href":"/docs/get-started/stacks/express/add-database"}]},{"group":"Strapi","root":{"title":"Deploy Strapi on Upsun Cloud","sidebarTitle":"Strapi","href":"/docs/get-started/stacks/strapi/index"},"pages":[{"title":"Add a database to Strapi","sidebarTitle":"Add a database to Strapi","href":"/docs/get-started/stacks/strapi/add-database"}]}]},{"group":"Python","root":{"title":"Deploy Python apps on Upsun Cloud","sidebarTitle":"Overview","href":"/docs/get-started/stacks/python"},"pages":[{"title":"Deploy Django on Upsun Cloud","sidebarTitle":"Django","href":"/docs/get-started/stacks/django"},{"title":"Deploy Flask on Upsun Cloud","sidebarTitle":"Flask","href":"/docs/get-started/stacks/flask"}]},{"group":"AI","root":{"title":"How to deploy AI","href":"/docs/get-started/ai/index"},"pages":[{"title":"Host AI Agents","sidebarTitle":"AI Agents","href":"/docs/get-started/ai/aiagent"},{"title":"Hosting Model Context Protocol (MCP) Servers","sidebarTitle":"Deploy MCP","href":"/docs/get-started/ai/deploy-mcp"},{"title":"The Upsun MCP Server","href":"/docs/get-started/ai/using-the-mcp"},{"title":"Upsun Cloud performance agent","href":"/docs/get-started/ai/upsun-cloud-performance-agent"},{"title":"Upsun Cloud log-analyzer agent","href":"/docs/get-started/ai/upsun-cloud-log-analyzer-agent"}]}]}]},{"group":"Core Concepts","icon":"layers","expanded":false,"pages":[{"group":"How Upsun Cloud Works","root":{"title":"What is Upsun Cloud?","sidebarTitle":"What is Upsun Cloud?","href":"/docs/core-concepts/index"},"pages":[{"title":"Philosophy","href":"/docs/core-concepts/philosophy"}]},{"group":"Workflow Overview","root":{"title":"Workflow Overview","href":"/docs/core-concepts/workflow"},"pages":[{"group":"YAML","root":{"title":"YAML","href":"/docs/core-concepts/yaml/index"},"pages":[{"title":"What YAML is","href":"/docs/core-concepts/yaml/what-is-yaml"},{"title":"Upsun Cloud YAML structure","href":"/docs/core-concepts/yaml/yaml-structure"},{"title":"Upsun Cloud YAML tags","href":"/docs/core-concepts/yaml/platform-yaml-tags"}]},{"title":"Structure","href":"/docs/core-concepts/structure"},{"title":"Get support","href":"/docs/core-concepts/get-support"}]},{"group":"Using Upsun Cloud Effectively","root":{"title":"Using Upsun Cloud Effectively","sidebarTitle":"Best practices","href":"/docs/core-concepts/best-practices/index"},"pages":[{"title":"HTTP caching","href":"/docs/core-concepts/best-practices/http-caching"},{"title":"From monoliths through headless to microservices","sidebarTitle":"Monolith, headless or microservices?","href":"/docs/core-concepts/best-practices/oneormany"},{"title":"Keep your Git repository clean","sidebarTitle":"Clean repository","href":"/docs/core-concepts/best-practices/clean-repository"}]},{"group":"Common Tasks","root":{"title":"Common Tasks","sidebarTitle":"Common Tasks","href":"/docs/core-concepts/common-tasks/index"},"pages":[{"title":"Automate your code updates","sidebarTitle":"Automate your code updates","href":"/docs/core-concepts/common-tasks/dependency-updates"},{"title":"Restrict access to a service","sidebarTitle":"Restrict service access","href":"/docs/core-concepts/common-tasks/restrict-service-access"},{"title":"Exporting data","sidebarTitle":"Exporting data","href":"/docs/core-concepts/common-tasks/exporting"},{"title":"Upgrade to a maintained version of a runtime or service","sidebarTitle":"Upgrade runtimes and services","href":"/docs/core-concepts/upgrade-runtimes-services"}]}]},{"group":"Configure Apps \u0026 Services","icon":"settings","expanded":false,"pages":[{"group":"Configure apps","root":{"title":"Configure apps","sidebarTitle":"Overview","href":"/docs/configure-apps/index"},"pages":[{"group":"Image types","root":{"title":"Choose an image type","href":"/docs/configure-apps/app-reference/index"},"pages":[{"title":"Single-runtime image","href":"/docs/configure-apps/app-reference/single-runtime-image"},{"title":"Composable image","href":"/docs/configure-apps/app-reference/composable-image"}]},{"group":"Image properties","root":{"title":"Image properties","sidebarTitle":"Overview","href":"/docs/configure-apps/image-properties/index"},"pages":[{"title":"Access","href":"/docs/configure-apps/image-properties/access"},{"title":"Additional hosts","href":"/docs/configure-apps/image-properties/additional_hosts"},{"title":"Workload authorizations","sidebarTitle":"Authorizations","href":"/docs/configure-apps/image-properties/authorizations"},{"title":"Container profile","href":"/docs/configure-apps/image-properties/container_profile"},{"title":"Crons","href":"/docs/configure-apps/image-properties/crons"},{"title":"Hooks","href":"/docs/configure-apps/image-properties/hooks"},{"title":"Mounts","href":"/docs/configure-apps/image-properties/mounts"},{"title":"Relationships","href":"/docs/configure-apps/image-properties/relationships"},{"title":"Source","href":"/docs/configure-apps/image-properties/source"},{"title":"Variables","href":"/docs/configure-apps/image-properties/variables"},{"title":"Web","href":"/docs/configure-apps/image-properties/web"},{"title":"Workers","href":"/docs/configure-apps/image-properties/workers"}]},{"group":"Advanced","pages":[{"title":"Source operations","href":"/docs/configure-apps/source-operations"},{"title":"Runtime operations","href":"/docs/configure-apps/runtime-operations"},{"group":"Configure what's served","root":{"title":"Configure what's served","sidebarTitle":"Overview","href":"/docs/configure-apps/web/index"},"pages":[{"title":"Create a basic PHP app with a front controller","sidebarTitle":"PHP with front controller","href":"/docs/configure-apps/web/php-basic"},{"title":"Rewrite requests without redirects","sidebarTitle":"Rewrite requests","href":"/docs/configure-apps/web/rewrite-requests"},{"title":"Serve directories at different paths","sidebarTitle":"Serve different paths","href":"/docs/configure-apps/web/serve-different-directories"},{"title":"Serve static sites","sidebarTitle":"Static sites","href":"/docs/configure-apps/web/static"},{"title":"Set custom headers on static content","sidebarTitle":"Custom headers","href":"/docs/configure-apps/web/custom-headers"}]},{"group":"Multiple apps","root":{"title":"Set up multiple apps in a single project","sidebarTitle":"Overview","href":"/docs/configure-apps/multi-app/index"},"pages":[{"title":"Choose a project structure","href":"/docs/configure-apps/multi-app/project-structure"},{"title":"Define routes for your multiple apps","sidebarTitle":"Define routes","href":"/docs/configure-apps/multi-app/routes"},{"title":"Define relationships between your multiple apps","sidebarTitle":"Define relationships","href":"/docs/configure-apps/multi-app/relationships"}]},{"title":"Timezones","sidebarTitle":"Timezones","href":"/docs/configure-apps/timezone"},{"group":"Use build and deploy hooks","root":{"title":"Use build and deploy hooks","sidebarTitle":"Overview","href":"/docs/configure-apps/hooks/index"},"pages":[{"title":"Change hooks in different environments","href":"/docs/configure-apps/hooks/vary-hooks-by-environment"},{"title":"Comparison of hooks","href":"/docs/configure-apps/hooks/hooks-comparison"},{"title":"Use hooks with dependencies","href":"/docs/configure-apps/hooks/hooks-and-dependencies"}]},{"title":"Work with workers","sidebarTitle":"Work with workers","href":"/docs/configure-apps/workers"},{"title":"Configure tasks to run on-demand workloads and AI agents","sidebarTitle":"Task containers","href":"/docs/configure-apps/tasks"}]}]},{"group":"Languages","root":{"title":"Languages","sidebarTitle":"Overview","href":"/docs/languages/index"},"pages":[{"title":"C#/.NET Core","href":"/docs/languages/dotnet"},{"title":"Elixir","href":"/docs/languages/elixir"},{"title":"Go","href":"/docs/languages/go"},{"group":"Java","root":{"title":"Java","sidebarTitle":"Overview","href":"/docs/languages/java/index"},"pages":[{"title":"Moving a Java application to Upsun Cloud","sidebarTitle":"Moving to Upsun Cloud","href":"/docs/languages/java/migration"},{"title":"Performance tuning Java","sidebarTitle":"Tuning","href":"/docs/languages/java/tuning"}]},{"group":"JavaScript/Node.js","root":{"title":"JavaScript/Node.js","sidebarTitle":"Overview","href":"/docs/languages/nodejs/index"},"pages":[{"title":"Debugging","href":"/docs/languages/nodejs/debug"},{"title":"Manage Node.js versions","href":"/docs/languages/nodejs/node-version"}]},{"group":"PHP","root":{"title":"PHP","sidebarTitle":"Overview","href":"/docs/languages/php/index"},"pages":[{"title":"Extensions","href":"/docs/languages/php/extensions"},{"title":"PHP performance tuning","href":"/docs/languages/php/tuning"},{"title":"PHP-FPM sizing","href":"/docs/languages/php/fpm"},{"title":"FrankenPHP","sidebarTitle":"FrankenPHP","href":"/docs/languages/php/frankenphp"},{"title":"Using Xdebug","sidebarTitle":"Xdebug","href":"/docs/languages/php/xdebug"},{"title":"Custom Redis versions","sidebarTitle":"Custom Redis","href":"/docs/languages/php/redis"},{"title":"Swoole","sidebarTitle":"Swoole","href":"/docs/languages/php/swoole"},{"title":"Authenticated Composer repositories","sidebarTitle":"Authenticated Composer","href":"/docs/languages/php/composer-auth"},{"title":"Troubleshoot PHP","sidebarTitle":"Troubleshoot","href":"/docs/languages/php/troubleshoot"}]},{"group":"Python","root":{"title":"Python","sidebarTitle":"Overview","href":"/docs/languages/python/index"},"pages":[{"title":"Manage Python dependencies","sidebarTitle":"Manage dependencies","href":"/docs/languages/python/dependencies"},{"title":"Web servers","href":"/docs/languages/python/server"},{"title":"Manage Python versions in non-Python containers","sidebarTitle":"Python in non-Python containers","href":"/docs/languages/python/python-version"}]},{"title":"Ruby","href":"/docs/languages/ruby"},{"title":"Rust","href":"/docs/languages/rust"}]},{"group":"Services","root":{"title":"Add services","href":"/docs/add-services/index"},"pages":[{"title":"ClickHouse","href":"/docs/add-services/clickhouse"},{"title":"Elasticsearch and Enterprise Search (search service)","sidebarTitle":"Elasticsearch and Enterprise Search","href":"/docs/add-services/elasticsearch"},{"title":"Gotenberg","href":"/docs/add-services/gotenberg"},{"title":"Headless Chrome","href":"/docs/add-services/headless-chrome"},{"title":"InfluxDB (Database service)","sidebarTitle":"InfluxDB","href":"/docs/add-services/influxdb"},{"title":"Kafka (Message queue service)","sidebarTitle":"Kafka","href":"/docs/add-services/kafka"},{"title":"Memcached (Object cache)","sidebarTitle":"Memcached","href":"/docs/add-services/memcached"},{"title":"Mercure","sidebarTitle":"Mercure","href":"/docs/add-services/mercure"},{"title":"MongoDB (Database service)","sidebarTitle":"MongoDB","href":"/docs/add-services/mongodb"},{"group":"MariaDB/MySQL","root":{"title":"MariaDB/MySQL (database service)","sidebarTitle":"Overview","href":"/docs/add-services/mysql/index"},"pages":[{"title":"MariaDB read-only replication","sidebarTitle":"MariaDB read-only replication","href":"/docs/add-services/mysql/mysql-readonly-replication"},{"title":"MariaDB/MySQL external replication","sidebarTitle":"External replication","href":"/docs/add-services/mysql/mysql-replication"},{"title":"Troubleshoot MySQL","sidebarTitle":"Troubleshoot","href":"/docs/add-services/mysql/troubleshoot"}]},{"title":"Network Storage","href":"/docs/add-services/network-storage"},{"title":"OpenSearch (search service)","sidebarTitle":"OpenSearch","href":"/docs/add-services/opensearch"},{"group":"PostgreSQL","root":{"title":"PostgreSQL (Database service)","sidebarTitle":"Overview","href":"/docs/add-services/postgresql/index"},"pages":[{"title":"PostgreSQL read-only replication","sidebarTitle":"Read-only replication","href":"/docs/add-services/postgresql/postgresql-readonly-replication"}]},{"title":"RabbitMQ (message queue service)","sidebarTitle":"RabbitMQ","href":"/docs/add-services/rabbitmq"},{"title":"Redis (Object cache)","sidebarTitle":"Redis","href":"/docs/add-services/redis"},{"title":"Solr (Search service)","sidebarTitle":"Solr","href":"/docs/add-services/solr"},{"title":"Valkey","sidebarTitle":"Valkey","href":"/docs/add-services/valkey"},{"title":"Varnish","href":"/docs/add-services/varnish"},{"title":"Vault key management service","sidebarTitle":"Vault KMS","href":"/docs/add-services/vault"},{"group":"Self-hosted services","root":{"title":"Self-hosted services","sidebarTitle":"Self-hosted services","href":"/docs/add-services/self-hosted"},"pages":[{"group":"Public Docker images","root":{"title":"Self-hosted services from public Docker images","sidebarTitle":"Public Docker images","href":"/docs/add-services/docker-images/index"},"pages":[{"title":"Meilisearch","sidebarTitle":"Meilisearch","href":"/docs/add-services/docker-images/docker-meilisearch"},{"title":"n8n","sidebarTitle":"n8n","href":"/docs/add-services/docker-images/docker-n8n"}]}]}]},{"group":"Routes","root":{"title":"Define routes","sidebarTitle":"Overview","href":"/docs/routes/index"},"pages":[{"title":"Server Side Includes (SSI)","href":"/docs/routes/ssi"},{"title":"HTTP cache","href":"/docs/routes/cache"},{"title":"HTTPS","sidebarTitle":"HTTPS","href":"/docs/routes/https"},{"title":"Proxy routes","href":"/docs/routes/proxy"},{"title":"Redirects","href":"/docs/routes/redirects"}]}]},{"group":"Build, Deploy \u0026 Run","icon":"server","expanded":false,"pages":[{"title":"Build and deploy","href":"/docs/core-concepts/build-deploy"},{"group":"Local development","root":{"title":"Set up your local development environment","sidebarTitle":"Overview","href":"/docs/development/local/index"},"pages":[{"group":"Integrated environments","pages":[{"title":"Use DDEV for local development","sidebarTitle":"DDEV","href":"/docs/development/local/ddev"}]},{"group":"Supported environments","pages":[{"title":"Tethered local development","sidebarTitle":"Tethered","href":"/docs/development/local/tethered"},{"title":"Untethered local development","sidebarTitle":"Untethered","href":"/docs/development/local/untethered"}]}]},{"group":"Variables","root":{"title":"Variables overview","sidebarTitle":"Overview","href":"/docs/development/variables/index"},"pages":[{"title":"Set variables","href":"/docs/development/variables/set-variables"},{"title":"Use variables","href":"/docs/development/variables/use-variables"}]},{"group":"Development tools","root":{"title":"Development tools","href":"/docs/development/tools"},"pages":[{"title":"Access your site","href":"/docs/development/access-site"},{"title":"Transfer files to and from your app","sidebarTitle":"Transfer files","href":"/docs/development/file-transfer"},{"title":"HTTP Headers","sidebarTitle":"Headers","href":"/docs/development/headers"},{"title":"Send email from your Upsun Cloud environment using an SMTP proxy","sidebarTitle":"Email","href":"/docs/development/email"},{"title":"Pull code from a private Git repository","sidebarTitle":"Private repositories","href":"/docs/development/private-repository"},{"title":"Use Git submodules","sidebarTitle":"Git submodules","href":"/docs/development/submodules"},{"title":"Regions","href":"/docs/development/regions"},{"title":"Use Drush with Upsun Cloud","sidebarTitle":"Drush","href":"/docs/development/drush"}]},{"group":"SSH","root":{"title":"Connect securely with SSH","sidebarTitle":"Overview","href":"/docs/development/ssh/index"},"pages":[{"title":"Authenticate with SSH keys","sidebarTitle":"SSH keys","href":"/docs/development/ssh/ssh-keys"},{"title":"Troubleshoot SSH","href":"/docs/development/ssh/troubleshoot-ssh"}]},{"group":"Database management","root":{"title":"Sanitize databases","sidebarTitle":"Overview","href":"/docs/development/sanitize-db/index"},"pages":[{"title":"Sanitizing databases: MariaDB and Drupal","sidebarTitle":"MariaDB and Drupal","href":"/docs/development/sanitize-db/mariadb"},{"title":"Sanitizing databases: PostgreSQL and Django","sidebarTitle":"PostgreSQL and Django","href":"/docs/development/sanitize-db/postgresql"},{"title":"Sanitizing databases: PostgreSQL and Symfony","sidebarTitle":"PostgreSQL and Symfony","href":"/docs/development/sanitize-db/postgresql-symfony"}]}]},{"group":"Manage Projects","icon":"layout-grid","expanded":false,"pages":[{"title":"Manage projects","sidebarTitle":"Overview","href":"/docs/projects/index"},{"group":"Project settings","root":{"title":"Project settings","href":"/docs/projects/settings"},"pages":[{"title":"Change a project's region","sidebarTitle":"Change regions","href":"/docs/projects/region-migration"},{"title":"Change the project timezone","href":"/docs/projects/change-project-timezone"},{"title":"Delete a project","sidebarTitle":"Delete a project","href":"/docs/projects/delete-project"}]},{"group":"Custom domains","root":{"title":"Custom domains","sidebarTitle":"Overview","href":"/docs/domains/index"},"pages":[{"group":"Set up a custom domain","root":{"title":"Set up a custom domain","sidebarTitle":"Set up a custom domain","href":"/docs/domains/steps/index"},"pages":[{"title":"DNS management and apex domains","sidebarTitle":"DNS and apex domains","href":"/docs/domains/steps/dns"},{"title":"Configure a third-party TLS certificate","sidebarTitle":"Custom TLS certificates","href":"/docs/domains/steps/tls"},{"title":"Share subdomains across different projects","sidebarTitle":"Subdomains across projects","href":"/docs/domains/steps/subdomains"},{"title":"DNS challenge for domain ownership","sidebarTitle":"DNS challenge","href":"/docs/domains/steps/dns-challenge"},{"title":"Set up a custom domain on a preview environment","sidebarTitle":"Preview environment domains","href":"/docs/domains/steps/custom-domains-preview-environments"},{"title":"Troubleshoot domain issues","sidebarTitle":"Troubleshoot","href":"/docs/domains/troubleshoot"}]},{"group":"CDN","root":{"title":"Content delivery networks (CDNs)","sidebarTitle":"Overview","href":"/docs/domains/cdn/index"},"pages":[{"title":"Set up your Fastly CDN","sidebarTitle":"Fastly setup","href":"/docs/domains/cdn/fastly"},{"title":"Managed Fastly CDN","sidebarTitle":"Managed Fastly CDN","href":"/docs/domains/cdn/managed-fastly"},{"title":"Set up your Cloudflare CDN","sidebarTitle":"Cloudflare setup","href":"/docs/domains/cdn/cloudflare"}]}]},{"group":"Administration","root":{"title":"Administration","href":"/docs/administration/index"},"pages":[{"group":"Console","root":{"title":"Console","sidebarTitle":"Overview","href":"/docs/administration/web/index"},"pages":[{"title":"Configure a project","href":"/docs/administration/web/configure-project"},{"title":"Configure environments","sidebarTitle":"Configure environments","href":"/docs/administration/web/configure-environment"}]},{"title":"Organizations","href":"/docs/administration/organizations"},{"title":"Administer teams","sidebarTitle":"Teams","href":"/docs/administration/teams"},{"title":"Administer users","sidebarTitle":"Users","href":"/docs/administration/users"},{"title":"Pricing","href":"/docs/administration/pricing"},{"group":"Billing","root":{"title":"Billing","href":"/docs/administration/billing/index"},"pages":[{"title":"Set up a billing account and billing profile","href":"/docs/administration/billing/bp-setup"},{"title":"Add and manage payment methods","href":"/docs/administration/billing/bp-payment-method"},{"title":"View invoices","href":"/docs/administration/billing/bp-invoices"},{"title":"Monitor spending and usage","href":"/docs/administration/billing/bp-monitor-billing"},{"title":"Manage billing members on a billing profile","href":"/docs/administration/billing/bp-users"},{"title":"Edit a billing profile","href":"/docs/administration/billing/bp-edit-billing-profile"},{"title":"View discounts and commitments","href":"/docs/administration/billing/bp-discounts"},{"title":"View vouchers","href":"/docs/administration/billing/bp-vouchers"},{"title":"Transfer an organization to a different billing profile","href":"/docs/administration/billing/bp-transfers"},{"title":"Billing FAQ","href":"/docs/administration/billing/bp-faq"}]},{"title":"Server upgrades","href":"/docs/administration/servers"},{"group":"Security","root":{"title":"Security","sidebarTitle":"Overview","href":"/docs/administration/security/index"},"pages":[{"title":"Multifactor Authentication (MFA)","sidebarTitle":"Multifactor Authentication (MFA)","href":"/docs/administration/security/mfa"},{"title":"Single Sign-On (SSO)","sidebarTitle":"Single Sign-On (SSO)","href":"/docs/administration/security/sso"}]}]},{"group":"Security \u0026 compliance","root":{"title":"Security and compliance","sidebarTitle":"Overview","href":"/docs/security/index"},"pages":[{"title":"Fastly WAF","href":"/docs/security/fastly-waf"},{"title":"Upsun WAF","sidebarTitle":"Upsun WAF","href":"/docs/security/waf"},{"title":"Data retention","href":"/docs/security/data-retention"},{"title":"Project isolation","href":"/docs/security/project-isolation"}]}]},{"group":"Manage Environments","icon":"git-branch","expanded":false,"pages":[{"title":"Manage Upsun Cloud environments","sidebarTitle":"Overview","href":"/docs/environments/index"},{"group":"Backup \u0026 restore","root":{"title":"Backup \u0026 restore","href":"/docs/environments/backup-restore"},"pages":[{"title":"Back up an environment","sidebarTitle":"Back up an environment","href":"/docs/environments/backup"},{"title":"Restore an environment from a backup","sidebarTitle":"Restore an environment","href":"/docs/environments/restore"}]},{"group":"Environment settings","root":{"title":"Environment settings","href":"/docs/environments/settings"},"pages":[{"title":"Change an environment's parent","sidebarTitle":"Change parent","href":"/docs/environments/change-parent"},{"title":"Rename the default environment","sidebarTitle":"Rename the default environment","href":"/docs/environments/default-environment"},{"title":"Configure HTTP access control","sidebarTitle":"Configure HTTP access control","href":"/docs/environments/http-access-control"},{"title":"Manage search indexing for an environment","sidebarTitle":"Manage search indexing","href":"/docs/environments/search-engine-visibility"}]},{"group":"Environment actions","root":{"title":"Environment actions","href":"/docs/environments/actions"},"pages":[{"title":"Cancel an activity","href":"/docs/environments/cancel-activity"},{"title":"Deactivate an environment","sidebarTitle":"Deactivate an environment","href":"/docs/environments/deactivate-environment"}]}]},{"group":"Manage Resources","icon":"gauge","expanded":false,"pages":[{"title":"Manage resources","sidebarTitle":"Overview","href":"/docs/manage-resources/index"},{"title":"How resources work on Upsun Cloud","sidebarTitle":"How resources work","href":"/docs/manage-resources/how-resources-work"},{"group":"Configure resources","root":{"title":"Configure resources","href":"/docs/manage-resources/configure"},"pages":[{"title":"Resource initialization","sidebarTitle":"Resource initialization","href":"/docs/manage-resources/resource-init"},{"title":"Resource configuration","sidebarTitle":"Resource configuration","href":"/docs/manage-resources/adjust-resources"},{"title":"Project build resources","sidebarTitle":"Project build resources","href":"/docs/manage-resources/build-resources"}]},{"group":"Scaling","root":{"title":"Scaling","href":"/docs/manage-resources/scaling"},"pages":[{"title":"Autoscaling","sidebarTitle":"Autoscaling","href":"/docs/manage-resources/autoscaling"},{"title":"Guaranteed resources","sidebarTitle":"Guaranteed resources","href":"/docs/manage-resources/guaranteed-resources"}]},{"title":"Object storage","sidebarTitle":"Object storage","href":"/docs/manage-resources/object-storage"}]},{"group":"Observability \u0026 Metrics","icon":"activity","expanded":false,"pages":[{"title":"Increase observability","sidebarTitle":"Overview","href":"/docs/observability/index"},{"group":"Infrastructure metrics","root":{"title":"Infrastructure metrics","sidebarTitle":"Overview","href":"/docs/observability/metrics/index"},"pages":[{"title":"HTTP metrics","sidebarTitle":"HTTP metrics","href":"/docs/observability/metrics/http-metrics"},{"title":"Understand metrics","sidebarTitle":"Understand metrics","href":"/docs/observability/metrics/understand-metrics"}]},{"group":"Application metrics","root":{"title":"Application metrics","sidebarTitle":"Overview","href":"/docs/observability/application-metrics/index"},"pages":[{"title":"Monitor Cron job executions","sidebarTitle":"Monitor Cron job executions","href":"/docs/observability/application-metrics/cron-metrics"},{"title":"Understanding application observability","sidebarTitle":"Understanding application observability","href":"/docs/observability/application-metrics/understanding"},{"title":"Upsun Blackfire for PHP and Python","sidebarTitle":"Upsun Blackfire for PHP and Python","href":"/docs/observability/application-metrics/blackfire"},{"group":"Continuous profiling","pages":[{"title":"Continuous Profiling dashboard","sidebarTitle":"Dashboard","href":"/docs/observability/application-metrics/cont-prof"},{"title":"Comparing Continuous Profiling Timeframes","sidebarTitle":"Comparing Timeframes","href":"/docs/observability/application-metrics/cont-prof-comparison"},{"title":"Continuous profiling for Go","sidebarTitle":"Go continuous profiler","href":"/docs/observability/application-metrics/go"},{"title":"Continuous profiling for Java","sidebarTitle":"Java continuous profiler","href":"/docs/observability/application-metrics/java"},{"title":"Continuous profiling for Node.js","sidebarTitle":"Node.js continuous profiler","href":"/docs/observability/application-metrics/nodejs"},{"title":"Continuous profiling for PHP","sidebarTitle":"PHP continuous profiler","href":"/docs/observability/application-metrics/php"},{"title":"Continuous profiling for Python","sidebarTitle":"Python continuous profiler","href":"/docs/observability/application-metrics/python"},{"title":"Continuous profiling for Ruby","sidebarTitle":"Ruby continuous profiler","href":"/docs/observability/application-metrics/ruby"},{"title":"Continuous profiling for Rust","sidebarTitle":"Rust continuous profiler","href":"/docs/observability/application-metrics/rust"}]}]},{"group":"Logs","root":{"title":"Consume logs","sidebarTitle":"Overview","href":"/docs/observability/logs/index"},"pages":[{"title":"Log Explorer","sidebarTitle":"Log Explorer","href":"/docs/observability/logs/log-explorer"},{"title":"Access your logs","sidebarTitle":"Access logs","href":"/docs/observability/logs/access-logs"},{"title":"Forward Upsun Cloud and Upsun Blackfire logs","sidebarTitle":"Forward Upsun Cloud and Upsun Blackfire logs","href":"/docs/observability/logs/forward-logs"}]}]},{"group":"Integrations","icon":"link","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"External Integrations","href":"/docs/integrations/overview"},{"group":"Source integrations","root":{"title":"Source integrations","sidebarTitle":"Overview","href":"/docs/integrations/source/index"},"pages":[{"title":"Integrate with Bitbucket","sidebarTitle":"Bitbucket","href":"/docs/integrations/source/bitbucket"},{"title":"Integrate with GitHub","sidebarTitle":"GitHub","href":"/docs/integrations/source/github"},{"title":"Integrate with GitLab","sidebarTitle":"GitLab","href":"/docs/integrations/source/gitlab"},{"title":"Resolve access issues with source integrations","sidebarTitle":"Resolve access issues with source integrations","href":"/docs/integrations/source/troubleshoot"}]},{"group":"Activity scripts","root":{"title":"Activity scripts","sidebarTitle":"Overview","href":"/docs/integrations/activity/index"},"pages":[{"title":"Activity reference","sidebarTitle":"Activity reference","href":"/docs/integrations/activity/reference"},{"title":"Utility routines","sidebarTitle":"Utility routines","href":"/docs/integrations/activity/utility"},{"title":"Webhooks","href":"/docs/integrations/activity/webhooks"},{"group":"Examples","pages":[{"title":"Example: Discord","href":"/docs/integrations/activity/discord"},{"title":"Example: Slack","sidebarTitle":"Example: Slack","href":"/docs/integrations/activity/slack"}]}]},{"title":"Fastly CDN","href":"/docs/integrations/fastly-cdn"},{"title":"Health notifications","href":"/docs/integrations/notifications"}]},{"group":"Troubleshooting","icon":"circle-alert","expanded":false,"pages":[{"title":"502 error resolution guide","sidebarTitle":"502 error resolutions","href":"/docs/troubleshooting/502-errors"},{"title":"Troubleshoot development","sidebarTitle":"Development","href":"/docs/troubleshooting/general"},{"title":"Troubleshoot disks","sidebarTitle":"Disks","href":"/docs/troubleshooting/disks"},{"title":"Troubleshoot mounts","sidebarTitle":"Mounts","href":"/docs/troubleshooting/mounts"}]},{"group":"Resources","icon":"code","expanded":false,"pages":[{"title":"Glossary","sidebarTitle":"Glossary","href":"/docs/glossary/index"},{"title":"Data Register","sidebarTitle":"Data Register","href":"/docs/registry/index"},{"title":"Request features","sidebarTitle":"Request features","href":"/docs/request-features/index"}]}]},{"anchor":"Tutorials","icon":"graduation-cap","pages":[{"title":"Tutorials","sidebarTitle":"Overview","icon":"graduation-cap","href":"/tutorials/index"},{"group":"AI use cases","icon":"brain","pages":[{"title":"AI use cases","sidebarTitle":"Overview","href":"/tutorials/ai/index"},{"title":"Building a LangChain chatbot on Upsun Cloud","sidebarTitle":"LangChain chatbot","tag":"New","href":"/tutorials/ai/langchain-chatbot"},{"title":"Building a RAG pipeline with Qdrant on Upsun Cloud","sidebarTitle":"RAG pipeline","tag":"New","href":"/tutorials/ai/rag-pipeline"},{"title":"Deploying a coding agent with opencode on Upsun Cloud","sidebarTitle":"Coding agent","tag":"New","href":"/tutorials/ai/coding-agent"},{"title":"Building a news digest with workers on Upsun Cloud","sidebarTitle":"News digest","tag":"New","href":"/tutorials/ai/news-digest"},{"title":"Building an AI support ticket classifier on Upsun Cloud","sidebarTitle":"Form processing","tag":"New","href":"/tutorials/ai/form-processing"},{"title":"Building an AI-powered BI tool on Upsun Cloud","sidebarTitle":"eCommerce insights","tag":"New","href":"/tutorials/ai/ecommerce-insights"}]},{"group":"Self-hosted services","icon":"server","pages":[{"title":"Self-hosted services","sidebarTitle":"Overview","href":"/tutorials/self-hosted/index"},{"title":"Qdrant","sidebarTitle":"Qdrant","href":"/tutorials/self-hosted/qdrant"},{"title":"Chroma","sidebarTitle":"Chroma","href":"/tutorials/self-hosted/chroma"}]},{"group":"CMS guides","icon":"newspaper","pages":[{"title":"CMS guides","sidebarTitle":"Overview","href":"/tutorials/cms/index"},{"group":"WordPress","root":{"title":"Deploy WordPress on Upsun Cloud","sidebarTitle":"WordPress","href":"/tutorials/wordpress/index"},"pages":[{"title":"Deploy Vanilla WordPress on Upsun Cloud","sidebarTitle":"Vanilla WordPress","href":"/tutorials/wordpress/vanilla"},{"title":"Deploy Composer-based WordPress on Upsun Cloud","sidebarTitle":"Composer WordPress","href":"/tutorials/wordpress/composer"},{"title":"Deploy Bedrock-based WordPress on Upsun Cloud","sidebarTitle":"Bedrock WordPress","href":"/tutorials/wordpress/bedrock"},{"title":"Deploy WordPress Multisite on Upsun Cloud","sidebarTitle":"WordPress Multisite","href":"/tutorials/wordpress/multisite"}]},{"title":"Deploy Drupal on Upsun Cloud","sidebarTitle":"Drupal","href":"/tutorials/drupal"},{"title":"Deploy Magento on Upsun Cloud","sidebarTitle":"Magento","href":"/tutorials/magento"},{"title":"Deploy Shopware on Upsun Cloud","sidebarTitle":"Shopware","href":"/tutorials/shopware"},{"title":"Deploy Pimcore on Upsun Cloud","sidebarTitle":"Pimcore","href":"/tutorials/pimcore"},{"title":"Deploy Liferay on Upsun Cloud","sidebarTitle":"Liferay","href":"/tutorials/liferay"}]},{"group":"Migration guides","icon":"move-right","pages":[{"title":"Migration guides","sidebarTitle":"Overview","href":"/tutorials/migration/index"},{"title":"Migrating from another provider to Upsun Cloud","sidebarTitle":"From another provider","href":"/tutorials/migration/from-other-provider"},{"title":"Converting from Upsun Fixed (formerly Platform.sh)","sidebarTitle":"Converting from Upsun Fixed (formerly Platform.sh)","href":"/tutorials/migration/from-fixed"}]}]},{"anchor":"API","icon":"code","pages":[{"title":"Upsun Cloud API","sidebarTitle":"API Home","icon":"code","href":"/api/index"},{"group":"SDK","pages":[{"title":"Overview","icon":"book-open","sidebarTitle":"Overview","href":"/api/sdk/overview"},{"title":"Upsun Cloud SDK for PHP","sidebarTitle":"PHP","icon":"php","tag":"Beta","href":"/api/sdk/php"},{"title":"Upsun Cloud SDK for NodeJs","sidebarTitle":"NodeJs","icon":"js","tag":"Beta","href":"/api/sdk/js"}]},{"group":"REST API","pages":[{"title":"Overview","icon":"book-open","sidebarTitle":"Overview","href":"/api/rest/overview"},{"title":"Authentication","icon":"lock","sidebarTitle":"Authentication","href":"/api/rest/authentication"},{"title":"Errors","icon":"circle-x","sidebarTitle":"Errors","href":"/api/rest/errors"},{"title":"Endpoints","icon":"route","sidebarTitle":"Endpoints","href":"/api/rest/endpoints"}]},{"group":"OpenAPI Reference","pages":[{"group":"API Reference","pages":[{"title":"Query project carbon emissions metrics for an entire organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/metrics/carbon","href":"/api-reference/query-project-carbon-emissions-metrics-for-an-entire-organization"},{"title":"List support tickets","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /tickets","href":"/api-reference/list-support-tickets"}]},{"group":"Add-ons","pages":[{"title":"Get add-ons","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/addons","href":"/api-reference/add-ons/get-add-ons"}]},{"group":"Alerts","pages":[{"title":"Get usage alerts for a subscription","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /alerts/subscriptions/{subscriptionId}/usage","href":"/api-reference/alerts/get-usage-alerts-for-a-subscription"},{"title":"Update usage alerts.","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /alerts/subscriptions/{subscriptionId}/usage","href":"/api-reference/alerts/update-usage-alerts"}]},{"group":"API Tokens","pages":[{"title":"List a user's API tokens","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/api-tokens","href":"/api-reference/api-tokens/list-a-users-api-tokens"},{"title":"Create an API token","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/api-tokens","href":"/api-reference/api-tokens/create-an-api-token"},{"title":"Get an API token","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/api-tokens/{token_id}","href":"/api-reference/api-tokens/get-an-api-token"},{"title":"Delete an API token","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /users/{user_id}/api-tokens/{token_id}","href":"/api-reference/api-tokens/delete-an-api-token"}]},{"group":"Autoscaling","pages":[{"title":"Retrieves Autoscaler settings","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/autoscaling/settings","href":"/api-reference/autoscaling/retrieves-autoscaler-settings"},{"title":"Updates Autoscaler settings","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/autoscaling/settings","href":"/api-reference/autoscaling/updates-autoscaler-settings"},{"title":"Modifies Autoscaler settings","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/environments/{environmentId}/autoscaling/settings","href":"/api-reference/autoscaling/modifies-autoscaler-settings"}]},{"group":"Blackfire Monitoring","pages":[{"title":"Get server cache metrics","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/server/caches","href":"/api-reference/blackfire-monitoring/get-server-cache-metrics"},{"title":"Get server monitoring overview","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/server","href":"/api-reference/blackfire-monitoring/get-server-monitoring-overview"},{"title":"Get server transaction breakdown","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/server/transactions-break-down","href":"/api-reference/blackfire-monitoring/get-server-transaction-breakdown"},{"title":"Get top spans","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/server/top-spans","href":"/api-reference/blackfire-monitoring/get-top-spans"}]},{"group":"Blackfire Profiling","pages":[{"title":"Get profile timeline data","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/profiles/{uuid}/timeline","href":"/api-reference/blackfire-profiling/get-profile-timeline-data"},{"title":"Get profile subprofiles","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/profiles/{uuid}/subprofiles","href":"/api-reference/blackfire-profiling/get-profile-subprofiles"},{"title":"Get profile details","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/profiles/{uuid}/profile","href":"/api-reference/blackfire-profiling/get-profile-details"},{"title":"Get profile call graph","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/profiles/{uuid}/graph","href":"/api-reference/blackfire-profiling/get-profile-call-graph"},{"title":"Get recommendation statistics","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/profiles/recommendations","href":"/api-reference/blackfire-profiling/get-recommendation-statistics"},{"title":"List profiling results","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/profiles","href":"/api-reference/blackfire-profiling/list-profiling-results"}]},{"group":"Cert Management","pages":[{"title":"Get list of SSL certificates","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/certificates","href":"/api-reference/cert-management/get-list-of-ssl-certificates"},{"title":"Add an SSL certificate","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/certificates","href":"/api-reference/cert-management/add-an-ssl-certificate"},{"title":"Get an SSL certificate","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/certificates/{certificateId}","href":"/api-reference/cert-management/get-an-ssl-certificate"},{"title":"Delete an SSL certificate","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/certificates/{certificateId}","href":"/api-reference/cert-management/delete-an-ssl-certificate"},{"title":"Update an SSL certificate","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/certificates/{certificateId}","href":"/api-reference/cert-management/update-an-ssl-certificate"},{"title":"Get projects provisioners","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/provisioners","href":"/api-reference/cert-management/get-projects-provisioners"},{"title":"Get projects provisioners 1","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/provisioners/{certificateProvisionerDocumentId}","href":"/api-reference/cert-management/get-projects-provisioners-1"},{"title":"Patch projects provisioners","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/provisioners/{certificateProvisionerDocumentId}","href":"/api-reference/cert-management/patch-projects-provisioners"}]},{"group":"Connections","pages":[{"title":"List federated login connections","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/connections","href":"/api-reference/connections/list-federated-login-connections"},{"title":"Get a federated login connection","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/connections/{provider}","href":"/api-reference/connections/get-a-federated-login-connection"},{"title":"Delete a federated login connection","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /users/{user_id}/connections/{provider}","href":"/api-reference/connections/delete-a-federated-login-connection"}]},{"group":"Continuous Profiling","pages":[{"title":"List profiled applications","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{envId}/continuous-profiling","href":"/api-reference/continuous-profiling/list-profiled-applications"},{"title":"Get application timeline","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{envId}/continuous-profiling/app/{app}","href":"/api-reference/continuous-profiling/get-application-timeline"},{"title":"Get merged profile","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{envId}/continuous-profiling/app/{app}/merge","href":"/api-reference/continuous-profiling/get-merged-profile"},{"title":"Get application filter values","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{envId}/continuous-profiling/app/{app}/filter","href":"/api-reference/continuous-profiling/get-application-filter-values"}]},{"group":"Deployment","pages":[{"title":"Get an environment's deployment information","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/deployments","href":"/api-reference/deployment/get-an-environments-deployment-information"},{"title":"Get a single environment deployment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/deployments/{deploymentId}","href":"/api-reference/deployment/get-a-single-environment-deployment"}]},{"group":"Deployment Target","pages":[{"title":"Get project deployment target info","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/deployments","href":"/api-reference/deployment-target/get-project-deployment-target-info"},{"title":"Create a project deployment target","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/deployments","href":"/api-reference/deployment-target/create-a-project-deployment-target"},{"title":"Get a single project deployment target","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/deployments/{deploymentTargetConfigurationId}","href":"/api-reference/deployment-target/get-a-single-project-deployment-target"},{"title":"Delete a single project deployment target","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/deployments/{deploymentTargetConfigurationId}","href":"/api-reference/deployment-target/delete-a-single-project-deployment-target"},{"title":"Update a project deployment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/deployments/{deploymentTargetConfigurationId}","href":"/api-reference/deployment-target/update-a-project-deployment"}]},{"group":"Diff","pages":[{"title":"Get projects gitdiffs ","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/git/diffs/{diffBaseId}/{diffTargetId}","href":"/api-reference/diff/get-projects-gitdiffs-"}]},{"group":"Discounts","pages":[{"title":"Get an organization discount","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /discounts/{id}","href":"/api-reference/discounts/get-an-organization-discount"},{"title":"Get the value of the First Project Incentive discount","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /discounts/types/allowance","href":"/api-reference/discounts/get-the-value-of-the-first-project-incentive-discount"},{"title":"List organization discounts","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/discounts","href":"/api-reference/discounts/list-organization-discounts"}]},{"group":"Domain Claim","pages":[{"title":"Get projects domain claims","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/domain-claims","href":"/api-reference/domain-claim/get-projects-domain-claims"},{"title":"Post projects domain claims","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/domain-claims","href":"/api-reference/domain-claim/post-projects-domain-claims"},{"title":"Get projects domain claims 1","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/domain-claims/{domainClaimId}","href":"/api-reference/domain-claim/get-projects-domain-claims-1"},{"title":"Delete projects domain claims","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/domain-claims/{domainClaimId}","href":"/api-reference/domain-claim/delete-projects-domain-claims"},{"title":"Patch projects domain claims","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/domain-claims/{domainClaimId}","href":"/api-reference/domain-claim/patch-projects-domain-claims"}]},{"group":"Domain Management","pages":[{"title":"Get list of project domains","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/domains","href":"/api-reference/domain-management/get-list-of-project-domains"},{"title":"Add a project domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/domains","href":"/api-reference/domain-management/add-a-project-domain"},{"title":"Get a project domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/domains/{domainId}","href":"/api-reference/domain-management/get-a-project-domain"},{"title":"Delete a project domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/domains/{domainId}","href":"/api-reference/domain-management/delete-a-project-domain"},{"title":"Update a project domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/domains/{domainId}","href":"/api-reference/domain-management/update-a-project-domain"},{"title":"Get a list of environment domains","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/domains","href":"/api-reference/domain-management/get-a-list-of-environment-domains"},{"title":"Add an environment domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/domains","href":"/api-reference/domain-management/add-an-environment-domain"},{"title":"Get an environment domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/domains/{domainId}","href":"/api-reference/domain-management/get-an-environment-domain"},{"title":"Delete an environment domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/environments/{environmentId}/domains/{domainId}","href":"/api-reference/domain-management/delete-an-environment-domain"},{"title":"Update an environment domain","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/environments/{environmentId}/domains/{domainId}","href":"/api-reference/domain-management/update-an-environment-domain"}]},{"group":"Entrypoint","pages":[{"title":"Get observability entrypoint","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability","href":"/api-reference/entrypoint/get-observability-entrypoint"}]},{"group":"Environment","pages":[{"title":"Get list of project environments","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments","href":"/api-reference/environment/get-list-of-project-environments"},{"title":"Get an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}","href":"/api-reference/environment/get-an-environment"},{"title":"Delete an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/environments/{environmentId}","href":"/api-reference/environment/delete-an-environment"},{"title":"Update an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/environments/{environmentId}","href":"/api-reference/environment/update-an-environment"},{"title":"Activate an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/activate","href":"/api-reference/environment/activate-an-environment"},{"title":"Branch an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/branch","href":"/api-reference/environment/branch-an-environment"},{"title":"Deactivate an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/deactivate","href":"/api-reference/environment/deactivate-an-environment"},{"title":"Deploy an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/deploy","href":"/api-reference/environment/deploy-an-environment"},{"title":"Initialize a new environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/initialize","href":"/api-reference/environment/initialize-a-new-environment"},{"title":"Post projects environments maintenance redeploy","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/maintenance-redeploy","href":"/api-reference/environment/post-projects-environments-maintenance-redeploy"},{"title":"Merge an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/merge","href":"/api-reference/environment/merge-an-environment"},{"title":"Pause an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/pause","href":"/api-reference/environment/pause-an-environment"},{"title":"Redeploy an environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/redeploy","href":"/api-reference/environment/redeploy-an-environment"},{"title":"Resume a paused environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/resume","href":"/api-reference/environment/resume-a-paused-environment"},{"title":"Synchronize a child environment with its parent","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/synchronize","href":"/api-reference/environment/synchronize-a-child-environment-with-its-parent"}]},{"group":"Environment Activity","pages":[{"title":"Get environment activity log","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/activities","href":"/api-reference/environment-activity/get-environment-activity-log"},{"title":"Get an environment activity log entry","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/activities/{activityId}","href":"/api-reference/environment-activity/get-an-environment-activity-log-entry"},{"title":"Cancel an environment activity","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/activities/{activityId}/cancel","href":"/api-reference/environment-activity/cancel-an-environment-activity"}]},{"group":"Environment Backups","pages":[{"title":"Create backup of environment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/backup","href":"/api-reference/environment-backups/create-backup-of-environment"},{"title":"Get an environment's backup list","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/backups","href":"/api-reference/environment-backups/get-an-environments-backup-list"},{"title":"Get an environment backup's info","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/backups/{backupId}","href":"/api-reference/environment-backups/get-an-environment-backups-info"},{"title":"Delete an environment backup","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/environments/{environmentId}/backups/{backupId}","href":"/api-reference/environment-backups/delete-an-environment-backup"},{"title":"Restore an environment snapshot","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/backups/{backupId}/restore","href":"/api-reference/environment-backups/restore-an-environment-snapshot"}]},{"group":"Environment Type","pages":[{"title":"Get environment types","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environment-types","href":"/api-reference/environment-type/get-environment-types"},{"title":"Get environment type links","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environment-types/{environmentTypeId}","href":"/api-reference/environment-type/get-environment-type-links"}]},{"group":"Environment Variables","pages":[{"title":"Get list of environment variables","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/variables","href":"/api-reference/environment-variables/get-list-of-environment-variables"},{"title":"Add an environment variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/variables","href":"/api-reference/environment-variables/add-an-environment-variable"},{"title":"Get an environment variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/variables/{variableId}","href":"/api-reference/environment-variables/get-an-environment-variable"},{"title":"Delete an environment variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/environments/{environmentId}/variables/{variableId}","href":"/api-reference/environment-variables/delete-an-environment-variable"},{"title":"Update an environment variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/environments/{environmentId}/variables/{variableId}","href":"/api-reference/environment-variables/update-an-environment-variable"}]},{"group":"Grants","pages":[{"title":"List extended access of a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/extended-access","href":"/api-reference/grants/list-extended-access-of-a-user"},{"title":"Get access document by access ID","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /access/{access_id}","href":"/api-reference/grants/get-access-document-by-access-id"}]},{"group":"Http Traffic","pages":[{"title":"Get HTTP traffic timeline by URL","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/http/breakdown/urls","href":"/api-reference/http-traffic/get-http-traffic-timeline-by-url"},{"title":"Get HTTP traffic timeline by IP","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/http/breakdown/ips","href":"/api-reference/http-traffic/get-http-traffic-timeline-by-ip"},{"title":"Get HTTP traffic timeline by user agent","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/http/breakdown/user-agents","href":"/api-reference/http-traffic/get-http-traffic-timeline-by-user-agent"}]},{"group":"Invoices","pages":[{"title":"List invoices","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/invoices","href":"/api-reference/invoices/list-invoices"},{"title":"Get invoice","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/invoices/{invoice_id}","href":"/api-reference/invoices/get-invoice"}]},{"group":"MFA","pages":[{"title":"Get information about TOTP enrollment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/totp","href":"/api-reference/mfa/get-information-about-totp-enrollment"},{"title":"Confirm TOTP enrollment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/totp","href":"/api-reference/mfa/confirm-totp-enrollment"},{"title":"Withdraw TOTP enrollment","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /users/{user_id}/totp","href":"/api-reference/mfa/withdraw-totp-enrollment"},{"title":"Re-create recovery codes","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/codes","href":"/api-reference/mfa/re-create-recovery-codes"},{"title":"Get organization MFA settings","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/mfa-enforcement","href":"/api-reference/mfa/get-organization-mfa-settings"},{"title":"Enable organization MFA enforcement","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/mfa-enforcement/enable","href":"/api-reference/mfa/enable-organization-mfa-enforcement"},{"title":"Disable organization MFA enforcement","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/mfa-enforcement/disable","href":"/api-reference/mfa/disable-organization-mfa-enforcement"},{"title":"Send MFA reminders to organization members","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/mfa/remind","href":"/api-reference/mfa/send-mfa-reminders-to-organization-members"}]},{"group":"Orders","pages":[{"title":"Download an invoice.","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /orders/download","href":"/api-reference/orders/download-an-invoice"},{"title":"List orders","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/orders","href":"/api-reference/orders/list-orders"},{"title":"Get order","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/orders/{order_id}","href":"/api-reference/orders/get-order"},{"title":"Create confirmation credentials for for 3D-Secure","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/orders/{order_id}/authorize","href":"/api-reference/orders/create-confirmation-credentials-for-for-3d-secure"}]},{"group":"Organization Invitations","pages":[{"title":"List invitations to an organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/invitations","href":"/api-reference/organization-invitations/list-invitations-to-an-organization"},{"title":"Invite user to an organization by email","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/invitations","href":"/api-reference/organization-invitations/invite-user-to-an-organization-by-email"},{"title":"Cancel a pending invitation to an organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /organizations/{organization_id}/invitations/{invitation_id}","href":"/api-reference/organization-invitations/cancel-a-pending-invitation-to-an-organization"}]},{"group":"Organization Management","pages":[{"title":"Estimate total spend","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/estimate","href":"/api-reference/organization-management/estimate-total-spend"},{"title":"Get billing alert configuration","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/alerts/billing","href":"/api-reference/organization-management/get-billing-alert-configuration"},{"title":"Update billing alert configuration","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/alerts/billing","href":"/api-reference/organization-management/update-billing-alert-configuration"},{"title":"Get organization prepayment information","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/prepayment","href":"/api-reference/organization-management/get-organization-prepayment-information"},{"title":"List organization prepayment transactions","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/prepayment/transactions","href":"/api-reference/organization-management/list-organization-prepayment-transactions"}]},{"group":"Organization Members","pages":[{"title":"List organization members","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/members","href":"/api-reference/organization-members/list-organization-members"},{"title":"Create organization member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/members","href":"/api-reference/organization-members/create-organization-member"},{"title":"Get organization member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/members/{user_id}","href":"/api-reference/organization-members/get-organization-member"},{"title":"Delete organization member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /organizations/{organization_id}/members/{user_id}","href":"/api-reference/organization-members/delete-organization-member"},{"title":"Update organization member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/members/{user_id}","href":"/api-reference/organization-members/update-organization-member"}]},{"group":"Organization Projects","pages":[{"title":"List projects","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/projects","href":"/api-reference/organization-projects/list-projects"},{"title":"Create project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/projects","href":"/api-reference/organization-projects/create-project"},{"title":"Stream provisioning progress","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/projects/provisioning","href":"/api-reference/organization-projects/stream-provisioning-progress"},{"title":"Get project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/projects/{project_id}","href":"/api-reference/organization-projects/get-project"},{"title":"Delete project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /organizations/{organization_id}/projects/{project_id}","href":"/api-reference/organization-projects/delete-project"},{"title":"Update project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/projects/{project_id}","href":"/api-reference/organization-projects/update-project"},{"title":"Query project carbon emissions metrics","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/projects/{project_id}/metrics/carbon","href":"/api-reference/organization-projects/query-project-carbon-emissions-metrics"}]},{"group":"Organizations","pages":[{"title":"User organizations","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/organizations","href":"/api-reference/organizations/user-organizations"},{"title":"List organizations","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations","href":"/api-reference/organizations/list-organizations"},{"title":"Create organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations","href":"/api-reference/organizations/create-organization"},{"title":"Get organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}","href":"/api-reference/organizations/get-organization"},{"title":"Delete organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /organizations/{organization_id}","href":"/api-reference/organizations/delete-organization"},{"title":"Update organization","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}","href":"/api-reference/organizations/update-organization"}]},{"group":"PhoneNumber","pages":[{"title":"Verify phone number","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/phonenumber","href":"/api-reference/phonenumber/verify-phone-number"},{"title":"Confirm phone number","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/phonenumber/{sid}","href":"/api-reference/phonenumber/confirm-phone-number"}]},{"group":"Profiles","pages":[{"title":"Get address","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/address","href":"/api-reference/profiles/get-address"},{"title":"Update address","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/address","href":"/api-reference/profiles/update-address"},{"title":"Get profile","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/profile","href":"/api-reference/profiles/get-profile"},{"title":"Update profile","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/profile","href":"/api-reference/profiles/update-profile"}]},{"group":"Project","pages":[{"title":"Get a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}","href":"/api-reference/project/get-a-project"},{"title":"Get a project's capabilities","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/capabilities","href":"/api-reference/project/get-a-projects-capabilities"},{"title":"Clear project build cache","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/clear_build_cache","href":"/api-reference/project/clear-project-build-cache"},{"title":"Post projects maintenance redeploy","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/maintenance-redeploy","href":"/api-reference/project/post-projects-maintenance-redeploy"}]},{"group":"Project Activity","pages":[{"title":"Get project activity log","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/activities","href":"/api-reference/project-activity/get-project-activity-log"},{"title":"Get a project activity log entry","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/activities/{activityId}","href":"/api-reference/project-activity/get-a-project-activity-log-entry"},{"title":"Cancel a project activity","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/activities/{activityId}/cancel","href":"/api-reference/project-activity/cancel-a-project-activity"}]},{"group":"Project Invitations","pages":[{"title":"List invitations to a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{project_id}/invitations","href":"/api-reference/project-invitations/list-invitations-to-a-project"},{"title":"Invite user to a project by email","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{project_id}/invitations","href":"/api-reference/project-invitations/invite-user-to-a-project-by-email"},{"title":"Cancel a pending invitation to a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{project_id}/invitations/{invitation_id}","href":"/api-reference/project-invitations/cancel-a-pending-invitation-to-a-project"}]},{"group":"Project Settings","pages":[{"title":"Get list of project settings","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/settings","href":"/api-reference/project-settings/get-list-of-project-settings"},{"title":"Update a project setting","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/settings","href":"/api-reference/project-settings/update-a-project-setting"}]},{"group":"Project Variables","pages":[{"title":"Get list of project variables","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/variables","href":"/api-reference/project-variables/get-list-of-project-variables"},{"title":"Add a project variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/variables","href":"/api-reference/project-variables/add-a-project-variable"},{"title":"Get a project variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/variables/{projectVariableId}","href":"/api-reference/project-variables/get-a-project-variable"},{"title":"Delete a project variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/variables/{projectVariableId}","href":"/api-reference/project-variables/delete-a-project-variable"},{"title":"Update a project variable","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/variables/{projectVariableId}","href":"/api-reference/project-variables/update-a-project-variable"}]},{"group":"Projects","pages":[{"title":"List project history","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/projects/{project_id}/history","href":"/api-reference/projects/list-project-history"}]},{"group":"Records","pages":[{"title":"List plan records","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/records/plan","href":"/api-reference/records/list-plan-records"},{"title":"List usage records","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/records/usage","href":"/api-reference/records/list-usage-records"}]},{"group":"References","pages":[{"title":"List referenced users","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /ref/users","href":"/api-reference/references/list-referenced-users"},{"title":"List referenced teams","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /ref/teams","href":"/api-reference/references/list-referenced-teams"},{"title":"List referenced organizations","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /ref/organizations","href":"/api-reference/references/list-referenced-organizations"},{"title":"List referenced projects","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /ref/projects","href":"/api-reference/references/list-referenced-projects"},{"title":"List referenced regions","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /ref/regions","href":"/api-reference/references/list-referenced-regions"}]},{"group":"Regions","pages":[{"title":"List regions","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /regions","href":"/api-reference/regions/list-regions"},{"title":"Get region","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /regions/{region_id}","href":"/api-reference/regions/get-region"}]},{"group":"Repository","pages":[{"title":"Get a blob object","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/git/blobs/{repositoryBlobId}","href":"/api-reference/repository/get-a-blob-object"},{"title":"Get a commit object","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/git/commits/{repositoryCommitId}","href":"/api-reference/repository/get-a-commit-object"},{"title":"Get list of repository refs","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/git/refs","href":"/api-reference/repository/get-list-of-repository-refs"},{"title":"Get a ref object","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/git/refs/{repositoryRefId}","href":"/api-reference/repository/get-a-ref-object"},{"title":"Get a tree object","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/git/trees/{repositoryTreeId}","href":"/api-reference/repository/get-a-tree-object"}]},{"group":"Resources","pages":[{"title":"Get resource metrics overview","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/resources/overview","href":"/api-reference/resources/get-resource-metrics-overview"},{"title":"Get resource metrics summary","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/resources/summary","href":"/api-reference/resources/get-resource-metrics-summary"},{"title":"Get resource metrics by service","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/observability/resources/service/{service}","href":"/api-reference/resources/get-resource-metrics-by-service"}]},{"group":"Routing","pages":[{"title":"Get list of routes","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/routes","href":"/api-reference/routing/get-list-of-routes"},{"title":"Get a route's info","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/routes/{routeId}","href":"/api-reference/routing/get-a-routes-info"}]},{"group":"Runtime Operations","pages":[{"title":"Execute a runtime operation","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/deployments/{deploymentId}/operations","href":"/api-reference/runtime-operations/execute-a-runtime-operation"}]},{"group":"Source Operations","pages":[{"title":"Trigger a source operation","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/source-operation","href":"/api-reference/source-operations/trigger-a-source-operation"},{"title":"List source operations","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/source-operations","href":"/api-reference/source-operations/list-source-operations"}]},{"group":"SSH Keys","pages":[{"title":"Get an SSH key","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /ssh_keys/{key_id}","href":"/api-reference/ssh-keys/get-an-ssh-key"},{"title":"Delete an SSH key","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /ssh_keys/{key_id}","href":"/api-reference/ssh-keys/delete-an-ssh-key"},{"title":"Add a new public SSH key to a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /ssh_keys","href":"/api-reference/ssh-keys/add-a-new-public-ssh-key-to-a-user"}]},{"group":"Subscriptions","pages":[{"title":"Checks if the user is able to update a project.","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /subscriptions/{subscriptionId}/can-update","href":"/api-reference/subscriptions/checks-if-the-user-is-able-to-update-a-project"},{"title":"Checks if the user can afford the requested resources.","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /subscriptions/{subscriptionId}/can-afford","href":"/api-reference/subscriptions/checks-if-the-user-can-afford-the-requested-resources"},{"title":"Estimate the price of a new subscription","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions/estimate","href":"/api-reference/subscriptions/estimate-the-price-of-a-new-subscription"},{"title":"Checks if the user is able to create a new project.","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions/can-create","href":"/api-reference/subscriptions/checks-if-the-user-is-able-to-create-a-new-project"},{"title":"Estimate the price of a subscription","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions/{subscription_id}/estimate","href":"/api-reference/subscriptions/estimate-the-price-of-a-subscription"},{"title":"Get current usage for a subscription","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions/{subscription_id}/current_usage","href":"/api-reference/subscriptions/get-current-usage-for-a-subscription"},{"title":"List addons for a subscription","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions/{subscription_id}/addons","href":"/api-reference/subscriptions/list-addons-for-a-subscription"},{"title":"Get usage alerts","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/alerts/subscriptions/{subscription_id}/usage","href":"/api-reference/subscriptions/get-usage-alerts"},{"title":"Update usage alerts.","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/alerts/subscriptions/{subscription_id}/usage","href":"/api-reference/subscriptions/update-usage-alerts"},{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions","href":"/api-reference/subscriptions/list-subscriptions"},{"title":"Create subscription","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/subscriptions","href":"/api-reference/subscriptions/create-subscription"},{"title":"Get subscription","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/subscriptions/{subscription_id}","href":"/api-reference/subscriptions/get-subscription"},{"title":"Delete subscription","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /organizations/{organization_id}/subscriptions/{subscription_id}","href":"/api-reference/subscriptions/delete-subscription"},{"title":"Update subscription","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /organizations/{organization_id}/subscriptions/{subscription_id}","href":"/api-reference/subscriptions/update-subscription"}]},{"group":"Support","pages":[{"title":"Create a new support ticket","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /tickets","href":"/api-reference/support/create-a-new-support-ticket"},{"title":"Update a ticket","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /tickets/{ticket_id}","href":"/api-reference/support/update-a-ticket"},{"title":"List support ticket priorities","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /tickets/priority","href":"/api-reference/support/list-support-ticket-priorities"},{"title":"List support ticket categories","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /tickets/category","href":"/api-reference/support/list-support-ticket-categories"}]},{"group":"System Information","pages":[{"title":"Get information about the Git server.","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/system","href":"/api-reference/system-information/get-information-about-the-git-server"},{"title":"Restart the Git server","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/system/restart","href":"/api-reference/system-information/restart-the-git-server"}]},{"group":"Task","pages":[{"title":"Get projects environments tasks","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/tasks","href":"/api-reference/task/get-projects-environments-tasks"},{"title":"Get projects environments tasks 1","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/environments/{environmentId}/tasks/{taskId}","href":"/api-reference/task/get-projects-environments-tasks-1"},{"title":"Post projects environments tasks run","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/environments/{environmentId}/tasks/{taskId}/run","href":"/api-reference/task/post-projects-environments-tasks-run"}]},{"group":"Team Access","pages":[{"title":"List team access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{project_id}/team-access","href":"/api-reference/team-access/list-team-access-for-a-project"},{"title":"Grant team access to a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{project_id}/team-access","href":"/api-reference/team-access/grant-team-access-to-a-project"},{"title":"Get team access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{project_id}/team-access/{team_id}","href":"/api-reference/team-access/get-team-access-for-a-project"},{"title":"Remove team access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{project_id}/team-access/{team_id}","href":"/api-reference/team-access/remove-team-access-for-a-project"},{"title":"List project access for a team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /teams/{team_id}/project-access","href":"/api-reference/team-access/list-project-access-for-a-team"},{"title":"Grant project access to a team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /teams/{team_id}/project-access","href":"/api-reference/team-access/grant-project-access-to-a-team"},{"title":"Get project access for a team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /teams/{team_id}/project-access/{project_id}","href":"/api-reference/team-access/get-project-access-for-a-team"},{"title":"Remove project access for a team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /teams/{team_id}/project-access/{project_id}","href":"/api-reference/team-access/remove-project-access-for-a-team"}]},{"group":"Teams","pages":[{"title":"List teams","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /teams","href":"/api-reference/teams/list-teams"},{"title":"Create team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /teams","href":"/api-reference/teams/create-team"},{"title":"Get team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /teams/{team_id}","href":"/api-reference/teams/get-team"},{"title":"Delete team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /teams/{team_id}","href":"/api-reference/teams/delete-team"},{"title":"Update team","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /teams/{team_id}","href":"/api-reference/teams/update-team"},{"title":"List team members","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /teams/{team_id}/members","href":"/api-reference/teams/list-team-members"},{"title":"Create team member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /teams/{team_id}/members","href":"/api-reference/teams/create-team-member"},{"title":"Get team member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /teams/{team_id}/members/{user_id}","href":"/api-reference/teams/get-team-member"},{"title":"Delete team member","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /teams/{team_id}/members/{user_id}","href":"/api-reference/teams/delete-team-member"},{"title":"User teams","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/teams","href":"/api-reference/teams/user-teams"}]},{"group":"Third-Party Integrations","pages":[{"title":"Get list of existing integrations for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/integrations","href":"/api-reference/third-party-integrations/get-list-of-existing-integrations-for-a-project"},{"title":"Integrate project with a third-party service","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{projectId}/integrations","href":"/api-reference/third-party-integrations/integrate-project-with-a-third-party-service"},{"title":"Get information about an existing third-party integration","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{projectId}/integrations/{integrationId}","href":"/api-reference/third-party-integrations/get-information-about-an-existing-third-party-integration"},{"title":"Delete an existing third-party integration","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{projectId}/integrations/{integrationId}","href":"/api-reference/third-party-integrations/delete-an-existing-third-party-integration"},{"title":"Update an existing third-party integration","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{projectId}/integrations/{integrationId}","href":"/api-reference/third-party-integrations/update-an-existing-third-party-integration"}]},{"group":"User Access","pages":[{"title":"List user access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{project_id}/user-access","href":"/api-reference/user-access/list-user-access-for-a-project"},{"title":"Grant user access to a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /projects/{project_id}/user-access","href":"/api-reference/user-access/grant-user-access-to-a-project"},{"title":"Get user access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /projects/{project_id}/user-access/{user_id}","href":"/api-reference/user-access/get-user-access-for-a-project"},{"title":"Remove user access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /projects/{project_id}/user-access/{user_id}","href":"/api-reference/user-access/remove-user-access-for-a-project"},{"title":"Update user access for a project","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /projects/{project_id}/user-access/{user_id}","href":"/api-reference/user-access/update-user-access-for-a-project"},{"title":"List project access for a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/project-access","href":"/api-reference/user-access/list-project-access-for-a-user"},{"title":"Grant project access to a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/project-access","href":"/api-reference/user-access/grant-project-access-to-a-user"},{"title":"Get project access for a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}/project-access/{project_id}","href":"/api-reference/user-access/get-project-access-for-a-user"},{"title":"Remove project access for a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /users/{user_id}/project-access/{project_id}","href":"/api-reference/user-access/remove-project-access-for-a-user"},{"title":"Update project access for a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /users/{user_id}/project-access/{project_id}","href":"/api-reference/user-access/update-project-access-for-a-user"}]},{"group":"User Profiles","pages":[{"title":"List user profiles","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /profiles","href":"/api-reference/user-profiles/list-user-profiles"},{"title":"Get a single user profile","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /profiles/{userId}","href":"/api-reference/user-profiles/get-a-single-user-profile"},{"title":"Update a user profile","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /profiles/{userId}","href":"/api-reference/user-profiles/update-a-user-profile"},{"title":"Get a user address","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /profiles/{userId}/address","href":"/api-reference/user-profiles/get-a-user-address"},{"title":"Update a user address","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /profiles/{userId}/address","href":"/api-reference/user-profiles/update-a-user-address"},{"title":"Create a user profile picture","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /profile/{uuid}/picture","href":"/api-reference/user-profiles/create-a-user-profile-picture"},{"title":"Delete a user profile picture","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec delete /profile/{uuid}/picture","href":"/api-reference/user-profiles/delete-a-user-profile-picture"}]},{"group":"Users","pages":[{"title":"Get current logged-in user info","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /me","href":"/api-reference/users/get-current-logged-in-user-info"},{"title":"Check if phone verification is required","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /me/phone","href":"/api-reference/users/check-if-phone-verification-is-required"},{"title":"Check if verification is required","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /me/verification","href":"/api-reference/users/check-if-verification-is-required"},{"title":"Get the current user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/me","href":"/api-reference/users/get-the-current-user"},{"title":"Get a user by email","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/email={email}","href":"/api-reference/users/get-a-user-by-email"},{"title":"Get a user by username","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/username={username}","href":"/api-reference/users/get-a-user-by-username"},{"title":"Get a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /users/{user_id}","href":"/api-reference/users/get-a-user"},{"title":"Update a user","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec patch /users/{user_id}","href":"/api-reference/users/update-a-user"},{"title":"Reset email address","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/emailaddress","href":"/api-reference/users/reset-email-address"},{"title":"Reset user password","deprecated":null,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /users/{user_id}/resetpassword","href":"/api-reference/users/reset-user-password"}]},{"group":"Vouchers","pages":[{"title":"List vouchers","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec get /organizations/{organization_id}/vouchers","href":"/api-reference/vouchers/list-vouchers"},{"title":"Apply voucher","deprecated":true,"version":null,"openapi":"https://meta.upsun.com/openapi-spec post /organizations/{organization_id}/vouchers/apply","href":"/api-reference/vouchers/apply-voucher"}]}]}]},{"anchor":"CLI","icon":"terminal","pages":[{"title":"Upsun Cloud CLI","sidebarTitle":"CLI Home","icon":"terminal","mode":"custom","href":"/cli/index"},{"group":"Getting started","icon":"rocket","pages":[{"title":"Install the Upsun Cloud CLI","sidebarTitle":"Install","href":"/cli/install"},{"title":"Use the Upsun Cloud CLI","sidebarTitle":"Use","href":"/cli/use"},{"title":"Authenticate the Upsun Cloud CLI using an API token","sidebarTitle":"API tokens","href":"/cli/api-tokens"},{"title":"Initialize a project","href":"/cli/init"}]},{"group":"Reference","icon":"book-open","pages":[{"title":"CLI Command reference","sidebarTitle":"Command reference","href":"/cli/reference"},{"title":"AI coding agents","sidebarTitle":"AI coding agents","href":"/cli/ai-coding-agents"}]}]},{"anchor":"Changelog","icon":"scroll-text","pages":[{"title":"Changelog","href":"/changelog"}]}]},{"tab":"Blog","icon":"newspaper","pages":[{"title":"Blog","sidebarTitle":"Blog overview","icon":"newspaper","mode":"custom","href":"/posts"},{"group":"Articles","icon":"newspaper","pages":[{"title":"All Articles","sidebarTitle":"All","mode":"wide","href":"/posts/articles/index"},{"title":"Artificial Intelligence","sidebarTitle":"AI","mode":"wide","href":"/posts/articles/ai"},{"title":"How It Works","sidebarTitle":"How It Works","mode":"wide","href":"/posts/articles/how-it-works"},{"title":"How-Tos","sidebarTitle":"How-Tos","mode":"wide","href":"/posts/articles/how-tos"},{"title":"Insights","sidebarTitle":"Insights","mode":"wide","href":"/posts/articles/insights"},{"title":"Releases","sidebarTitle":"Releases","mode":"wide","href":"/posts/articles/releases"},{"title":"Hands-On","sidebarTitle":"Hands-On","mode":"wide","href":"/posts/articles/hands-on"}]}]},{"tab":"AI","icon":"sparkles","pages":[{"mode":"custom","title":"AI on Upsun","href":"/ai"},{"group":"MCP","root":{"title":"Overview","icon":"book-open","sidebarTitle":"Overview","tag":"New","href":"/ai/mcp/overview"},"pages":[{"title":"Upsun MCP on Cursor","sidebarTitle":"Cursor","href":"/ai/mcp/integrations/cursor"},{"title":"Upsun MCP on VSCode","sidebarTitle":"VSCode","href":"/ai/mcp/integrations/vscode"},{"title":"Upsun MCP on your Agent","sidebarTitle":"Other","href":"/ai/mcp/integrations/all"}]},{"group":"Onboarding","root":{"title":"Overview","icon":"book-open","sidebarTitle":"Overview","tag":"New","href":"/ai/onboarding/overview"},"pages":[{"title":"Setup","sidebarTitle":"Setup","href":"/ai/onboarding/setup"},{"title":"Best Practices","sidebarTitle":"Best Practices","href":"/ai/onboarding/best-practices"}]}]}]},"basePath":"","title":"Will AI make software companies worthless? - Upsun Developer","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}