Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"CostGraph Documentation","colors":{"primary":"#0F6DFF","light":"#5394FD","dark":"#0E46A0"},"logo":{"light":"https://mintcdn.com/baselinehq/-IF4tubgS4xRHZmP/logo/light.svg?fit=max\u0026auto=format\u0026n=-IF4tubgS4xRHZmP\u0026q=85\u0026s=a6f2dfc62fcefab5b9a6a8dfbd68361e","dark":"https://mintcdn.com/baselinehq/-IF4tubgS4xRHZmP/logo/dark.svg?fit=max\u0026auto=format\u0026n=-IF4tubgS4xRHZmP\u0026q=85\u0026s=d24a43e07a1f6d84b6149af99a325256"},"favicon":"https://mintcdn.com/baselinehq/-IF4tubgS4xRHZmP/favicon.svg?fit=max\u0026auto=format\u0026n=-IF4tubgS4xRHZmP\u0026q=85\u0026s=95354c4207a0a0cd573d73e25604584c","background":{"color":{"light":"#FFFFFF","dark":"#090A0B"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Talk to support"}],"primary":{"type":"button","label":"Platform","href":"https://app.costgraph.ai"}},"footer":{"socials":{"x":"https://x.com/costgraphai","github":"https://github.com/baselinehq","linkedin":"https://linkedin.com/company/baselinehq"}},"fonts":{"heading":{"family":"Funnel Display"},"body":{"family":"Geist"}},"integrations":{"posthog":{"apiKey":"phc_nCm1gbKFyVXULpPvJpLOuLdy3TGIS4uB4DwOOwnmYC0","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Documentation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/baselinehq/icons/docs.svg","href":"https://docs.costgraph.ai"},{"anchor":"Community","icon":"https://mintlify.s3.us-west-1.amazonaws.com/baselinehq/icons/x.svg","href":"https://x.com/costgraphai"},{"anchor":"Blog","icon":"https://mintlify.s3.us-west-1.amazonaws.com/baselinehq/icons/blog.svg","href":"https://blog.costgraph.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"baselinehq","hasAudioNarration":false,"actualSubdomain":"baselinehq","customDomains":["docs.costgraph.ai"],"gitSource":{"type":"github","owner":"baselinehq","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb09941c0770128d31ef10","collectionId":"16aba8ed-a2cf-4907-b027-a968c9062f9c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb09941c0770128d31ef10"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6aeb09941c0770128d31ef10","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"CostGraph","count":500},{"language":"default","tag":"API reference","count":376},{"language":"default","tag":"Endpoints","count":375},{"language":"default","tag":"Integrations","count":145},{"language":"default","tag":"Workflows","count":101},{"language":"default","tag":"Pricing API","count":96},{"language":"default","tag":"Sandbox providers","count":67},{"language":"default","tag":"Cloud","count":45},{"language":"default","tag":"Kubernetes clusters","count":34},{"language":"default","tag":"Virtual tags","count":30}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"vite-origin","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":"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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"img[src*=mcp]{filter:brightness(0)!important}.dark img[src*=mcp],html.dark img[src*=mcp],html[data-theme=dark] img[src*=mcp]{filter:brightness(0) invert(1)!important}.sidebar-group>li[data-group-tag]+li[data-group-tag]{margin-top:.75rem}.sidebar-group>li[data-group-tag]>button{padding-block:.625rem}html.dark img[src^=\"/icons/\"]{filter:invert(1)}"}],"page":{"pagePath":"api-reference/ci/choose-runners-for-a-workflow-run","slug":"/api-reference/ci/choose-runners-for-a-workflow-run","pageMetadata":{"title":"Choose runners for a workflow run","description":"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/ci/route","href":"/api-reference/ci/choose-runners-for-a-workflow-run","autogeneratedByOpenApi":true},"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: \"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Choose runners for a workflow run","description":"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/ci/route","href":"/api-reference/ci/choose-runners-for-a-workflow-run","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.","tags":["ci"],"summary":"Choose runners for a workflow run","parameters":["641b683d-da9c-4d73-a86b-d1ded5997fc9"],"requestBody":"5c3a5f64-50d4-4c8e-904a-94ad66981d28","responses":{"200":"5ce7897d-ae38-4341-954f-97a9b8fc6926","400":"a36630ae-7fe2-4ffb-bdcb-2c71baaabb2f","403":"d1f1eb92-37ce-48aa-b517-c3b1cc169f25"},"security":["37acfc0f-ba8b-48c4-868f-cbe170e52b9a"],"method":"post","type":"path","servers":["211e6744-754d-434c-afae-560c08619dd5"],"path":"/api/v1/tenant/ci/route","baseUrlOptions":["https://api.costgraph.ai"],"title":"Choose runners for a workflow run","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"641b683d-da9c-4d73-a86b-d1ded5997fc9":{"description":"Tenant ID","name":"X-CostGraph-Tenant-ID","in":"header","schema":{"type":"string","description":"Tenant ID","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["default"],"properties":{"default":{"type":"string","example":"blacksmith-4vcpu-ubuntu-2404","isRequired":true,"uniqueKey":"default","typeLabel":"string"},"allow_gpu":{"oneOf":[{"type":"boolean","uniqueKey":"allow_gpu.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"allow_gpu.oneOf.1","typeLabel":"null"}],"uniqueKey":"allow_gpu","typeLabel":"boolean | null"},"allowed_arch":{"type":"array","items":{"type":"string","uniqueKey":"allowed_arch.items.[INDEX]","typeLabel":"string"},"uniqueKey":"allowed_arch","typeLabel":"string[]"},"allowed_os":{"type":"array","items":{"type":"string","uniqueKey":"allowed_os.items.[INDEX]","typeLabel":"string"},"uniqueKey":"allowed_os","typeLabel":"string[]"},"arch":{"type":"string","enum":["","x86_64","arm64"],"uniqueKey":"arch","typeLabel":"enum\u003cstring>"},"cpu":{"type":"integer","uniqueKey":"cpu","typeLabel":"integer"},"docker":{"type":"boolean","uniqueKey":"docker","typeLabel":"boolean"},"event":{"type":"string","example":"pull_request","uniqueKey":"event","typeLabel":"string"},"fork":{"type":"boolean","uniqueKey":"fork","typeLabel":"boolean"},"gpu":{"type":"integer","uniqueKey":"gpu","typeLabel":"integer"},"job_names":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"job_names.additionalProperties","typeLabel":"string"},"uniqueKey":"job_names","typeLabel":"object"},"jobs":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"jobs.additionalProperties","typeLabel":"string"},"uniqueKey":"jobs","typeLabel":"object"},"max_cores":{"oneOf":[{"type":"integer","minimum":1,"uniqueKey":"max_cores.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"uniqueKey":"max_cores.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_cores","typeLabel":"integer | null"},"os":{"type":"string","enum":["","linux","macos","windows"],"uniqueKey":"os","typeLabel":"enum\u003cstring>"},"policy":{"type":"string","enum":["","cheapest","balanced","fastest"],"uniqueKey":"policy","typeLabel":"enum\u003cstring>"},"providers":{"type":"array","items":{"type":"string","uniqueKey":"providers.items.[INDEX]","typeLabel":"string"},"uniqueKey":"providers","typeLabel":"string[]"},"pull_request":{"oneOf":[{"type":"integer","uniqueKey":"pull_request.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"pull_request.oneOf.1","typeLabel":"null"}],"uniqueKey":"pull_request","typeLabel":"integer | null"},"ram_gb":{"oneOf":[{"type":"number","uniqueKey":"ram_gb.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"ram_gb.oneOf.1","typeLabel":"null"}],"uniqueKey":"ram_gb","typeLabel":"number | null"},"release":{"type":"boolean","uniqueKey":"release","typeLabel":"boolean"},"repository":{"type":"string","example":"baselinehq/backend","uniqueKey":"repository","typeLabel":"string"},"route_job":{"type":"string","example":"route","uniqueKey":"route_job","typeLabel":"string"},"run_attempt":{"type":"integer","uniqueKey":"run_attempt","typeLabel":"integer"},"run_id":{"type":"integer","uniqueKey":"run_id","typeLabel":"integer"},"runner_name":{"type":"string","uniqueKey":"runner_name","typeLabel":"string"},"secrets":{"oneOf":[{"type":"boolean","uniqueKey":"secrets.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"secrets.oneOf.1","typeLabel":"null"}],"uniqueKey":"secrets","typeLabel":"boolean | null"},"workflow":{"type":"string","example":"CI","uniqueKey":"workflow","typeLabel":"string"},"workflow_path":{"type":"string","example":".github/workflows/ci.yml","uniqueKey":"workflow_path","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"default":"blacksmith-4vcpu-ubuntu-2404","allow_gpu":true,"allowed_arch":["\u003cstring>"],"allowed_os":["\u003cstring>"],"cpu":123,"docker":true,"event":"pull_request","fork":true,"gpu":123,"job_names":{},"jobs":{},"max_cores":2,"providers":["\u003cstring>"],"pull_request":123,"ram_gb":123,"release":true,"repository":"baselinehq/backend","route_job":"route","run_attempt":123,"run_id":123,"runner_name":"\u003cstring>","secrets":true,"workflow":"CI","workflow_path":".github/workflows/ci.yml"}}},"exampleType":"generated"}},"description":"Workflow run and the default runner of each job","required":true,"exampleType":"generated"},"responses":{"5ce7897d-ae38-4341-954f-97a9b8fc6926":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["message","status"],"properties":{"message":{"type":"string","example":"some message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"success","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"data":{"type":"object","required":["jobs","runner"],"properties":{"jobs":{"type":"object","additionalProperties":{"type":"object","required":["reason","runner"],"properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"data.jobs.additionalProperties.reason","typeLabel":"string"},"runner":{"type":"string","isRequired":true,"uniqueKey":"data.jobs.additionalProperties.runner","typeLabel":"string"}},"uniqueKey":"data.jobs.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.jobs","typeLabel":"object"},"runner":{"type":"string","isRequired":true,"uniqueKey":"data.runner","typeLabel":"string"},"billing_url":{"type":"string","uniqueKey":"data.billing_url","typeLabel":"string"},"decision_id":{"type":"string","uniqueKey":"data.decision_id","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"some message","status":"success","data":{"jobs":{},"runner":"\u003cstring>","billing_url":"\u003cstring>","decision_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"a36630ae-7fe2-4ffb-bdcb-2c71baaabb2f":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["message","status"],"properties":{"message":{"type":"string","example":"some message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"some message","status":"error"}}},"exampleType":"generated"}},"exampleType":"generated"},"d1f1eb92-37ce-48aa-b517-c3b1cc169f25":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["message","status"],"properties":{"message":{"type":"string","example":"some message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"some message","status":"error"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"37acfc0f-ba8b-48c4-868f-cbe170e52b9a":{"ApiKeyAuth":{"description":"API key for machine-to-machine authentication","type":"apiKey","name":"X-API-Key","in":"header","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"211e6744-754d-434c-afae-560c08619dd5":{"url":"https://api.costgraph.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"API key for machine-to-machine authentication","type":"apiKey","name":"X-API-Key","in":"header","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"API key for machine-to-machine authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/costgraph/openapi.json"},"subdomain":"baselinehq","siteName":"CostGraph Documentation","title":"Choose runners for a workflow run - CostGraph Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T08:29:06.985Z","originalFileLocation":"api-reference/ci/choose-runners-for-a-workflow-run.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=\"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CostGraph Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_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/baselinehq/qtJSfbNV_Pn8YuHJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Choose runners for a workflow run - CostGraph Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CostGraph Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://baselinehq.mintlify.app/_mintlify/api/og/v2?division=CI\u0026amp;title=Choose+runners+for+a+workflow+run\u0026amp;description=Picks+the+runner+label+for+each+job+of+a+GitHub+Actions+run+with+CostGraph+AutoPilot.+Set+secrets+to+false+for+jobs+that+use+no+secrets%3B+only+those+go+to+a+prov\u0026amp;theme=1871262806bb9fe14ff59353\u0026amp;signature=1068b95e8c82e2c64c786c40982530eb9653406a3461a6339ca6f34f1c7fe3d1\">\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=\"Choose runners for a workflow run - CostGraph Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://baselinehq.mintlify.app/_mintlify/api/og/v2?division=CI\u0026amp;title=Choose+runners+for+a+workflow+run\u0026amp;description=Picks+the+runner+label+for+each+job+of+a+GitHub+Actions+run+with+CostGraph+AutoPilot.+Set+secrets+to+false+for+jobs+that+use+no+secrets%3B+only+those+go+to+a+prov\u0026amp;theme=1871262806bb9fe14ff59353\u0026amp;signature=1068b95e8c82e2c64c786c40982530eb9653406a3461a6339ca6f34f1c7fe3d1\">\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/baselinehq/qtJSfbNV_Pn8YuHJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CostGraph Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F6DFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/ci/choose-runners-for-a-workflow-run.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.costgraph.ai/#organization\",\"name\":\"CostGraph Documentation\",\"url\":\"https://docs.costgraph.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/baselinehq/-IF4tubgS4xRHZmP/logo/light.svg?fit=max\u0026auto=format\u0026n=-IF4tubgS4xRHZmP\u0026q=85\u0026s=a6f2dfc62fcefab5b9a6a8dfbd68361e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.costgraph.ai#website\",\"name\":\"CostGraph Documentation\",\"url\":\"https://docs.costgraph.ai\",\"publisher\":{\"@id\":\"https://docs.costgraph.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run#webpage\",\"url\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run\",\"name\":\"Choose runners for a workflow run\",\"description\":\"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.\",\"dateModified\":\"2026-11-04T08:29:06.985Z\",\"isPartOf\":{\"@id\":\"https://docs.costgraph.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.costgraph.ai/api-reference/oauth/oauth-signing-keys\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CI\",\"item\":\"https://docs.costgraph.ai/api-reference/ci/sign-in-from-github-actions\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Choose runners for a workflow run\",\"item\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run#apireference\",\"headline\":\"Choose runners for a workflow run\",\"name\":\"Choose runners for a workflow run\",\"description\":\"Picks the runner label for each job of a GitHub Actions run with CostGraph AutoPilot. Set secrets to false for jobs that use no secrets; only those go to a provider set to allow_secrets false. Always answers 200 once signed in: when AutoPilot cannot or should not route a job, the job gets its default label and reason says why. When the reason is billing_required, billing_url links to the billing settings. A runner with no measured runs of the job that is cheaper than the default runs once with reason trial; when that run costs more or takes longer than the default, the runner is skipped for the job (trial_failed) until its price drops below the price at the trial. policy and providers set in the workflow file override the CostGraph settings for this workflow; providers can only narrow the providers allowed in CostGraph. With a token from GitHub Actions sign-in, repository, workflow_path, run_id, run_attempt and event come from the token, not the body.\",\"url\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run\",\"mainEntityOfPage\":{\"@id\":\"https://docs.costgraph.ai/api-reference/ci/choose-runners-for-a-workflow-run#webpage\"},\"dateModified\":\"2026-11-04T08:29:06.985Z\",\"publisher\":{\"@id\":\"https://docs.costgraph.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.costgraph.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CostGraph Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CostGraph Documentation","nav":{"global":{"anchors":[{"anchor":"Documentation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/baselinehq/icons/docs.svg","href":"https://docs.costgraph.ai"},{"anchor":"Community","icon":"https://mintlify.s3.us-west-1.amazonaws.com/baselinehq/icons/x.svg","href":"https://x.com/costgraphai"},{"anchor":"Blog","icon":"https://mintlify.s3.us-west-1.amazonaws.com/baselinehq/icons/blog.svg","href":"https://blog.costgraph.ai"}]},"tabs":[{"tab":"CostGraph","pages":[{"title":"CostGraph","href":""}]},{"tab":"Pricing API","pages":[{"title":"Pricing API","href":"/api-reference/introduction"}]},{"tab":"API reference","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/api-reference/costgraph/introduction"}]},{"group":"Endpoints","pages":[{"group":"OAuth","pages":[{"title":"OAuth signing keys","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /.well-known/jwks.json","href":"/api-reference/oauth/oauth-signing-keys"},{"title":"OAuth authorization server metadata","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /.well-known/oauth-authorization-server","href":"/api-reference/oauth/oauth-authorization-server-metadata"},{"title":"Approve an OAuth authorization request","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/oauth/authorize","href":"/api-reference/oauth/approve-an-oauth-authorization-request"},{"title":"Preview an OAuth authorization request","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/oauth/authorize/preview","href":"/api-reference/oauth/preview-an-oauth-authorization-request"},{"title":"Get OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/oauth/clients/{client_id}","href":"/api-reference/oauth/get-oauth-client"},{"title":"Register OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/oauth/register","href":"/api-reference/oauth/register-oauth-client"},{"title":"OAuth token revocation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/oauth/revoke","href":"/api-reference/oauth/oauth-token-revocation"},{"title":"OAuth token endpoint","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/oauth/token","href":"/api-reference/oauth/oauth-token-endpoint"},{"title":"OpenID Connect userinfo","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/oauth/userinfo","href":"/api-reference/oauth/openid-connect-userinfo"}]},{"group":"Billing","pages":[{"title":"Create portal session","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/billing/portal-session","href":"/api-reference/billing/create-portal-session"},{"title":"Get products","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/billing/products","href":"/api-reference/billing/get-products"},{"title":"Setup billing","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/billing/setup","href":"/api-reference/billing/setup-billing"},{"title":"Get billing status","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/billing/status","href":"/api-reference/billing/get-billing-status"},{"title":"Get billing usage","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/billing/usage","href":"/api-reference/billing/get-billing-usage"},{"title":"Record meter event","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/meter","href":"/api-reference/billing/record-meter-event"}]},{"group":"CI","pages":[{"title":"Sign in from GitHub Actions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/ci/github-actions/token","href":"/api-reference/ci/sign-in-from-github-actions"},{"title":"List runners AutoPilot for CI knows","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/labels","href":"/api-reference/ci/list-runners-autopilot-for-ci-knows"},{"title":"Allow or block runners","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/ci/autopilot/labels","href":"/api-reference/ci/allow-or-block-runners"},{"title":"Forget runner label settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/ci/autopilot/labels","href":"/api-reference/ci/forget-runner-label-settings"},{"title":"List runner providers and their limits","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/providers","href":"/api-reference/ci/list-runner-providers-and-their-limits"},{"title":"Set limits for a runner provider","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/ci/autopilot/providers","href":"/api-reference/ci/set-limits-for-a-runner-provider"},{"title":"AutoPilot for CI routing history","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/runs","href":"/api-reference/ci/autopilot-for-ci-routing-history"},{"title":"AutoPilot for CI savings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/savings","href":"/api-reference/ci/autopilot-for-ci-savings"},{"title":"AutoPilot for CI savings over time","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/savings/series","href":"/api-reference/ci/autopilot-for-ci-savings-over-time"},{"title":"Read AutoPilot for CI settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/settings","href":"/api-reference/ci/read-autopilot-for-ci-settings"},{"title":"Change AutoPilot for CI settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/ci/autopilot/settings","href":"/api-reference/ci/change-autopilot-for-ci-settings"},{"title":"List repositories and workflows AutoPilot for CI can configure","description":"Every repository and workflow that ran a GitHub Actions job in the last 90 days or has AutoPilot for CI settings, including workflows AutoPilot never routed. Per workflow: whether a routing request arrived in the last 30 days (routed), whether it has its own settings, the settings its workflow file sets (locked_keys, from the latest routing request in the last 30 days; set_in_git when any), and its effective policy with where it comes from.","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/workflows","href":"/api-reference/ci/list-repositories-and-workflows-autopilot-for-ci-can-configure"},{"title":"Choose runners for a workflow run","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/ci/route","href":"/api-reference/ci/choose-runners-for-a-workflow-run"},{"title":"List cheaper CI runners for a repository","description":"Lists up to three cheaper runners for a GitHub repository's CI jobs, the best one per runner shape in use, ordered by monthly savings. Each is no slower at the 75th percentile of job time than the current runner, going by the repository's own runs there or, when caveats include speed_estimated, by public CPU and queue-time benchmarks applied to the jobs' measured time; wall_time_change_percent is that change. routable is false for a suggestion CostGraph cannot route jobs to yet; its saving is not counted in any total. Alternatives not refreshed in the last two days are left out.","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ci/runner-alternatives","href":"/api-reference/ci/list-cheaper-ci-runners-for-a-repository"}]},{"group":"Config","pages":[{"title":"Dashboard runtime configuration","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/config","href":"/api-reference/config/dashboard-runtime-configuration"}]},{"group":"Integrations","pages":[{"title":"List the tenant's integration connections","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations","href":"/api-reference/integrations/list-the-tenants-integration-connections"},{"title":"Connect an AI gateway","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/ai-gateway/connect","href":"/api-reference/integrations/connect-an-ai-gateway"},{"title":"List supported AI gateways","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/ai-gateway/providers","href":"/api-reference/integrations/list-supported-ai-gateways"},{"title":"Connect AWS","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/aws/connect","href":"/api-reference/integrations/connect-aws"},{"title":"Get the AWS CloudFormation quick-create link","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/aws/setup-cloudformation","href":"/api-reference/integrations/get-the-aws-cloudformation-quick-create-link"},{"title":"Get the AWS CloudShell setup command","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/aws/setup-command","href":"/api-reference/integrations/get-the-aws-cloudshell-setup-command"},{"title":"Get an AWS setup session","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/aws/setup-sessions/{session_id}","href":"/api-reference/integrations/get-an-aws-setup-session"},{"title":"Get the Azure Cloud Shell setup command","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/azure/setup-command","href":"/api-reference/integrations/get-the-azure-cloud-shell-setup-command"},{"title":"List CI runner spend per GitHub organization","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/ci-runners","href":"/api-reference/integrations/list-ci-runner-spend-per-github-organization"},{"title":"Create a FOCUS push connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/connections","href":"/api-reference/integrations/create-a-focus-push-connection"},{"title":"Disconnect an integration","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/integrations/connections/{id}","href":"/api-reference/integrations/disconnect-an-integration"},{"title":"Rename an integration connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/integrations/connections/{id}","href":"/api-reference/integrations/rename-an-integration-connection"},{"title":"Update an AI gateway connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/integrations/connections/{id}/ai-gateway","href":"/api-reference/integrations/update-an-ai-gateway-connection"},{"title":"Update the Grafana connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/integrations/connections/{id}/grafana","href":"/api-reference/integrations/update-the-grafana-connection"},{"title":"Update an MCP server","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/integrations/connections/{id}/mcp-server","href":"/api-reference/integrations/update-an-mcp-server"},{"title":"Sync an integration now","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/connections/{id}/sync","href":"/api-reference/integrations/sync-an-integration-now"},{"title":"Connect a provider that CostGraph pulls billing data from","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/focus/connect","href":"/api-reference/integrations/connect-a-provider-that-costgraph-pulls-billing-data-from"},{"title":"List the providers CostGraph can pull billing data from","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/focus/providers","href":"/api-reference/integrations/list-the-providers-costgraph-can-pull-billing-data-from"},{"title":"Connect Google Cloud","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/gcp/connect","href":"/api-reference/integrations/connect-google-cloud"},{"title":"Get the Google Cloud Shell setup command","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/gcp/setup-command","href":"/api-reference/integrations/get-the-google-cloud-shell-setup-command"},{"title":"Get the Grafana connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/grafana","href":"/api-reference/integrations/get-the-grafana-connection"},{"title":"Connect Grafana","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/grafana/connect","href":"/api-reference/integrations/connect-grafana"},{"title":"Use a Grafana Cloud cost connection for metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/grafana/from-connection/{id}","href":"/api-reference/integrations/use-a-grafana-cloud-cost-connection-for-metrics"},{"title":"Connect an Infracost API key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/infracost/connect","href":"/api-reference/integrations/connect-an-infracost-api-key"},{"title":"Connect an MCP server","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/mcp-server/connect","href":"/api-reference/integrations/connect-an-mcp-server"},{"title":"Complete an MCP server sign-in","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/mcp-server/oauth/complete","href":"/api-reference/integrations/complete-an-mcp-server-sign-in"},{"title":"List MCP servers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/mcp-servers","href":"/api-reference/integrations/list-mcp-servers"},{"title":"Complete an OAuth connect","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/oauth/{provider}/complete","href":"/api-reference/integrations/complete-an-oauth-connect"},{"title":"Start an OAuth connect","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/oauth/{provider}/start","href":"/api-reference/integrations/start-an-oauth-connect"},{"title":"Choose what a connection is used for","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/integrations/{id}/modes","href":"/api-reference/integrations/choose-what-a-connection-is-used-for"},{"title":"Finish installing CostGraph in Slack","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/slack/install/complete","href":"/api-reference/integrations/finish-installing-costgraph-in-slack"},{"title":"Start installing CostGraph in Slack","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/slack/install/start","href":"/api-reference/integrations/start-installing-costgraph-in-slack"},{"title":"List Slack workspaces","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/slack/installations","href":"/api-reference/integrations/list-slack-workspaces"},{"title":"Remove CostGraph from a Slack workspace","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/slack/installations/{id}","href":"/api-reference/integrations/remove-costgraph-from-a-slack-workspace"},{"title":"Finish connecting a Slack account","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/slack/link/complete","href":"/api-reference/integrations/finish-connecting-a-slack-account"},{"title":"Start connecting a Slack account","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/slack/link/start","href":"/api-reference/integrations/start-connecting-a-slack-account"},{"title":"Slack app manifest for this deployment","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/slack/manifest","href":"/api-reference/integrations/slack-app-manifest-for-this-deployment"},{"title":"Start installing the CostGraph GitHub App","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/github/install-link","href":"/api-reference/integrations/start-installing-the-costgraph-github-app"},{"title":"Start connecting an app through Pipedream","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/pipedream/connect-token","href":"/api-reference/integrations/start-connecting-an-app-through-pipedream"},{"title":"Push FOCUS billing records","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/focus","href":"/api-reference/integrations/push-focus-billing-records"},{"title":"Push AI gateway usage","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/focus/usage","href":"/api-reference/integrations/push-ai-gateway-usage"},{"title":"Read from a connected service","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/integration-reads/read","href":"/api-reference/integrations/read-from-a-connected-service"},{"title":"Find reads on connected services","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/integration-reads/search","href":"/api-reference/integrations/find-reads-on-connected-services"}]},{"group":"Ticketing","pages":[{"title":"List ticketing tools","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/ticketing","href":"/api-reference/ticketing/list-ticketing-tools"},{"title":"List ticket destinations offered by a connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/integrations/ticketing/connections/{id}/available-targets","href":"/api-reference/ticketing/list-ticket-destinations-offered-by-a-connection"},{"title":"Save the ticket destination allowlist","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/integrations/ticketing/connections/{id}/targets","href":"/api-reference/ticketing/save-the-ticket-destination-allowlist"},{"title":"Complete a ticketing connect","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/ticketing/{provider}/complete","href":"/api-reference/ticketing/complete-a-ticketing-connect"},{"title":"Start a ticketing connect","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/integrations/ticketing/{provider}/start","href":"/api-reference/ticketing/start-a-ticketing-connect"},{"title":"List an anomaly's tickets","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomalies/{id}/tickets","href":"/api-reference/ticketing/list-an-anomalys-tickets"},{"title":"Create a ticket for an anomaly","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/anomalies/{id}/tickets","href":"/api-reference/ticketing/create-a-ticket-for-an-anomaly"},{"title":"List a recommendation's tickets","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/compute/recommendations/{resource_type}/{resource_id}/tickets","href":"/api-reference/ticketing/list-a-recommendations-tickets"},{"title":"Create a ticket for a recommendation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/compute/recommendations/{resource_type}/{resource_id}/tickets","href":"/api-reference/ticketing/create-a-ticket-for-a-recommendation"}]},{"group":"Invitations","pages":[{"title":"Accept invitation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/invites/accept","href":"/api-reference/invitations/accept-invitation"},{"title":"Lookup invitation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/invites/lookup","href":"/api-reference/invitations/lookup-invitation"},{"title":"List invitations","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/invites","href":"/api-reference/invitations/list-invitations"},{"title":"Create invitation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/invites","href":"/api-reference/invitations/create-invitation"},{"title":"Cancel invitation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/invites/{id}","href":"/api-reference/invitations/cancel-invitation"},{"title":"Resend invitation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/invites/{id}/resend","href":"/api-reference/invitations/resend-invitation"},{"title":"Finish member profile","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/signup/profile","href":"/api-reference/invitations/finish-member-profile"}]},{"group":"Marketplace","pages":[{"title":"Attach marketplace purchase","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/marketplace/link","href":"/api-reference/marketplace/attach-marketplace-purchase"}]},{"group":"Users","pages":[{"title":"Get current user","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/me","href":"/api-reference/user/get-current-user"},{"title":"Update current user","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/me","href":"/api-reference/user/update-current-user"},{"title":"Upload profile picture","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/me/avatar","href":"/api-reference/user/upload-profile-picture"},{"title":"Remove profile picture","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/me/avatar","href":"/api-reference/user/remove-profile-picture"},{"title":"List organization roles","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/roles","href":"/api-reference/user/list-organization-roles"},{"title":"Add user to tenant","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/organizations/{org_id}/tenants/{tenant_id}/users/{id}","href":"/api-reference/user/add-user-to-tenant"},{"title":"Remove user from tenant","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/tenants/{tenant_id}/users/{id}","href":"/api-reference/user/remove-user-from-tenant"},{"title":"List organization users","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/users","href":"/api-reference/user/list-organization-users"},{"title":"Add organization user directly","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/users","href":"/api-reference/user/add-organization-user-directly"},{"title":"List deactivated organization users","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/users/deactivated","href":"/api-reference/user/list-deactivated-organization-users"},{"title":"Get organization user","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/users/{id}","href":"/api-reference/user/get-organization-user"},{"title":"Remove user from organization","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/users/{id}","href":"/api-reference/user/remove-user-from-organization"},{"title":"Update organization user","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/organizations/{org_id}/users/{id}","href":"/api-reference/user/update-organization-user"},{"title":"Activate organization user","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/users/{id}/activate","href":"/api-reference/user/activate-organization-user"},{"title":"Deactivate organization user","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/users/{id}/deactivate","href":"/api-reference/user/deactivate-organization-user"}]},{"group":"Settings","pages":[{"title":"List your Slack accounts","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/me/slack-links","href":"/api-reference/settings/list-your-slack-accounts"},{"title":"Disconnect a Slack account","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/me/slack-links/{id}","href":"/api-reference/settings/disconnect-a-slack-account"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/settings/api-keys","href":"/api-reference/settings/list-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/settings/api-keys","href":"/api-reference/settings/create-api-key"},{"title":"List API key permission scopes","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/settings/api-keys/scopes","href":"/api-reference/settings/list-api-key-permission-scopes"},{"title":"Delete API key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/settings/api-keys/{id}","href":"/api-reference/settings/delete-api-key"},{"title":"Update API key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/settings/api-keys/{id}","href":"/api-reference/settings/update-api-key"},{"title":"Rotate API key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/settings/api-keys/{id}/rotate","href":"/api-reference/settings/rotate-api-key"},{"title":"List connected apps","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/settings/connected-apps","href":"/api-reference/settings/list-connected-apps"},{"title":"Revoke connected app","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/settings/connected-apps/{id}","href":"/api-reference/settings/revoke-connected-app"},{"title":"Get customization settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/settings/customization","href":"/api-reference/settings/get-customization-settings"},{"title":"Update customization settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/settings/customization","href":"/api-reference/settings/update-customization-settings"},{"title":"Get notification preferences","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/settings/notifications","href":"/api-reference/settings/get-notification-preferences"},{"title":"Update notification preferences","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/settings/notifications","href":"/api-reference/settings/update-notification-preferences"},{"title":"Get security settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/settings/security","href":"/api-reference/settings/get-security-settings"}]},{"group":"Notifications","pages":[{"title":"Confirm an alert email address","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/addresses/confirm","href":"/api-reference/notifications/confirm-an-alert-email-address"},{"title":"Confirm an outside address on an email list","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/notifications/addresses/confirm","href":"/api-reference/notifications/confirm-an-outside-address-on-an-email-list"},{"title":"Serve a cost-alert anomaly chart image","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/chart/{token}","href":"/api-reference/notifications/serve-a-cost-alert-anomaly-chart-image"},{"title":"Notification kinds","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/kinds","href":"/api-reference/notifications/notification-kinds"},{"title":"Confirm a mute request","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/mute","href":"/api-reference/notifications/confirm-a-mute-request"},{"title":"Mute an anomaly notification scope","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/notifications/mute","href":"/api-reference/notifications/mute-an-anomaly-notification-scope"},{"title":"Serve a delivered report's chart image","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/report-chart/{token}","href":"/api-reference/notifications/serve-a-delivered-reports-chart-image"},{"title":"Download a delivered report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/report-export/{token}","href":"/api-reference/notifications/download-a-delivered-report"},{"title":"Confirm an unsubscribe request","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/notifications/unsubscribe","href":"/api-reference/notifications/confirm-an-unsubscribe-request"},{"title":"Unsubscribe from a notification flag","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/notifications/unsubscribe","href":"/api-reference/notifications/unsubscribe-from-a-notification-flag"},{"title":"List notification destinations","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/notifications/destinations","href":"/api-reference/notifications/list-notification-destinations"},{"title":"Create a notification destination","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/notifications/destinations","href":"/api-reference/notifications/create-a-notification-destination"},{"title":"Save a notification destination","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/organizations/{org_id}/notifications/destinations/{id}","href":"/api-reference/notifications/save-a-notification-destination"},{"title":"Delete a notification destination","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/notifications/destinations/{id}","href":"/api-reference/notifications/delete-a-notification-destination"},{"title":"Pause or resume a notification destination","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/organizations/{org_id}/notifications/destinations/{id}","href":"/api-reference/notifications/pause-or-resume-a-notification-destination"},{"title":"Add an outside address to an email list","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/notifications/destinations/{id}/addresses","href":"/api-reference/notifications/add-an-outside-address-to-an-email-list"},{"title":"Remove an outside address from an email list","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/notifications/destinations/{id}/addresses/{address_id}","href":"/api-reference/notifications/remove-an-outside-address-from-an-email-list"},{"title":"Recent deliveries to a destination","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/notifications/destinations/{id}/deliveries","href":"/api-reference/notifications/recent-deliveries-to-a-destination"},{"title":"Send a test alert to a destination","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/notifications/destinations/{id}/test","href":"/api-reference/notifications/send-a-test-alert-to-a-destination"},{"title":"List Slack channels for alerts","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/notifications/slack/channels","href":"/api-reference/notifications/list-slack-channels-for-alerts"}]},{"group":"Organizations","pages":[{"title":"Delete organization","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}","href":"/api-reference/organizations/delete-organization"},{"title":"List support access grants","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/support-access","href":"/api-reference/organizations/list-support-access-grants"},{"title":"Grant support access","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/support-access","href":"/api-reference/organizations/grant-support-access"},{"title":"Revoke support access","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/support-access/{id}","href":"/api-reference/organizations/revoke-support-access"}]},{"group":"Audit log","pages":[{"title":"List audit log","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/audit-logs","href":"/api-reference/organization/list-audit-log"}]},{"group":"Single sign-on","pages":[{"title":"List the organization's domains","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/sso/domains","href":"/api-reference/sso/list-the-organizations-domains"},{"title":"Claim a domain","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/sso/domains","href":"/api-reference/sso/claim-a-domain"},{"title":"Remove a domain","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/sso/domains/{id}","href":"/api-reference/sso/remove-a-domain"},{"title":"Update a domain","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/organizations/{org_id}/sso/domains/{id}","href":"/api-reference/sso/update-a-domain"},{"title":"Verify a domain","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/sso/domains/{id}/verify","href":"/api-reference/sso/verify-a-domain"},{"title":"Require single sign-on","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/organizations/{org_id}/sso/enforcement","href":"/api-reference/sso/require-single-sign-on"},{"title":"Get the organization's identity provider","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/sso/identity-provider","href":"/api-reference/sso/get-the-organizations-identity-provider"},{"title":"Set the organization's identity provider","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/organizations/{org_id}/sso/identity-provider","href":"/api-reference/sso/set-the-organizations-identity-provider"},{"title":"Remove the organization's identity provider","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/sso/identity-provider","href":"/api-reference/sso/remove-the-organizations-identity-provider"},{"title":"Get the provisioning (SCIM) settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/organizations/{org_id}/sso/scim","href":"/api-reference/sso/get-the-provisioning-scim-settings"},{"title":"Create or rotate the provisioning token","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/sso/scim/token","href":"/api-reference/sso/create-or-rotate-the-provisioning-token"},{"title":"Revoke the provisioning token","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/sso/scim/token","href":"/api-reference/sso/revoke-the-provisioning-token"},{"title":"Find the single sign-on provider for an email","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/sso/discover","href":"/api-reference/sso/find-the-single-sign-on-provider-for-an-email"}]},{"group":"Tenants","pages":[{"title":"Create organization tenant","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/organizations/{org_id}/tenants","href":"/api-reference/tenants/create-organization-tenant"},{"title":"Delete organization tenant","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/organizations/{org_id}/tenants/{tenant_id}","href":"/api-reference/tenants/delete-organization-tenant"},{"title":"Update organization tenant","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/organizations/{org_id}/tenants/{tenant_id}","href":"/api-reference/tenants/update-organization-tenant"},{"title":"Get tenant details","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/details","href":"/api-reference/tenants/get-tenant-details"},{"title":"List tenant users","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/users","href":"/api-reference/tenants/list-tenant-users"}]},{"group":"Auth","pages":[{"title":"Complete user signup","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/signup/complete","href":"/api-reference/auth/complete-user-signup"}]},{"group":"AI","pages":[{"title":"List model-serving deployments","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ai/deployments","href":"/api-reference/ai/list-model-serving-deployments"},{"title":"List model-serving deployment filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ai/deployments/filter-options","href":"/api-reference/ai/list-model-serving-deployment-filter-options"},{"title":"Summarise model-serving deployments","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ai/deployments/summary","href":"/api-reference/ai/summarise-model-serving-deployments"},{"title":"Get a model-serving deployment","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ai/deployments/{id}","href":"/api-reference/ai/get-a-model-serving-deployment"}]},{"group":"AI serving","pages":[{"title":"Get AI serving deployment metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/ai/deployments/{id}/metrics","href":"/api-reference/ai-serving/get-ai-serving-deployment-metrics"}]},{"group":"Anomalies","pages":[{"title":"List anomaly feed","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomalies","href":"/api-reference/anomalies/list-anomaly-feed"},{"title":"Anomaly filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomalies/filter-options","href":"/api-reference/anomalies/anomaly-filter-options"},{"title":"Anomaly portfolio summary","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomalies/summary","href":"/api-reference/anomalies/anomaly-portfolio-summary"},{"title":"Get anomaly detail","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomalies/{id}","href":"/api-reference/anomalies/get-anomaly-detail"},{"title":"Get anomaly chart series","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomalies/{id}/series","href":"/api-reference/anomalies/get-anomaly-chart-series"},{"title":"List anomaly suppressions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/anomaly-suppressions","href":"/api-reference/anomalies/list-anomaly-suppressions"},{"title":"Create anomaly suppression","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/anomaly-suppressions","href":"/api-reference/anomalies/create-anomaly-suppression"},{"title":"Delete anomaly suppression","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/anomaly-suppressions/{id}","href":"/api-reference/anomalies/delete-anomaly-suppression"}]},{"group":"Workflows","pages":[{"title":"List available workflow capability categories","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/capability-categories","href":"/api-reference/workflows/list-available-workflow-capability-categories"},{"title":"List workflow checkpoints awaiting input","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/checkpoints","href":"/api-reference/workflows/list-workflow-checkpoints-awaiting-input"},{"title":"List workflow connections","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/connections","href":"/api-reference/workflows/list-workflow-connections"},{"title":"Stream workflow lifecycle events","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/events/v2","href":"/api-reference/workflows/stream-workflow-lifecycle-events"},{"title":"List workflow goals","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/goals","href":"/api-reference/workflows/list-workflow-goals"},{"title":"Create a workflow goal","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/goals","href":"/api-reference/workflows/create-a-workflow-goal"},{"title":"Delete a workflow goal","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/automation/goals/{goal_id}","href":"/api-reference/workflows/delete-a-workflow-goal"},{"title":"Update a workflow goal","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/tenant/automation/goals/{goal_id}","href":"/api-reference/workflows/update-a-workflow-goal"},{"title":"Pause a workflow goal","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/goals/{goal_id}/pause","href":"/api-reference/workflows/pause-a-workflow-goal"},{"title":"Resume a workflow goal","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/goals/{goal_id}/resume","href":"/api-reference/workflows/resume-a-workflow-goal"},{"title":"Run a workflow goal now","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/goals/{goal_id}/runs","href":"/api-reference/workflows/run-a-workflow-goal-now"},{"title":"Get the workflows overview","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/overview","href":"/api-reference/workflows/get-the-workflows-overview"},{"title":"List recent workflow runs","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/runs","href":"/api-reference/workflows/list-recent-workflow-runs"},{"title":"Search and page workflow runs","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/runs/page","href":"/api-reference/workflows/search-and-page-workflow-runs"},{"title":"Get workflow run detail","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/runs/{run_id}","href":"/api-reference/workflows/get-workflow-run-detail"},{"title":"Cancel a workflow run","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/cancel","href":"/api-reference/workflows/cancel-a-workflow-run"},{"title":"Check capacity again for a blocked run","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/check-capacity","href":"/api-reference/workflows/check-capacity-again-for-a-blocked-run"},{"title":"Recheck access for a blocked workflow","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/checkpoints/{checkpoint_id}/recheck-access","href":"/api-reference/workflows/recheck-access-for-a-blocked-workflow"},{"title":"Respond to a workflow checkpoint","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/checkpoints/{checkpoint_id}/responses","href":"/api-reference/workflows/respond-to-a-workflow-checkpoint"},{"title":"Undo a change a workflow run made","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/effects/{effect_bundle_id}/undo","href":"/api-reference/workflows/undo-a-change-a-workflow-run-made"},{"title":"Continue a workflow run with an instruction","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/instructions","href":"/api-reference/workflows/continue-a-workflow-run-with-an-instruction"},{"title":"Retry a workflow run","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/automation/runs/{run_id}/retry","href":"/api-reference/workflows/retry-a-workflow-run"},{"title":"List sandbox providers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/sandbox-providers","href":"/api-reference/workflows/list-sandbox-providers"},{"title":"List Slack channels for workflow runs","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/automation/slack/channels","href":"/api-reference/workflows/list-slack-channels-for-workflow-runs"}]},{"group":"Kubernetes clusters","pages":[{"title":"Get autopilot savings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/autopilot/savings","href":"/api-reference/kubernetes-clusters/get-autopilot-savings"},{"title":"List kubernetes clusters","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters","href":"/api-reference/kubernetes-clusters/list-kubernetes-clusters"},{"title":"List kubernetes cluster filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/filter-options","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-filter-options"},{"title":"Get kubernetes clusters summary","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/summary","href":"/api-reference/kubernetes-clusters/get-kubernetes-clusters-summary"},{"title":"Explain kubernetes clusters summary spend change","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/summary/explain","href":"/api-reference/kubernetes-clusters/explain-kubernetes-clusters-summary-spend-change"},{"title":"Get kubernetes cluster","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster"},{"title":"List kubernetes cluster autopilot node pools","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/autopilot/pools","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-autopilot-node-pools"},{"title":"Get kubernetes cluster autopilot savings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/autopilot/savings","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-autopilot-savings"},{"title":"List kubernetes cluster autopilot savings by GPU model","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/autopilot/savings/gpus","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-autopilot-savings-by-gpu-model"},{"title":"List kubernetes cluster autopilot capacity by node","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/autopilot/savings/nodes","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-autopilot-capacity-by-node"},{"title":"List kubernetes cluster autopilot savings by workload","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/autopilot/savings/workloads","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-autopilot-savings-by-workload"},{"title":"Get kubernetes cluster metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/metrics","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-metrics"},{"title":"List kubernetes cluster namespaces","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/namespaces","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-namespaces"},{"title":"List kubernetes cluster node filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/node-filter-options","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-node-filter-options"},{"title":"List kubernetes cluster nodes","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-nodes"},{"title":"Get kubernetes cluster node summary","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes/summary","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-node-summary"},{"title":"Explain kubernetes cluster node spend change","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes/summary/explain","href":"/api-reference/kubernetes-clusters/explain-kubernetes-cluster-node-spend-change"},{"title":"Get kubernetes cluster node","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes/{node_id}","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-node"},{"title":"List kubernetes cluster node containers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes/{node_id}/containers","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-node-containers"},{"title":"Get kubernetes cluster node load drivers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes/{node_id}/load-drivers","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-node-load-drivers"},{"title":"Get kubernetes cluster node metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/nodes/{node_id}/metrics","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-node-metrics"},{"title":"List kubernetes cluster persistent volumes","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/persistent-volumes","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-persistent-volumes"},{"title":"List kubernetes cluster persistent volume filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/persistent-volumes-filter-options","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-persistent-volume-filter-options"},{"title":"Get kubernetes cluster persistent volume","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/persistent-volumes/{pv_id}","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-persistent-volume"},{"title":"List persistent volume claims","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/persistent-volumes/{pv_id}/claims","href":"/api-reference/kubernetes-clusters/list-persistent-volume-claims"},{"title":"Get kubernetes cluster persistent volume metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/persistent-volumes/{pv_id}/metrics","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-persistent-volume-metrics"},{"title":"Get kubernetes cluster prometheus metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/prometheus-metrics","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-prometheus-metrics"},{"title":"List kubernetes cluster workload reports","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads","href":"/api-reference/kubernetes-clusters/list-kubernetes-cluster-workload-reports"},{"title":"Get kubernetes cluster workload reports filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads-filter-options","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-workload-reports-filter-options"},{"title":"Get kubernetes cluster workload autopilot changes","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads/{resource_id}/autopilot/changes","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-workload-autopilot-changes"},{"title":"Get kubernetes cluster workload container detail","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads/{resource_id}/containers/{container_name}/details","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-workload-container-detail"},{"title":"Get kubernetes cluster workload container metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads/{resource_id}/containers/{container_name}/metrics","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-workload-container-metrics"},{"title":"Get kubernetes cluster workload container usage","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads/{resource_id}/containers/{container_name}/usage","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-workload-container-usage"},{"title":"Get kubernetes cluster workload detail","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/clusters/{cluster_id}/workloads/{resource_id}/details","href":"/api-reference/kubernetes-clusters/get-kubernetes-cluster-workload-detail"}]},{"group":"Billing export","pages":[{"title":"Connect a billing account for export","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/export/connect","href":"/api-reference/billing-export/connect-a-billing-account-for-export"},{"title":"List the meters available in the connected billing account","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/billing/export/features","href":"/api-reference/billing-export/list-the-meters-available-in-the-connected-billing-account"},{"title":"Read what a meter has reported","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/billing/export/ledger","href":"/api-reference/billing-export/read-what-a-meter-has-reported"},{"title":"List export meters","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/billing/export/meters","href":"/api-reference/billing-export/list-export-meters"},{"title":"Create an export meter","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/export/meters","href":"/api-reference/billing-export/create-an-export-meter"},{"title":"Deactivate an export meter","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/billing/export/meters/{id}","href":"/api-reference/billing-export/deactivate-an-export-meter"},{"title":"Reactivate an export meter","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/export/meters/{id}/reactivate","href":"/api-reference/billing-export/reactivate-an-export-meter"},{"title":"List the billing platforms an export can push to","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/billing/export/providers","href":"/api-reference/billing-export/list-the-billing-platforms-an-export-can-push-to"},{"title":"Run an export now","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/billing/export/run","href":"/api-reference/billing-export/run-an-export-now"}]},{"group":"Budgets","pages":[{"title":"List budgets","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/budgets","href":"/api-reference/budgets/list-budgets"},{"title":"Create a budget","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/budgets","href":"/api-reference/budgets/create-a-budget"},{"title":"Get a budget","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/budgets/{id}","href":"/api-reference/budgets/get-a-budget"},{"title":"Update a budget","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/budgets/{id}","href":"/api-reference/budgets/update-a-budget"},{"title":"Delete a budget","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/budgets/{id}","href":"/api-reference/budgets/delete-a-budget"},{"title":"Budget burn-down series","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/budgets/{id}/series","href":"/api-reference/budgets/budget-burn-down-series"}]},{"group":"Compute recommendations","pages":[{"title":"List compute recommendations","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/compute/recommendations","href":"/api-reference/compute-recommendations/list-compute-recommendations"},{"title":"Get compute recommendation summary","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/compute/recommendations/summary","href":"/api-reference/compute-recommendations/get-compute-recommendation-summary"},{"title":"Get compute recommendation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/compute/recommendations/{resource_type}/{resource_id}","href":"/api-reference/compute-recommendations/get-compute-recommendation"},{"title":"Get compute recommendation apply artifact","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/compute/recommendations/{resource_type}/{resource_id}/apply-artifact","href":"/api-reference/compute-recommendations/get-compute-recommendation-apply-artifact"},{"title":"List compute recommendation history","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/compute/recommendations/{resource_type}/{resource_id}/history","href":"/api-reference/compute-recommendations/list-compute-recommendation-history"}]},{"group":"Context graph","pages":[{"title":"Children of a context graph box","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/context-graph/children","href":"/api-reference/context-graph/children-of-a-context-graph-box"},{"title":"Search the context graph","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/context-graph/search","href":"/api-reference/context-graph/search-the-context-graph"}]},{"group":"Cost","pages":[{"title":"Allocation coverage","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/allocation-coverage","href":"/api-reference/cost/allocation-coverage"},{"title":"Commitment coverage","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/commitments","href":"/api-reference/cost/commitment-coverage"},{"title":"Customer dimension","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/customer-dimension","href":"/api-reference/cost/customer-dimension"},{"title":"Set the customer dimension","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/cost/customer-dimension","href":"/api-reference/cost/set-the-customer-dimension"},{"title":"Cost per customer","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/customers","href":"/api-reference/cost/cost-per-customer"},{"title":"Cost facets","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/facets","href":"/api-reference/cost/cost-facets"},{"title":"Cost forecast","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/forecast","href":"/api-reference/cost/cost-forecast"},{"title":"Cost overview","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/overview","href":"/api-reference/cost/cost-overview"},{"title":"Provider detail","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/providers/{provider}","href":"/api-reference/cost/provider-detail"},{"title":"Cost query","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/query","href":"/api-reference/cost/cost-query"},{"title":"Showback by tag","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/showback","href":"/api-reference/cost/showback-by-tag"},{"title":"Showback statement for one tag value","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/showback/{value}","href":"/api-reference/cost/showback-statement-for-one-tag-value"},{"title":"List shared-cost split rules","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/split-rules","href":"/api-reference/cost/list-shared-cost-split-rules"},{"title":"Create a shared-cost split rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/cost/split-rules","href":"/api-reference/cost/create-a-shared-cost-split-rule"},{"title":"Replace a shared-cost split rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/cost/split-rules/{id}","href":"/api-reference/cost/replace-a-shared-cost-split-rule"},{"title":"Delete a shared-cost split rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/cost/split-rules/{id}","href":"/api-reference/cost/delete-a-shared-cost-split-rule"},{"title":"Unit economics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/unit-economics","href":"/api-reference/cost/unit-economics"},{"title":"Unit economics over time","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/cost/unit-economics/series","href":"/api-reference/cost/unit-economics-over-time"},{"title":"Billed cost of existing resources","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/resource-costs","href":"/api-reference/cost/billed-cost-of-existing-resources"}]},{"group":"Virtual machines","pages":[{"title":"Set a disk's price","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/disks/{disk_id}/price","href":"/api-reference/virtual-machines/set-a-disks-price"},{"title":"List your compute prices","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/compute","href":"/api-reference/virtual-machines/list-your-compute-prices"},{"title":"List your database prices","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/database","href":"/api-reference/virtual-machines/list-your-database-prices"},{"title":"List your disk prices","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/disk","href":"/api-reference/virtual-machines/list-your-disk-prices"},{"title":"List your AI model prices","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/model","href":"/api-reference/virtual-machines/list-your-ai-model-prices"},{"title":"Delete one of your prices","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/pricing/{kind}/{id}","href":"/api-reference/virtual-machines/delete-one-of-your-prices"},{"title":"Compare a price with public providers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/{kind}/{id}/alternatives","href":"/api-reference/virtual-machines/compare-a-price-with-public-providers"},{"title":"List resources costed at one of your prices","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/{kind}/{id}/resources","href":"/api-reference/virtual-machines/list-resources-costed-at-one-of-your-prices"},{"title":"List virtual machines","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines","href":"/api-reference/virtual-machines/list-virtual-machines"},{"title":"List virtual machine filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/filter-options","href":"/api-reference/virtual-machines/list-virtual-machine-filter-options"},{"title":"Get virtual machine summary","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/summary","href":"/api-reference/virtual-machines/get-virtual-machine-summary"},{"title":"Explain virtual machine spend change","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/summary/explain","href":"/api-reference/virtual-machines/explain-virtual-machine-spend-change"},{"title":"Get virtual machine","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/{id}","href":"/api-reference/virtual-machines/get-virtual-machine"},{"title":"List virtual machine containers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/{id}/containers","href":"/api-reference/virtual-machines/list-virtual-machine-containers"},{"title":"Get virtual machine container","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/{id}/containers/{container_id}","href":"/api-reference/virtual-machines/get-virtual-machine-container"},{"title":"Get virtual machine container metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/{id}/containers/{container_id}/metrics","href":"/api-reference/virtual-machines/get-virtual-machine-container-metrics"},{"title":"Get virtual machine load drivers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/{id}/load-drivers","href":"/api-reference/virtual-machines/get-virtual-machine-load-drivers"},{"title":"Get virtual machine metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-machines/{id}/metrics","href":"/api-reference/virtual-machines/get-virtual-machine-metrics"},{"title":"Change virtual machine tags","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/tenant/virtual-machines/{id}/tags","href":"/api-reference/virtual-machines/change-virtual-machine-tags"}]},{"group":"GPUs","pages":[{"title":"List accelerators","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/gpus","href":"/api-reference/gpus/list-accelerators"},{"title":"List accelerator filter options","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/gpus/filter-options","href":"/api-reference/gpus/list-accelerator-filter-options"},{"title":"Summarise accelerators","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/gpus/summary","href":"/api-reference/gpus/summarise-accelerators"},{"title":"Get an accelerator","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/gpus/{gpu_uuid}","href":"/api-reference/gpus/get-an-accelerator"},{"title":"Get accelerator metrics","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/gpus/{gpu_uuid}/metrics","href":"/api-reference/gpus/get-accelerator-metrics"}]},{"group":"Graph AI","pages":[{"title":"Get GraphAI conversation share status","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/graphai/conversations/{conversation_id}/share","href":"/api-reference/graphai/get-graphai-conversation-share-status"},{"title":"Create GraphAI conversation share","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/graphai/conversations/{conversation_id}/share","href":"/api-reference/graphai/create-graphai-conversation-share"},{"title":"Revoke GraphAI conversation share","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/graphai/conversations/{conversation_id}/share/{share_id}","href":"/api-reference/graphai/revoke-graphai-conversation-share"},{"title":"Submit GraphAI feedback","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/graphai/feedback","href":"/api-reference/graphai/submit-graphai-feedback"},{"title":"Search GraphAI conversations","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/graphai/search","href":"/api-reference/graphai/search-graphai-conversations"},{"title":"Resolve GraphAI share","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/graphai/shares/{share_id}","href":"/api-reference/graphai/resolve-graphai-share"}]},{"group":"Network","pages":[{"title":"Get connection","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/connections/{id}","href":"/api-reference/network/get-connection"},{"title":"Get connection series","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/connections/{id}/series","href":"/api-reference/network/get-connection-series"},{"title":"Get network endpoint peers","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/endpoints/{id}/peers","href":"/api-reference/network/get-network-endpoint-peers"},{"title":"Get network endpoint ports","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/endpoints/{id}/ports","href":"/api-reference/network/get-network-endpoint-ports"},{"title":"Get network endpoint series","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/endpoints/{id}/series","href":"/api-reference/network/get-network-endpoint-series"},{"title":"Get network endpoint summary","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/endpoints/{id}/summary","href":"/api-reference/network/get-network-endpoint-summary"},{"title":"Get network endpoint request tags","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/endpoints/{id}/tags","href":"/api-reference/network/get-network-endpoint-request-tags"},{"title":"Get network endpoint zones","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/endpoints/{id}/zones","href":"/api-reference/network/get-network-endpoint-zones"}]},{"group":"Network requests","pages":[{"title":"Network detail rows","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/network/detail","href":"/api-reference/network-requests/network-detail-rows"},{"title":"Network request facets","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/network/requests/facets","href":"/api-reference/network-requests/network-request-facets"},{"title":"Network flow tree","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/network/tree","href":"/api-reference/network-requests/network-flow-tree"}]},{"group":"OAuth clients","pages":[{"title":"List OAuth clients","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/oauth-clients","href":"/api-reference/oauth-clients/list-oauth-clients"},{"title":"Create OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/oauth-clients","href":"/api-reference/oauth-clients/create-oauth-client"},{"title":"Delete OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/oauth-clients/{id}","href":"/api-reference/oauth-clients/delete-oauth-client"},{"title":"Update OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/tenant/oauth-clients/{id}","href":"/api-reference/oauth-clients/update-oauth-client"},{"title":"Rotate OAuth client secret","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/oauth-clients/{id}/rotate-secret","href":"/api-reference/oauth-clients/rotate-oauth-client-secret"},{"title":"List OAuth client permissions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/oauth-scopes","href":"/api-reference/oauth-clients/list-oauth-client-permissions"}]},{"group":"OpenCost","pages":[{"title":"Query costs and resources allocated to Kubernetes workloads","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/opencost/allocation","href":"/api-reference/opencost/query-costs-and-resources-allocated-to-kubernetes-workloads"},{"title":"Query costs and resources allocated to Kubernetes workloads","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/opencost/allocation/compute","href":"/api-reference/opencost/query-costs-and-resources-allocated-to-kubernetes-workloads-1"},{"title":"Query a lighter summary of Kubernetes allocation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/opencost/allocation/compute/summary","href":"/api-reference/opencost/query-a-lighter-summary-of-kubernetes-allocation"},{"title":"Query a lighter summary of Kubernetes allocation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/opencost/allocation/summary","href":"/api-reference/opencost/query-a-lighter-summary-of-kubernetes-allocation-1"},{"title":"Query the cluster assets that back allocation","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/opencost/assets","href":"/api-reference/opencost/query-the-cluster-assets-that-back-allocation"},{"title":"Query cloud and SaaS spend as billed by the vendor","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/opencost/cloudCost","href":"/api-reference/opencost/query-cloud-and-saas-spend-as-billed-by-the-vendor"}]},{"group":"Placement alternatives","pages":[{"title":"Get placement alternatives","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/placement-alternatives/{resource_type}/{resource_id}","href":"/api-reference/placement-alternatives/get-placement-alternatives"}]},{"group":"Reports","pages":[{"title":"List reports","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/reports","href":"/api-reference/reports/list-reports"},{"title":"Create a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/reports","href":"/api-reference/reports/create-a-report"},{"title":"Get a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/reports/{report_id}","href":"/api-reference/reports/get-a-report"},{"title":"Delete a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/reports/{report_id}","href":"/api-reference/reports/delete-a-report"},{"title":"Update a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json patch /api/v1/tenant/reports/{report_id}","href":"/api-reference/reports/update-a-report"},{"title":"Save a report document","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/reports/{report_id}/document","href":"/api-reference/reports/save-a-report-document"},{"title":"Duplicate a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/reports/{report_id}/duplicate","href":"/api-reference/reports/duplicate-a-report"},{"title":"Export a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/reports/{report_id}/export","href":"/api-reference/reports/export-a-report"},{"title":"Get a report's schedule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/reports/{report_id}/schedule","href":"/api-reference/reports/get-a-reports-schedule"},{"title":"Schedule a report","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/reports/{report_id}/schedule","href":"/api-reference/reports/schedule-a-report"},{"title":"Delete a report's schedule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/reports/{report_id}/schedule","href":"/api-reference/reports/delete-a-reports-schedule"},{"title":"Send a scheduled report now","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/reports/{report_id}/schedule/send","href":"/api-reference/reports/send-a-scheduled-report-now"},{"title":"List report versions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/reports/{report_id}/versions","href":"/api-reference/reports/list-report-versions"},{"title":"Get a report version","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/reports/{report_id}/versions/{version_id}","href":"/api-reference/reports/get-a-report-version"},{"title":"Set report visibility","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/reports/{report_id}/visibility","href":"/api-reference/reports/set-report-visibility"}]},{"group":"Virtual tags","pages":[{"title":"Ask an agent to draft the suggestion context","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-context-drafts","href":"/api-reference/virtual-tags/ask-an-agent-to-draft-the-suggestion-context"},{"title":"Read a suggestion context draft run","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tag-context-drafts/{id}","href":"/api-reference/virtual-tags/read-a-suggestion-context-draft-run"},{"title":"List virtual tag keys","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tag-keys","href":"/api-reference/virtual-tags/list-virtual-tag-keys"},{"title":"Create or update a virtual tag key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/virtual-tag-keys","href":"/api-reference/virtual-tags/create-or-update-a-virtual-tag-key"},{"title":"Delete a virtual tag key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/virtual-tag-keys/{key}","href":"/api-reference/virtual-tags/delete-a-virtual-tag-key"},{"title":"Regenerate a tag key's rules","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-keys/{key}/regenerate","href":"/api-reference/virtual-tags/regenerate-a-tag-keys-rules"},{"title":"Preview regenerating a tag key's rules","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-keys/{key}/regenerate/preview","href":"/api-reference/virtual-tags/preview-regenerating-a-tag-keys-rules"},{"title":"Save every rule under a tag key at once","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/virtual-tag-keys/{key}/rules","href":"/api-reference/virtual-tags/save-every-rule-under-a-tag-key-at-once"},{"title":"List the proposal runs in flight","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tag-regenerations","href":"/api-reference/virtual-tags/list-the-proposal-runs-in-flight"},{"title":"Ask an agent to rewrite a tag key's rules","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-regenerations","href":"/api-reference/virtual-tags/ask-an-agent-to-rewrite-a-tag-keys-rules"},{"title":"Read a virtual tag regeneration run","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tag-regenerations/{id}","href":"/api-reference/virtual-tags/read-a-virtual-tag-regeneration-run"},{"title":"Read virtual tagging settings","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tag-settings","href":"/api-reference/virtual-tags/read-virtual-tagging-settings"},{"title":"Set the suggestion context","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/virtual-tag-settings/suggestion-context","href":"/api-reference/virtual-tags/set-the-suggestion-context"},{"title":"Queue proposed virtual tag rules for review","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-suggestion-groups","href":"/api-reference/virtual-tags/queue-proposed-virtual-tag-rules-for-review"},{"title":"Apply a group of virtual tag suggestions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-suggestion-groups/{group_id}/apply","href":"/api-reference/virtual-tags/apply-a-group-of-virtual-tag-suggestions"},{"title":"Ignore a group of virtual tag suggestions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-suggestion-groups/{group_id}/ignore","href":"/api-reference/virtual-tags/ignore-a-group-of-virtual-tag-suggestions"},{"title":"List virtual tag suggestions","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tag-suggestions","href":"/api-reference/virtual-tags/list-virtual-tag-suggestions"},{"title":"Generate virtual tag suggestions now","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-suggestions/generate","href":"/api-reference/virtual-tags/generate-virtual-tag-suggestions-now"},{"title":"Apply a virtual tag suggestion","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-suggestions/{id}/apply","href":"/api-reference/virtual-tags/apply-a-virtual-tag-suggestion"},{"title":"Ignore a virtual tag suggestion","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tag-suggestions/{id}/ignore","href":"/api-reference/virtual-tags/ignore-a-virtual-tag-suggestion"},{"title":"List virtual tag rules","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tags","href":"/api-reference/virtual-tags/list-virtual-tag-rules"},{"title":"Create a virtual tag rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tags","href":"/api-reference/virtual-tags/create-a-virtual-tag-rule"},{"title":"Read an expression back as chips","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tags/decompose","href":"/api-reference/virtual-tags/read-an-expression-back-as-chips"},{"title":"List the fields a rule can match on","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json get /api/v1/tenant/virtual-tags/fields","href":"/api-reference/virtual-tags/list-the-fields-a-rule-can-match-on"},{"title":"Reorder the rules under a tag key","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/virtual-tags/order","href":"/api-reference/virtual-tags/reorder-the-rules-under-a-tag-key"},{"title":"Preview what a rule would match","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tags/preview","href":"/api-reference/virtual-tags/preview-what-a-rule-would-match"},{"title":"Check that an expression compiles","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json post /api/v1/tenant/virtual-tags/validate","href":"/api-reference/virtual-tags/check-that-an-expression-compiles"},{"title":"Update a virtual tag rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/virtual-tags/{id}","href":"/api-reference/virtual-tags/update-a-virtual-tag-rule"},{"title":"Delete a virtual tag rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json delete /api/v1/tenant/virtual-tags/{id}","href":"/api-reference/virtual-tags/delete-a-virtual-tag-rule"},{"title":"Activate or pause a virtual tag rule","deprecated":null,"version":null,"openapi":"/api-reference/costgraph/openapi.json put /api/v1/tenant/virtual-tags/{id}/active","href":"/api-reference/virtual-tags/activate-or-pause-a-virtual-tag-rule"}]}]}]}]},"basePath":"","title":"Choose runners for a workflow run - CostGraph Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-Buji1S4J.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}