[{"data":1,"prerenderedAt":961},["ShallowReactive",2],{"docs-page-en-\u002Fdocs\u002Fapi-reference":3,"docs-navigation-en":865,"docs-surround-en-\u002Fdocs\u002Fapi-reference":956},{"id":4,"title":5,"body":6,"claimDependencies":849,"description":15,"extension":852,"locale":853,"meta":854,"missingMedia":855,"navigation":543,"owner":856,"path":857,"reviewStatus":858,"seo":859,"staleLinks":860,"stem":861,"technicalRisk":862,"translationKey":863,"__hash__":864},"docs_en\u002Fdocs\u002F7.api-reference.md","API Reference",{"type":7,"value":8,"toc":822},"minimark",[9,16,21,24,29,40,44,47,56,59,63,66,72,118,123,139,141,145,200,203,209,211,215,218,222,228,232,238,242,248,252,258,262,265,269,272,276,279,283,286,288,292,295,300,332,337,502,504,508,511,522,527,618,620,624,628,631,645,649,652,666,670,673,687,689,693,698,701,730,735,738,752,754,758,763,789,794,807,809,818],[10,11,12],"blockquote",{},[13,14,15],"p",{},"Public REST API for Jetscale integrations",[17,18,20],"h2",{"id":19},"overview","Overview",[13,22,23],{},"The Jetscale API allows you to programmatically access recommendations, cost data, and platform features. Use this API to build custom integrations, automate workflows, or create internal dashboards.",[25,26,28],"h3",{"id":27},"base-url","Base URL",[30,31,36],"pre",{"className":32,"code":34,"language":35},[33],"language-text","Production: https:\u002F\u002Fapi.jetscale.ai\u002Fv1\n","text",[37,38,34],"code",{"__ignoreMap":39},"",[25,41,43],{"id":42},"coming-soon","Coming Soon",[13,45,46],{},"The Jetscale Public API is currently in beta. Full documentation and access will be available in Q2 2025.",[13,48,49,50,55],{},"Early access is available for Enterprise customers. Contact ",[51,52,54],"a",{"href":53},"mailto:sales@jetscale.ai","sales@jetscale.ai"," for details.",[57,58],"hr",{},[17,60,62],{"id":61},"authentication","Authentication",[13,64,65],{},"The Jetscale API uses API keys for authentication. You can generate API keys from your account settings.",[13,67,68],{},[69,70,71],"strong",{},"Include your API key in the Authorization header:",[30,73,77],{"className":74,"code":75,"language":76,"meta":39,"style":39},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl https:\u002F\u002Fapi.jetscale.ai\u002Fv1\u002Frecommendations \\\n  -H \"Authorization: Bearer ${JETSCALE_API_KEY}\"\n","bash",[37,78,79,96],{"__ignoreMap":39},[80,81,84,88,92],"span",{"class":82,"line":83},"line",1,[80,85,87],{"class":86},"sBMFI","curl",[80,89,91],{"class":90},"sfazB"," https:\u002F\u002Fapi.jetscale.ai\u002Fv1\u002Frecommendations",[80,93,95],{"class":94},"sTEyZ"," \\\n",[80,97,99,102,106,109,112,115],{"class":82,"line":98},2,[80,100,101],{"class":90},"  -H",[80,103,105],{"class":104},"sMK4o"," \"",[80,107,108],{"class":90},"Authorization: Bearer ",[80,110,111],{"class":104},"${",[80,113,114],{"class":94},"JETSCALE_API_KEY",[80,116,117],{"class":104},"}\"\n",[13,119,120],{},[69,121,122],{},"Security Best Practices:",[124,125,126,130,133,136],"ul",{},[127,128,129],"li",{},"Never expose API keys in client-side code",[127,131,132],{},"Rotate keys regularly",[127,134,135],{},"Use different keys for different environments",[127,137,138],{},"Revoke unused keys immediately",[57,140],{},[17,142,144],{"id":143},"rate-limits","Rate Limits",[146,147,148,164],"table",{},[149,150,151],"thead",{},[152,153,154,158,161],"tr",{},[155,156,157],"th",{},"Plan",[155,159,160],{},"Requests\u002FMinute",[155,162,163],{},"Requests\u002FHour",[165,166,167,179,190],"tbody",{},[152,168,169,173,176],{},[170,171,172],"td",{},"Free Trial",[170,174,175],{},"30",[170,177,178],{},"500",[152,180,181,184,187],{},[170,182,183],{},"Pro",[170,185,186],{},"100",[170,188,189],{},"5,000",[152,191,192,195,198],{},[170,193,194],{},"Enterprise",[170,196,197],{},"Custom",[170,199,197],{},[13,201,202],{},"Rate limit information is included in response headers:",[30,204,207],{"className":205,"code":206,"language":35},[33],"X-RateLimit-Limit: 100\nX-RateLimit-Remaining: 87\nX-RateLimit-Reset: 1706529600\n",[37,208,206],{"__ignoreMap":39},[57,210],{},[17,212,214],{"id":213},"endpoints-coming-soon","Endpoints (Coming Soon)",[13,216,217],{},"The following endpoints will be available in the public API:",[25,219,221],{"id":220},"recommendations","Recommendations",[30,223,226],{"className":224,"code":225,"language":35},[33],"GET    \u002Fv1\u002Frecommendations          List all recommendations\nGET    \u002Fv1\u002Frecommendations\u002F:id      Get recommendation details\nPOST   \u002Fv1\u002Frecommendations\u002F:id\u002Fapprove   Approve recommendation\nPOST   \u002Fv1\u002Frecommendations\u002F:id\u002Freject    Reject recommendation\n",[37,227,225],{"__ignoreMap":39},[25,229,231],{"id":230},"cloud-accounts","Cloud Accounts",[30,233,236],{"className":234,"code":235,"language":35},[33],"GET    \u002Fv1\u002Faccounts                 List connected cloud accounts\nGET    \u002Fv1\u002Faccounts\u002F:id             Get account details\nPOST   \u002Fv1\u002Faccounts                 Connect new cloud account\n",[37,237,235],{"__ignoreMap":39},[25,239,241],{"id":240},"cost-data","Cost Data",[30,243,246],{"className":244,"code":245,"language":35},[33],"GET    \u002Fv1\u002Fcosts\u002Fsummary            Get cost summary\nGET    \u002Fv1\u002Fcosts\u002Ftrends             Get cost trends\nGET    \u002Fv1\u002Fsavings                  Get realized savings\n",[37,247,245],{"__ignoreMap":39},[25,249,251],{"id":250},"resources","Resources",[30,253,256],{"className":254,"code":255,"language":35},[33],"GET    \u002Fv1\u002Fresources                List discovered resources\nGET    \u002Fv1\u002Fresources\u002F:id            Get resource details\n",[37,257,255],{"__ignoreMap":39},[25,259,261],{"id":260},"github-integration","GitHub Integration",[13,263,264],{},"Programmatic GitHub integration endpoints are planned for the public API.",[25,266,268],{"id":267},"jira-integration","Jira Integration",[13,270,271],{},"Programmatic Jira integration endpoints are planned for the public API.",[25,273,275],{"id":274},"slack-integration","Slack Integration",[13,277,278],{},"Programmatic Slack integration endpoints are planned for the public API.",[25,280,282],{"id":281},"bitbucket-integration","Bitbucket Integration",[13,284,285],{},"Programmatic Bitbucket integration endpoints are planned for the public API.",[57,287],{},[17,289,291],{"id":290},"webhooks-coming-soon","Webhooks (Coming Soon)",[13,293,294],{},"Register webhooks to receive real-time notifications:",[13,296,297],{},[69,298,299],{},"Events:",[124,301,302,308,314,320,326],{},[127,303,304,307],{},[37,305,306],{},"recommendation.created"," - New recommendation available",[127,309,310,313],{},[37,311,312],{},"recommendation.approved"," - Recommendation approved",[127,315,316,319],{},[37,317,318],{},"recommendation.deployed"," - Changes deployed",[127,321,322,325],{},[37,323,324],{},"savings.milestone"," - Savings milestone reached",[127,327,328,331],{},[37,329,330],{},"account.connected"," - New cloud account connected",[13,333,334],{},[69,335,336],{},"Webhook Payload Example:",[30,338,342],{"className":339,"code":340,"language":341,"meta":39,"style":39},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"event\": \"recommendation.created\",\n  \"timestamp\": \"2025-01-29T10:30:00Z\",\n  \"data\": {\n    \"recommendation_id\": \"rec_abc123\",\n    \"resource_type\": \"EC2\",\n    \"estimated_savings\": 248.16,\n    \"risk_level\": \"low\"\n  }\n}\n","json",[37,343,344,349,373,394,409,431,452,470,490,496],{"__ignoreMap":39},[80,345,346],{"class":82,"line":83},[80,347,348],{"class":104},"{\n",[80,350,351,354,358,361,364,366,368,370],{"class":82,"line":98},[80,352,353],{"class":104},"  \"",[80,355,357],{"class":356},"spNyl","event",[80,359,360],{"class":104},"\"",[80,362,363],{"class":104},":",[80,365,105],{"class":104},[80,367,306],{"class":90},[80,369,360],{"class":104},[80,371,372],{"class":104},",\n",[80,374,376,378,381,383,385,387,390,392],{"class":82,"line":375},3,[80,377,353],{"class":104},[80,379,380],{"class":356},"timestamp",[80,382,360],{"class":104},[80,384,363],{"class":104},[80,386,105],{"class":104},[80,388,389],{"class":90},"2025-01-29T10:30:00Z",[80,391,360],{"class":104},[80,393,372],{"class":104},[80,395,397,399,402,404,406],{"class":82,"line":396},4,[80,398,353],{"class":104},[80,400,401],{"class":356},"data",[80,403,360],{"class":104},[80,405,363],{"class":104},[80,407,408],{"class":104}," {\n",[80,410,412,415,418,420,422,424,427,429],{"class":82,"line":411},5,[80,413,414],{"class":104},"    \"",[80,416,417],{"class":86},"recommendation_id",[80,419,360],{"class":104},[80,421,363],{"class":104},[80,423,105],{"class":104},[80,425,426],{"class":90},"rec_abc123",[80,428,360],{"class":104},[80,430,372],{"class":104},[80,432,434,436,439,441,443,445,448,450],{"class":82,"line":433},6,[80,435,414],{"class":104},[80,437,438],{"class":86},"resource_type",[80,440,360],{"class":104},[80,442,363],{"class":104},[80,444,105],{"class":104},[80,446,447],{"class":90},"EC2",[80,449,360],{"class":104},[80,451,372],{"class":104},[80,453,455,457,460,462,464,468],{"class":82,"line":454},7,[80,456,414],{"class":104},[80,458,459],{"class":86},"estimated_savings",[80,461,360],{"class":104},[80,463,363],{"class":104},[80,465,467],{"class":466},"sbssI"," 248.16",[80,469,372],{"class":104},[80,471,473,475,478,480,482,484,487],{"class":82,"line":472},8,[80,474,414],{"class":104},[80,476,477],{"class":86},"risk_level",[80,479,360],{"class":104},[80,481,363],{"class":104},[80,483,105],{"class":104},[80,485,486],{"class":90},"low",[80,488,489],{"class":104},"\"\n",[80,491,493],{"class":82,"line":492},9,[80,494,495],{"class":104},"  }\n",[80,497,499],{"class":82,"line":498},10,[80,500,501],{"class":104},"}\n",[57,503],{},[17,505,507],{"id":506},"sdk-libraries-roadmap","SDK Libraries (Roadmap)",[13,509,510],{},"Official SDK libraries are planned for:",[124,512,513,516,519],{},[127,514,515],{},"Python",[127,517,518],{},"JavaScript\u002FTypeScript",[127,520,521],{},"Go",[13,523,524],{},[69,525,526],{},"Example Usage (Python - Coming Soon):",[30,528,532],{"className":529,"code":530,"language":531,"meta":39,"style":39},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from jetscale import JetscaleClient\n\nclient = JetscaleClient(api_key=\"your_api_key\")\n\n# Get recommendations\nrecommendations = client.recommendations.list(\n    status=\"pending\",\n    min_savings=100\n)\n\n# Approve recommendation\nclient.recommendations.approve(\"rec_abc123\")\n\n# Get cost summary\nsummary = client.costs.summary(period=\"last_30_days\")\nprint(f\"Total savings: ${summary['total_savings']}\")\n","python",[37,533,534,539,545,550,554,559,564,569,574,579,583,589,595,600,606,612],{"__ignoreMap":39},[80,535,536],{"class":82,"line":83},[80,537,538],{},"from jetscale import JetscaleClient\n",[80,540,541],{"class":82,"line":98},[80,542,544],{"emptyLinePlaceholder":543},true,"\n",[80,546,547],{"class":82,"line":375},[80,548,549],{},"client = JetscaleClient(api_key=\"your_api_key\")\n",[80,551,552],{"class":82,"line":396},[80,553,544],{"emptyLinePlaceholder":543},[80,555,556],{"class":82,"line":411},[80,557,558],{},"# Get recommendations\n",[80,560,561],{"class":82,"line":433},[80,562,563],{},"recommendations = client.recommendations.list(\n",[80,565,566],{"class":82,"line":454},[80,567,568],{},"    status=\"pending\",\n",[80,570,571],{"class":82,"line":472},[80,572,573],{},"    min_savings=100\n",[80,575,576],{"class":82,"line":492},[80,577,578],{},")\n",[80,580,581],{"class":82,"line":498},[80,582,544],{"emptyLinePlaceholder":543},[80,584,586],{"class":82,"line":585},11,[80,587,588],{},"# Approve recommendation\n",[80,590,592],{"class":82,"line":591},12,[80,593,594],{},"client.recommendations.approve(\"rec_abc123\")\n",[80,596,598],{"class":82,"line":597},13,[80,599,544],{"emptyLinePlaceholder":543},[80,601,603],{"class":82,"line":602},14,[80,604,605],{},"# Get cost summary\n",[80,607,609],{"class":82,"line":608},15,[80,610,611],{},"summary = client.costs.summary(period=\"last_30_days\")\n",[80,613,615],{"class":82,"line":614},16,[80,616,617],{},"print(f\"Total savings: ${summary['total_savings']}\")\n",[57,619],{},[17,621,623],{"id":622},"use-cases","Use Cases",[25,625,627],{"id":626},"custom-dashboards","Custom Dashboards",[13,629,630],{},"Build internal dashboards using the Jetscale API:",[124,632,633,636,639,642],{},[127,634,635],{},"Pull recommendation data",[127,637,638],{},"Display cost trends",[127,640,641],{},"Show savings metrics",[127,643,644],{},"Embed Jetscale insights into existing tools",[25,646,648],{"id":647},"automation-workflows","Automation Workflows",[13,650,651],{},"Automate cost optimization:",[124,653,654,657,660,663],{},[127,655,656],{},"Auto-approve low-risk recommendations",[127,658,659],{},"Trigger deployments based on custom rules",[127,661,662],{},"Send Slack notifications for new recommendations",[127,664,665],{},"Generate weekly cost reports",[25,667,669],{"id":668},"integration-with-cicd","Integration with CI\u002FCD",[13,671,672],{},"Integrate cost optimization into your deployment pipeline:",[124,674,675,678,681,684],{},[127,676,677],{},"Check for recommendations before deploying",[127,679,680],{},"Block deployments if cost thresholds exceeded",[127,682,683],{},"Automatically implement approved optimizations",[127,685,686],{},"Track cost impact of deployments",[57,688],{},[17,690,692],{"id":691},"getting-started","Getting Started",[13,694,695],{},[69,696,697],{},"Beta Access:",[13,699,700],{},"The Jetscale API is currently in private beta. To request access:",[702,703,704,712,718,724],"ol",{},[127,705,706,709,710],{},[69,707,708],{},"Contact Sales:"," ",[51,711,54],{"href":53},[127,713,714,717],{},[69,715,716],{},"Provide Use Case:"," Describe your integration goals",[127,719,720,723],{},[69,721,722],{},"Receive API Key:"," Get beta access credentials",[127,725,726,729],{},[69,727,728],{},"Join Beta Program:"," Access early documentation and support",[13,731,732],{},[69,733,734],{},"Enterprise Customers:",[13,736,737],{},"All Enterprise plan customers have full API access. Contact your customer success manager for:",[124,739,740,743,746,749],{},[127,741,742],{},"API key generation",[127,744,745],{},"Custom rate limits",[127,747,748],{},"Integration support",[127,750,751],{},"Webhook configuration",[57,753],{},[17,755,757],{"id":756},"support","Support",[13,759,760],{},[69,761,762],{},"Questions about the API?",[124,764,765,772,781],{},[127,766,767,768],{},"Email: ",[51,769,771],{"href":770},"mailto:api-support@jetscale.ai","api-support@jetscale.ai",[127,773,774,775],{},"Documentation Issues: ",[51,776,780],{"href":777,"rel":778},"https:\u002F\u002Fgithub.com\u002Fjetscale-ai\u002Fdocs\u002Fissues",[779],"nofollow","Report Here",[127,782,783,784],{},"Feature Requests: ",[51,785,788],{"href":786,"rel":787},"https:\u002F\u002Fjetscale.ai\u002Ffeature-requests",[779],"Request Feature",[13,790,791],{},[69,792,793],{},"Related Documentation:",[124,795,796,802],{},[127,797,798],{},[51,799,801],{"href":800},"\u002Fdocs\u002Fhow-it-works","How Jetscale Works",[127,803,804],{},[51,805,261],{"href":806},"\u002Fdocs\u002Fintegrations\u002Fgithub",[57,808],{},[13,810,811,815],{},[812,813,814],"em",{},"Last Updated: January 29, 2025",[812,816,817],{},"API Version: 1.0 (Beta)",[819,820,821],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":39,"searchDepth":98,"depth":98,"links":823},[824,828,829,830,840,841,842,847,848],{"id":19,"depth":98,"text":20,"children":825},[826,827],{"id":27,"depth":375,"text":28},{"id":42,"depth":375,"text":43},{"id":61,"depth":98,"text":62},{"id":143,"depth":98,"text":144},{"id":213,"depth":98,"text":214,"children":831},[832,833,834,835,836,837,838,839],{"id":220,"depth":375,"text":221},{"id":230,"depth":375,"text":231},{"id":240,"depth":375,"text":241},{"id":250,"depth":375,"text":251},{"id":260,"depth":375,"text":261},{"id":267,"depth":375,"text":268},{"id":274,"depth":375,"text":275},{"id":281,"depth":375,"text":282},{"id":290,"depth":98,"text":291},{"id":506,"depth":98,"text":507},{"id":622,"depth":98,"text":623,"children":843},[844,845,846],{"id":626,"depth":375,"text":627},{"id":647,"depth":375,"text":648},{"id":668,"depth":375,"text":669},{"id":691,"depth":98,"text":692},{"id":756,"depth":98,"text":757},[850,851],"api-contract","public-api-availability","md","en",{},[],"Platform Engineering","\u002Fdocs\u002Fapi-reference","legacy-import",{"title":5,"description":15},[],"docs\u002F7.api-reference","high","api-reference","E79jkGCSf5137X22gojJQcr8gk6dWKBPUHhV1UnOyKk",[866],{"title":867,"path":868,"stem":869,"children":870,"page":-1},"Docs","\u002Fdocs","docs",[871,874,878,882,886,888,905,909,947,951,952],{"title":872,"path":868,"stem":873},"Jetscale Documentation","docs\u002Findex",{"title":875,"path":876,"stem":877},"Getting Started with Jetscale","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",{"title":879,"path":880,"stem":881},"AWS Setup Guide","\u002Fdocs\u002Faws-setup","docs\u002F2.aws-setup",{"title":883,"path":884,"stem":885},"Azure Setup Guide","\u002Fdocs\u002Fazure-setup","docs\u002F3.azure-setup",{"title":801,"path":800,"stem":887},"docs\u002F4.how-it-works",{"title":889,"path":890,"stem":891,"children":892,"page":-1},"Integrations","\u002Fdocs\u002Fintegrations","docs\u002F4.integrations\u002Findex",[893,894,896,899,902],{"title":889,"path":890,"stem":891},{"title":261,"path":806,"stem":895},"docs\u002F4.integrations\u002F1.github",{"title":268,"path":897,"stem":898},"\u002Fdocs\u002Fintegrations\u002Fjira","docs\u002F4.integrations\u002F2.jira",{"title":275,"path":900,"stem":901},"\u002Fdocs\u002Fintegrations\u002Fslack","docs\u002F4.integrations\u002F3.slack",{"title":282,"path":903,"stem":904},"\u002Fdocs\u002Fintegrations\u002Fbitbucket","docs\u002F4.integrations\u002F4.bitbucket",{"title":906,"path":907,"stem":908},"AI-Powered Analysis","\u002Fdocs\u002Fai-analysis","docs\u002F5.ai-analysis",{"title":910,"path":911,"stem":912,"children":913,"page":-1},"Supported Services","\u002Fdocs\u002Fservices","docs\u002F5.services\u002Findex",[914,915,919,923,927,931,935,939,943],{"title":910,"path":911,"stem":912},{"title":916,"path":917,"stem":918},"EBS Optimization","\u002Fdocs\u002Fservices\u002Febs","docs\u002F5.services\u002F1.ebs",{"title":920,"path":921,"stem":922},"EC2 Optimization","\u002Fdocs\u002Fservices\u002Fec2","docs\u002F5.services\u002F2.ec2",{"title":924,"path":925,"stem":926},"EKS Optimization","\u002Fdocs\u002Fservices\u002Feks","docs\u002F5.services\u002F3.eks",{"title":928,"path":929,"stem":930},"ElastiCache Optimization","\u002Fdocs\u002Fservices\u002Felasticache","docs\u002F5.services\u002F4.elasticache",{"title":932,"path":933,"stem":934},"RDS Optimization","\u002Fdocs\u002Fservices\u002Frds","docs\u002F5.services\u002F5.rds",{"title":936,"path":937,"stem":938},"S3 Optimization","\u002Fdocs\u002Fservices\u002Fs3","docs\u002F5.services\u002F6.s3",{"title":940,"path":941,"stem":942},"Azure SQL Optimization","\u002Fdocs\u002Fservices\u002Fazure-sql","docs\u002F5.services\u002F7.azure-sql",{"title":944,"path":945,"stem":946},"Azure VM Optimization","\u002Fdocs\u002Fservices\u002Fazure-vm","docs\u002F5.services\u002F8.azure-vm",{"title":948,"path":949,"stem":950},"Recommendation Workflow","\u002Fdocs\u002Frecommendation-workflow","docs\u002F6.recommendation-workflow",{"title":5,"path":857,"stem":861},{"title":953,"path":954,"stem":955},"FAQ","\u002Fdocs\u002Ffaq","docs\u002F8.faq",[957,959],{"title":948,"path":949,"stem":950,"description":958,"children":-1},"Complete guide to Jetscale's end-to-end cost optimization process",{"title":953,"path":954,"stem":955,"description":960,"children":-1},"Jetscale is an AI-powered cloud cost optimization platform that automatically analyzes your infrastructure and generates actionable recommendations with production-ready...",1788204002932]