Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).
GET
/
api
/
v1
/
cvms
/
{cvm_id}
/
network
Get CVM network info
curl --request GET \ --url https://cloud-api.phala.com/api/v1/cvms/{cvm_id}/network
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Phala","colors":{"primary":"#527a08","light":"#527a08","dark":"#cdfa50"},"logo":{"light":"https://mintcdn.com/phalanetwork-1606097b/Y2wR1-jOsoYpAL6q/images/phala-light.png?fit=max\u0026auto=format\u0026n=Y2wR1-jOsoYpAL6q\u0026q=85\u0026s=fb4f438a36865810867d188289681376","dark":"https://mintcdn.com/phalanetwork-1606097b/Y2wR1-jOsoYpAL6q/images/phala-dark.png?fit=max\u0026auto=format\u0026n=Y2wR1-jOsoYpAL6q\u0026q=85\u0026s=c80d03f4a9b6db1a9aa8f435a980a7a3"},"favicon":"https://mintcdn.com/phalanetwork-1606097b/RUscSf7Rplq7j02n/favicon.ico?fit=max\u0026auto=format\u0026n=RUscSf7Rplq7j02n\u0026q=85\u0026s=701b1391404cffa588fcc80dd945d79e","navbar":{"links":[{"href":"https://github.com/Phala-Network/phala-cloud","label":"GitHub"},{"href":"https://cloud.phala.com/login","label":"Log in"}],"primary":{"type":"button","label":"API Dashboard","href":"https://cloud.phala.com"}},"footer":{"socials":{"discord":"https://phala.com/discord","github":"https://phala.com/github","linkedin":"https://phala.com/linkedin","x":"https://phala.com/x"},"links":[{"header":"Phala Cloud","items":[{"label":"Getting Started","href":"https://docs.phala.network/phala-cloud/getting-started/overview"},{"label":"TEEs, Attestation \u0026 Zero Trust Security","href":"https://docs.phala.network/phala-cloud/attestation/overview"},{"label":"Phala Cloud User Guides","href":"https://docs.phala.network/phala-cloud/phala-cloud-user-guides/create-cvm/overview"},{"label":"Be Production Ready","href":"https://docs.phala.network/phala-cloud/be-production-ready/overview"},{"label":"Use Cases","href":"https://docs.phala.network/phala-cloud/use-cases/overview"},{"label":"References","href":"https://docs.phala.network/phala-cloud/references/overview"},{"label":"Private AI","href":"https://docs.phala.network/phala-cloud/gpu-tee/llm-in-tee"},{"label":"FAQs","href":"https://docs.phala.network/phala-cloud/faqs"}]},{"header":"dstack","items":[{"label":"Overview","href":"https://docs.phala.network/dstack/overview"},{"label":"Local Development","href":"https://docs.phala.network/dstack/local-development"},{"label":"Getting Started","href":"https://docs.phala.network/dstack/getting-started"},{"label":"Hardware Requirements","href":"https://docs.phala.network/dstack/hardware-requirements"},{"label":"Acknowledgement","href":"https://docs.phala.network/dstack/acknowledgement"},{"label":"FAQs","href":"https://docs.phala.network/dstack/faqs"},{"label":"Design Documents","href":"https://docs.phala.network/dstack/design-documents"},{"label":"Cloud Overview","href":"https://docs.phala.network/dstack-cloud/overview"},{"label":"Cloud Quick Start","href":"https://docs.phala.network/dstack-cloud/get-started"}]},{"header":"Private AI","items":[{"label":"LLM in GPU TEE","href":"https://docs.phala.network/phala-cloud/confidential-ai/overview"},{"label":"GPU TEE Inference API","href":"https://docs.phala.network/phala-cloud/confidential-ai/confidential-model/confidential-ai-api"},{"label":"Benchmark","href":"https://docs.phala.network/phala-cloud/confidential-ai/benchmark"},{"label":"FAQs","href":"https://docs.phala.network/phala-cloud/confidential-ai/faqs"}]},{"header":"Network","items":[{"label":"Overview","href":"https://docs.phala.network/network/index"},{"label":"Phala Network","href":"https://docs.phala.network/network/overview/phala-network"},{"label":"Staking","href":"https://docs.phala.network/network/overview/phala-staking"},{"label":"Compute Providers","href":"https://docs.phala.network/network/compute-providers/introduction"}]}]},"seo":{"metatags":{"author":"Phala Cloud","canonical":"https://docs.phala.com","category":"Technology","distribution":"global","keywords":"Phala Cloud, TEE, Trusted Execution Environment, Confidential Computing, Private AI, confidential AI, GPU TEE, Intel TDX, dstack, blockchain, privacy-preserving computing, secure cloud, attestation","language":"en","og:image":"https://raw.githubusercontent.com/Phala-Network/phala-docs/main/images/phala-docs-og.png","og:image:alt":"Phala Cloud — Confidential Computing \u0026 GPU TEE for AI","og:image:width":"1200","og:image:height":"630","og:site_name":"Phala Docs","og:type":"website","og:title":"Phala Cloud Documentation — Private AI on TEE","og:description":"Deploy confidential AI applications on Phala Cloud with hardware-level privacy via Intel TDX, NVIDIA H100 GPU TEE, and verifiable attestation.","robots":"index, follow","twitter:card":"summary_large_image","twitter:creator":"@PhalaNetwork","twitter:site":"@PhalaNetwork","twitter:image":"https://raw.githubusercontent.com/Phala-Network/phala-docs/main/images/phala-docs-og.png","twitter:title":"Phala Cloud Documentation — Private AI on TEE","twitter:description":"Deploy confidential AI applications on Phala Cloud with hardware-level privacy via Intel TDX, NVIDIA H100 GPU TEE, and verifiable attestation."},"indexing":"all"},"icons":{"library":"lucide"},"styling":{"codeblocks":"system","latex":true},"integrations":{"ga4":{"measurementId":"G-RHRW9RL5LG"},"gtm":{"tagId":"GTM-TX3VQZP"}},"errors":{"404":{"redirect":false}},"contextual":{"options":["copy","view","chatgpt","claude","mcp"],"display":"header"},"thumbnails":{"background":"https://mintcdn.com/phalanetwork-1606097b/Z_xV6g4Cdei2rfqm/images/phala-docs-og.png?fit=max\u0026auto=format\u0026n=Z_xV6g4Cdei2rfqm\u0026q=85\u0026s=e0d65106aa4afa7766452b497d5ec9ca"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"phalanetwork-1606097b","hasAudioNarration":false,"actualSubdomain":"phalanetwork-1606097b","customDomains":["docs.phala.com"],"gitSource":{"type":"github","owner":"phala-network","repo":"phala-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6aef6c6fd5518ba96e46813a","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Phala Cloud","count":652},{"language":"default","tag":"API \u0026 SDK","count":163},{"language":"default","tag":"Phala Cloud API","count":110},{"language":"default","tag":"Private AI","count":100},{"language":"default","tag":"Phala Cloud CLI","count":85},{"language":"default","tag":"CVMs","count":54},{"language":"default","tag":"Resources","count":42},{"language":"default","tag":"dstack Cloud","count":22},{"language":"default","tag":"JavaScript SDK","count":22},{"language":"default","tag":"Apps","count":20}]},"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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"fonts.css","content":"@font-face{font-family:\"ABCArizonaFlare\";src:url(\"/fonts/exa/ABCArizonaFlare-Regular.woff2\") format(\"woff2\");font-style:normal;font-weight:400 700;font-display:block}@font-face{font-family:\"ABCDiatype\";src:url(\"/fonts/exa/ABCDiatype-Regular.woff2\") format(\"woff2\");font-style:normal;font-weight:400 700;font-display:block}@font-face{font-family:\"SuisseIntlMono\";src:url(\"/fonts/exa/SuisseIntlMono-Regular-WebTrial.woff2\") format(\"woff2\");font-style:normal;font-weight:400 700;font-display:block}@font-face{font-family:\"ABCArizonaFlare Fallback\";src:local(\"Georgia\"), local(\"Times New Roman\");size-adjust:94%;ascent-override:95%;descent-override:22%;line-gap-override:0%}@font-face{font-family:\"ABCDiatype Fallback\";src:local(\"Trebuchet MS\"), local(\"Arial\");size-adjust:97%;ascent-override:92%;descent-override:23%;line-gap-override:0%}@font-face{font-family:\"SuisseIntlMono Fallback\";src:local(\"SFMono-Regular\"), local(\"Consolas\"), local(\"Menlo\"),\n local(\"Liberation Mono\");size-adjust:100%;ascent-override:90%;descent-override:22%;line-gap-override:0%}:root{--v3-heading: \"ABCArizonaFlare\", \"ABCArizonaFlare Fallback\", Georgia, serif;--v3-body: \"ABCDiatype\", \"ABCDiatype Fallback\", \"Trebuchet MS\", Arial,\n sans-serif;--v3-mono: \"SuisseIntlMono\", \"SuisseIntlMono Fallback\", \"SFMono-Regular\",\n Consolas, monospace}body,input,button,select,textarea{font-family:var(--v3-body)}h1,h2{font-family:var(--v3-heading);font-weight:400;letter-spacing:0}h3,h4,h5,h6{font-family:var(--v3-body);font-weight:600;letter-spacing:0}code,pre,kbd,samp,.font-mono{font-family:var(--v3-mono)}"},{"filePath":"style.css","content":":root{--base-50: oklch(0.983 0.0034 145.55);--base-100: oklch(0.9691 0.0037 146.57);--base-200: oklch(0.9258 0.0048 147.01);--base-300: oklch(0.869 0.0054 148);--base-400: oklch(0.7067 0.0061 149.29);--base-500: oklch(0.5535 0.0066 150.55);--base-600: oklch(0.4449 0.0065 151.33);--base-700: oklch(0.3731 0.0059 150.75);--base-800: oklch(0.2731 0.0051 150.35);--base-900: oklch(0.2123 0.0048 151.01);--base-950: oklch(0.1386 0.0044 150.49);--base-1000: oklch(0.0909 0.0041 150.95);--primary-300: #cdfa50;--primary-500: oklch(0.7708 0.2308 126.52);--primary-600: oklch(0.6514 0.1967 127.14);--primary-700: oklch(0.5343 0.1568 126.91);--phala-blue-50: #f0f2ff;--phala-blue-100: #d5dbf8;--phala-blue-200: #bfc8f0;--phala-blue-300: #aabbff;--phala-blue-500: #6b80cc;--phala-blue-900: #2d3250;--phala-purple-300: #b88fd0;--phala-purple-500: #7e3daf;--phala-orange-300: #f5902c;--surface-marketing: #f7f8f3;--surface-marketing-cool: #f0f1ec;--surface-marketing-light: #fbfcf8;--surface-trust-path: #070908;--surface-trust-card: #101310;--radius: 4px}button,a[role=\"button\"],.btn,[class*=\"button\"]{border-radius:4px!important}[class*=\"Card\"],[class*=\"Callout\"],[class*=\"Note\"],[class*=\"Warning\"],[class*=\"Tip\"],[class*=\"Info\"],[class*=\"Frame\"],[class*=\"Update\"],pre,.code,.callout,.card{border-radius:0!important}[class*=\"badge\"]:not([class*=\"dot\"]),[class*=\"Badge\"]:not([class*=\"Dot\"]),[class*=\"pill\"],[class*=\"Pill\"]{border-radius:4px!important}[class*=\"Card\"]:not([class*=\"card-group\"]),[class*=\"Callout\"],[class*=\"Note\"],[class*=\"Warning\"],[class*=\"Tip\"],[class*=\"Info\"],[class*=\"Frame\"],[class*=\"Update\"],.callout,.card{box-shadow:none!important;border-width:1px!important}.card-group,[class*=\"card-group\"]{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;gap:1px!important}a[role=\"button\"],.btn,button.button,button[data-component=\"button\"]{min-height:44px;padding-inline:1rem;border-radius:4px!important;box-shadow:none!important;font-family:var(--v3-body, \"ABCDiatype\", \"Trebuchet MS\", Arial, sans-serif);font-weight:500;letter-spacing:0;transition:opacity 150ms ease, background-color 150ms ease,\n border-color 150ms ease}a[role=\"button\"]:hover,.btn:hover,button.button:hover,button[data-component=\"button\"]:hover{opacity:0.9;box-shadow:none!important}button{border-radius:4px!important}@media (min-width: 1024px){#sidebar,aside[id=\"sidebar\"],aside.sidebar,[class*=\"sidebar-content\"]{padding-top:1rem!important}}.sidebar-group-header{font-family:var(--v3-body, \"ABCDiatype\", sans-serif)!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;color:var(--base-800)!important;margin-top:1.75rem!important;margin-bottom:0.5rem!important}.sidebar-group-header:first-child{margin-top:0!important}.dark .sidebar-group-header,[data-theme=\"dark\"] .sidebar-group-header{color:var(--base-100)!important}li[id^=\"/\"]>a,li[data-title]>a,.sidebar-group li>a,.sidebar-group li>button{font-size:13.5px!important;font-weight:400!important;color:var(--base-600)!important;border-radius:4px!important;outline:0!important;outline-offset:0!important}li[id^=\"/\"]>a:hover,li[data-title]>a:hover,.sidebar-group li>a:hover,.sidebar-group li>button:hover{color:var(--primary-700)!important;background-color:rgba(0, 0, 0, 0.03)!important}li[id^=\"/\"]>a:hover svg,li[data-title]>a:hover svg,.sidebar-group li>a:hover svg,.sidebar-group li>button:hover svg{color:var(--primary-700)!important;background-color:var(--primary-700)!important}.dark li[id^=\"/\"]>a,.dark li[data-title]>a,[data-theme=\"dark\"] li[id^=\"/\"]>a{color:var(--base-400)!important}.dark li[id^=\"/\"]>a:hover,.dark li[data-title]>a:hover,[data-theme=\"dark\"] li[id^=\"/\"]>a:hover{color:var(--primary-300)!important;background-color:rgba(255, 255, 255, 0.05)!important}li[data-active=\"true\"]>a,a[aria-current=\"page\"]{background-color:var(--surface-marketing-cool)!important;background-image:none!important;color:var(--base-800)!important;font-weight:500!important;text-shadow:none!important;border-radius:4px!important;--tw-bg-opacity: 1 !important}li[data-active=\"true\"]>a:hover{background-color:var(--surface-marketing-cool)!important;color:var(--base-800)!important}.dark li[data-active=\"true\"]>a,.dark a[aria-current=\"page\"],[data-theme=\"dark\"] li[data-active=\"true\"]>a{background-color:rgba(255, 255, 255, 0.08)!important;color:var(--base-100)!important}.nav-tabs-item[data-active=\"true\"],a.nav-tabs-item[data-active=\"true\"]{color:var(--primary-700)!important}@media (min-width: 768px){#table-of-contents-layout{display:flex!important}}#table-of-contents-layout{border-left:1px solid var(--base-200);padding-left:1.25rem!important}.dark #table-of-contents-layout,[data-theme=\"dark\"] #table-of-contents-layout{border-left-color:var(--base-800)}#table-of-contents h2{font-size:14px!important;margin:0!important}#table-of-contents>button,#table-of-contents h2 button,#table-of-contents-layout #table-of-contents>:first-child:not(nav):not(ul):not(ol),#table-of-contents-layout>:first-child:not(:has(#table-of-contents)):not(nav):not(ul):not(ol),#table-of-contents-layout>:first-child>:first-child:not(#table-of-contents):not(nav):not(ul):not(ol){font-family:var(--font-sans, \"Inter\", system-ui, sans-serif)!important;font-size:14px!important;line-height:1.25rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--base-600)!important}#table-of-contents-layout #table-of-contents>:first-child:not(nav):not(ul):not(ol) :is(span,div,p,h2,h3,h4,h5,h6),#table-of-contents-layout>:first-child:not(:has(#table-of-contents)):not(nav):not(ul):not(ol) :is(span,div,p,h2,h3,h4,h5,h6),#table-of-contents-layout>:first-child>:first-child:not(#table-of-contents):not(nav):not(ul):not(ol) :is(span,div,p,h2,h3,h4,h5,h6){font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;color:inherit!important;line-height:inherit!important}.toc-item>a{font-size:13px!important;letter-spacing:0!important;text-transform:none!important;font-family:var(--font-sans, \"Inter\", system-ui, sans-serif)!important;color:var(--base-600)!important}.toc-item>a:hover{color:var(--base-800)!important}.toc-item.is-active>a,.toc-item[data-active=\"true\"]>a,.toc a[aria-current=\"true\"]{color:var(--primary-700)!important;font-weight:500!important}.toc-item[data-depth=\"1\"]{padding-left:1rem}.dark .toc-item>a,[data-theme=\"dark\"] .toc-item>a{color:var(--base-400)!important}.eyebrow,.eyebrow.text-primary,[class*=\"eyebrow\"][class*=\"text-primary\"]{color:var(--primary-600)!important}.dark .eyebrow,.dark .eyebrow.text-primary,[data-theme=\"dark\"] .eyebrow{color:var(--primary-300)!important}article .text-primary,article [class~=\"text-primary\"],article [class*=\"text-primary\"]:not([class*=\"dark:\"]),main .text-primary,main [class~=\"text-primary\"]{color:var(--primary-700)!important}html:not(.dark) body:not(.dark) :is(main,article) [class*=\"cdfa50\"],html:not(.dark) body:not(.dark) :is(main,article) [style*=\"cdfa50\"i]{color:var(--primary-700)!important}article .bg-primary,article [class~=\"bg-primary\"],article [class*=\"bg-primary\"]:not([class*=\"dark:\"]),main .bg-primary,main [class~=\"bg-primary\"]{background-color:var(--primary-700)!important}.dark article .text-primary,.dark article [class~=\"text-primary\"],[data-theme=\"dark\"] article .text-primary,[data-theme=\"dark\"] article [class~=\"text-primary\"],.dark main .text-primary,[data-theme=\"dark\"] main .text-primary{color:var(--primary-300)!important}.dark article .bg-primary,.dark article [class~=\"bg-primary\"],[data-theme=\"dark\"] article .bg-primary,[data-theme=\"dark\"] article [class~=\"bg-primary\"],.dark main .bg-primary,[data-theme=\"dark\"] main .bg-primary{background-color:var(--primary-300)!important}main,article,[class*=\"content\"],[class*=\"Content\"]{max-width:100%}:is(main,article) h1{font-size:32px!important;line-height:1.16!important;font-weight:500!important;letter-spacing:0!important;margin-bottom:1rem!important}:is(main,article) h2{font-size:22px!important;line-height:1.26!important;font-weight:500!important;letter-spacing:0!important;margin-top:2.25rem!important;margin-bottom:0.85rem!important}:is(main,article) h3{font-size:18px!important;line-height:1.3!important;font-weight:600!important;letter-spacing:0!important;margin-top:1.75rem!important;margin-bottom:0.65rem!important}:is(main,article) h4,:is(main,article) h5,:is(main,article) h6{font-weight:600!important;letter-spacing:0!important}p,li{font-size:15px;line-height:1.65}:not(pre)>code{font-family:var(--v3-mono, \"SuisseIntlMono\", monospace);font-size:0.92em;border:1px solid var(--base-200);border-radius:2px;padding:1px 5px}pre{border-radius:0!important;font-family:var(--v3-mono, \"SuisseIntlMono\", monospace);font-size:13px;line-height:1.6}.code-block,div[class~=\"code-block\"],.code-group,div[class~=\"code-group\"]{border-radius:0!important;box-shadow:none!important;overflow:hidden!important}.code-block-background,[class*=\"code-block-background\"],.code-group{border-radius:0!important;box-shadow:none!important;background-color:var(--phala-blue-50)!important}.code-block-background,[class*=\"code-block-background\"]{border:0!important}.dark .code-block-background,.dark .code-group,[data-theme=\"dark\"] .code-block-background,[data-theme=\"dark\"] .code-group{background-color:var(--surface-trust-card)!important}.code-group [role=\"tab\"][data-state=\"active\"],.code-group [role=\"tab\"][aria-selected=\"true\"]{color:var(--primary-600)!important}.code-group [role=\"tab\"][data-state=\"active\"]>div:first-child{color:var(--primary-600)!important}.code-group [role=\"tab\"][data-state=\"active\"]>div.absolute,.code-group [role=\"tab\"][data-state=\"active\"]>div[class*=\"absolute\"][class*=\"bottom\"]{background-color:var(--primary-600)!important;border-radius:0!important}.dark .code-group [role=\"tab\"][data-state=\"active\"],[data-theme=\"dark\"] .code-group [role=\"tab\"][data-state=\"active\"]{color:var(--primary-300)!important}.dark .code-group [role=\"tab\"][data-state=\"active\"]>div.absolute,[data-theme=\"dark\"] .code-group [role=\"tab\"][data-state=\"active\"]>div.absolute{background-color:var(--primary-300)!important}[data-fade-overlay]{display:none!important}.card{border-radius:0!important;box-shadow:none!important;--tw-ring-shadow: 0 0 #0000 !important;--tw-ring-offset-shadow: 0 0 #0000 !important}.card:hover{box-shadow:none!important;border-color:var(--primary-600)!important}.card svg.bg-primary,.card svg[class*=\"bg-primary\"]:not([class*=\"primary-light\"]),.card .text-primary{background-color:var(--primary-600)!important;color:var(--primary-600)!important}.dark .card svg.bg-primary,.dark .card svg[class*=\"bg-primary\"],[data-theme=\"dark\"] .card svg.bg-primary{background-color:var(--primary-300)!important;color:var(--primary-300)!important}.callout{border-radius:0!important;background-color:var(--card, #ffffff)!important;border-width:0!important;border-left:4px solid var(--phala-blue-500)!important;padding:1rem 1.25rem!important;box-shadow:none!important}.callout[data-callout-type=\"warning\"]{border-left-color:var(--phala-orange-300)!important}.callout[data-callout-type=\"info\"]{border-left-color:var(--phala-blue-500)!important}.callout[data-callout-type=\"tip\"]{background-color:var(--phala-blue-300)!important;border-left-color:var(--phala-blue-500)!important}.callout [data-component-part=\"callout-content\"],.callout [data-component-part=\"callout-content\"] *{color:var(--base-800)!important}.callout [data-component-part=\"callout-content\"]>span:first-child>strong:only-child{font-family:var(--v3-mono, \"SuisseIntlMono\", monospace);font-size:11px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;display:block;margin-bottom:0.25rem;color:var(--base-600)!important}.callout[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"] strong{font-weight:400}.callout [data-component-part=\"callout-icon\"] svg{color:var(--base-600)!important;opacity:0.7}a[href*=\"cloud.phala.com\"]>span.absolute,a[href*=\"cloud.phala.com\"]>span[class*=\"absolute\"][class*=\"inset-0\"]{background-color:var(--primary-300)!important;background-image:none!important;border-radius:4px!important;box-shadow:none!important}a[href*=\"cloud.phala.com\"] span[class*=\"text-white\"],a[href*=\"cloud.phala.com\"] .z-10{color:#000!important}a[href*=\"cloud.phala.com\"] span[class*=\"text-white\"]~svg,a[href*=\"cloud.phala.com\"] svg.text-white\\/90,a[href*=\"cloud.phala.com\"] svg[class*=\"text-white\"],a[href*=\"cloud.phala.com\"] svg path{color:#000!important;stroke:#000!important}a[href*=\"cloud.phala.com\"][target=\"_blank\"]{font-family:var(--v3-body, \"ABCDiatype\", sans-serif);font-weight:500;letter-spacing:0}a[href*=\"cloud.phala.com\"]:hover>span[class*=\"absolute\"]{opacity:0.9!important}[class*=\"Update\"] [class*=\"label\"],[class*=\"update\"] [class*=\"label\"],[class*=\"UpdateLabel\"],[class*=\"changelog\"] h2,[class*=\"Changelog\"] h2{font-family:var(--v3-mono, \"SuisseIntlMono\", monospace);font-size:12px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase}table{border-collapse:collapse;border:1px solid var(--base-200)}th,td{border:1px solid var(--base-200);padding:8px 12px;font-size:14px}th{font-family:var(--v3-mono, \"SuisseIntlMono\", monospace);font-size:11px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase}"}],"page":{"pagePath":"api-reference/cvms/get-cvm-network-info","slug":"/api-reference/cvms/get-cvm-network-info","pageMetadata":{"title":"Get CVM network info","description":"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/network","href":"/api-reference/cvms/get-cvm-network-info","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: \"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).\"\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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Get CVM network info","description":"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/network","href":"/api-reference/cvms/get-cvm-network-info","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/phalanetwork-1606097b/2c201375ed6be1da/scripts/generate-cli-docs.js"],"openApiReferenceData":{"operation":{"tags":["CVMs"],"summary":"Get CVM network info","description":"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).","operationId":"handle_get_cvm_network_info_api_v1_cvms__cvm_id__network_get","parameters":["8c80af97-f314-4941-8846-96f11d639346"],"responses":{"200":"1736de46-182a-4b0c-bc8f-c365b8712693","401":"fd1096d3-f116-4135-aa55-08fce4445c2f","403":"17d05b5a-e0a6-4464-a31b-8328a3ffef97","404":"75ceb247-3025-41de-a586-1cbec3bde497","422":"fb69214d-7197-479d-a1a9-2dfd8c0846a3"},"method":"get","type":"path","servers":["f8681adb-18b5-43a6-97a9-503a02fd6af3"],"security":[],"path":"/api/v1/cvms/{cvm_id}/network","baseUrlOptions":["https://cloud-api.phala.com"],"title":"Get CVM network info","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8c80af97-f314-4941-8846-96f11d639346":{"name":"cvm_id","in":"path","required":true,"schema":{"type":"string","title":"Cvm Id","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"1736de46-182a-4b0c-bc8f-c365b8712693":{"description":"Network info (may have error if offline)","content":{"application/json":{"schema":{"properties":{"is_online":{"type":"boolean","title":"Is Online","isRequired":true,"uniqueKey":"is_online","typeLabel":"boolean"},"ingress":{"oneOf":[{"type":"object","title":"CvmGatewayIngress","description":"Layer A, from the CVM's current compose; None when it cannot be read.","required":["gateway_enabled"],"properties":{"gateway_enabled":{"type":"boolean","title":"Gateway Enabled","isRequired":true,"uniqueKey":"ingress.oneOf.0.gateway_enabled","typeLabel":"boolean"},"port_policy":{"oneOf":[{"type":"object","title":"PortPolicy","description":"Guest ports the gateway forwards; None when not declared.","properties":{"ports":{"items":{"properties":{"port":{"type":"integer","title":"Port","isRequired":true,"uniqueKey":"ingress.oneOf.0.port_policy.oneOf.0.ports.items.[INDEX].port","typeLabel":"integer"},"pp":{"type":"boolean","title":"Pp","default":false,"uniqueKey":"ingress.oneOf.0.port_policy.oneOf.0.ports.items.[INDEX].pp","typeLabel":"boolean"}},"type":"object","required":["port"],"title":"PortAttrs","description":"Per-port gateway attribute. Matches dstack_types::PortAttrs.\n\nField order is alphabetical to match the normalized-compose JSON layout\nthe gateway and KMS use for compose_hash.","uniqueKey":"ingress.oneOf.0.port_policy.oneOf.0.ports.items.[INDEX]","typeLabel":"PortAttrs · object"},"type":"array","title":"Ports","uniqueKey":"ingress.oneOf.0.port_policy.oneOf.0.ports","typeLabel":"PortAttrs · object[]"},"restrict_mode":{"type":"boolean","title":"Restrict Mode","default":false,"uniqueKey":"ingress.oneOf.0.port_policy.oneOf.0.restrict_mode","typeLabel":"boolean"}},"uniqueKey":"ingress.oneOf.0.port_policy.oneOf.0","typeLabel":"PortPolicy · object"},{"type":"null","description":"Guest ports the gateway forwards; None when not declared.","uniqueKey":"ingress.oneOf.0.port_policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"ingress.oneOf.0.port_policy","typeLabel":"PortPolicy · object | null"}},"isRequired":true,"uniqueKey":"ingress.oneOf.0","typeLabel":"CvmGatewayIngress · object"},{"type":"null","description":"Layer A, from the CVM's current compose; None when it cannot be read.","isRequired":true,"uniqueKey":"ingress.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"ingress","typeLabel":"CvmGatewayIngress · object | null"},"port_mappings":{"items":{"properties":{"id":{"type":"string","pattern":"^pm_.+","format":"hashid","title":"HashedId[cvm_port_mappings]","description":"A hashed identifier that maps to an internal database ID","examples":["pm_0123abcd"],"isRequired":true,"uniqueKey":"port_mappings.items.[INDEX].id","typeLabel":"string\u003chashid>"},"host_port":{"type":"integer","title":"Host Port","isRequired":true,"uniqueKey":"port_mappings.items.[INDEX].host_port","typeLabel":"integer"},"vm_port":{"type":"integer","title":"Vm Port","isRequired":true,"uniqueKey":"port_mappings.items.[INDEX].vm_port","typeLabel":"integer"},"protocol":{"type":"string","title":"Protocol","isRequired":true,"uniqueKey":"port_mappings.items.[INDEX].protocol","typeLabel":"string"},"host_address":{"type":"string","title":"Host Address","isRequired":true,"uniqueKey":"port_mappings.items.[INDEX].host_address","typeLabel":"string"},"nic_index":{"type":"integer","title":"Nic Index","default":0,"uniqueKey":"port_mappings.items.[INDEX].nic_index","typeLabel":"integer"},"source_cidrs":{"items":{"type":"string","uniqueKey":"port_mappings.items.[INDEX].source_cidrs.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Source Cidrs","uniqueKey":"port_mappings.items.[INDEX].source_cidrs","typeLabel":"string[]"},"description":{"oneOf":[{"type":"string","title":"Description","uniqueKey":"port_mappings.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","uniqueKey":"port_mappings.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"port_mappings.items.[INDEX].description","typeLabel":"string | null"},"public_host":{"oneOf":[{"type":"string","title":"Public Host","description":"Node-level public DNS/IP; None when the node is not publicly reachable.","uniqueKey":"port_mappings.items.[INDEX].public_host.oneOf.0","typeLabel":"string"},{"type":"null","title":"Public Host","description":"Node-level public DNS/IP; None when the node is not publicly reachable.","uniqueKey":"port_mappings.items.[INDEX].public_host.oneOf.1","typeLabel":"null"}],"uniqueKey":"port_mappings.items.[INDEX].public_host","typeLabel":"string | null"},"forwarding_backend":{"type":"string","title":"Forwarding Backend","description":"\"vmm_hostfwd\" when QEMU forwards the port on a user-mode NIC, \"netd_forward\" when teescope-netd DNATs it to a bridge-mode NIC, \"unknown\" when the node has not reported its default network mode.","default":"vmm_hostfwd","uniqueKey":"port_mappings.items.[INDEX].forwarding_backend","typeLabel":"string"},"restart_required":{"type":"boolean","title":"Restart Required","description":"Whether adding or removing this rule needs a CVM restart. Always false for netd_forward rules: netd installs them on the live host.","default":false,"uniqueKey":"port_mappings.items.[INDEX].restart_required","typeLabel":"boolean"},"guest_ip":{"oneOf":[{"type":"string","title":"Guest Ip","description":"Guest address a netd_forward rule currently resolves to, read back from the node. None for vmm_hostfwd rules and when the node was not reachable. Empty string means the NIC's DHCP reservation is gone and the rule is inert.","uniqueKey":"port_mappings.items.[INDEX].guest_ip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Guest Ip","description":"Guest address a netd_forward rule currently resolves to, read back from the node. None for vmm_hostfwd rules and when the node was not reachable. Empty string means the NIC's DHCP reservation is gone and the rule is inert.","uniqueKey":"port_mappings.items.[INDEX].guest_ip.oneOf.1","typeLabel":"null"}],"uniqueKey":"port_mappings.items.[INDEX].guest_ip","typeLabel":"string | null"}},"type":"object","required":["id","host_port","vm_port","protocol","host_address"],"title":"PortMappingResponse","description":"Port mapping with server-assigned ID.\n\n``public_host`` is the node's publicly reachable DNS name or IPv4 literal,\ncombined with ``host_port`` to form the endpoint a user would connect to.\n``None`` means the node does not publish its managed port range.","uniqueKey":"port_mappings.items.[INDEX]","typeLabel":"PortMappingResponse · object"},"type":"array","title":"Port Mappings","description":"Layer B, as GET /cvms/{cvm_id}/ports returns them.","isRequired":true,"uniqueKey":"port_mappings","typeLabel":"PortMappingResponse · object[]"},"endpoints":{"properties":{"kms_urls":{"items":{"type":"string","uniqueKey":"endpoints.kms_urls.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Kms Urls","isRequired":true,"uniqueKey":"endpoints.kms_urls","typeLabel":"string[]"},"gateway_urls":{"items":{"type":"string","uniqueKey":"endpoints.gateway_urls.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Gateway Urls","isRequired":true,"uniqueKey":"endpoints.gateway_urls","typeLabel":"string[]"},"kms_urls_overridden":{"type":"boolean","title":"Kms Urls Overridden","description":"True when PATCH /network-config set kms_urls; else the KMS cluster's.","isRequired":true,"uniqueKey":"endpoints.kms_urls_overridden","typeLabel":"boolean"},"gateway_urls_overridden":{"type":"boolean","title":"Gateway Urls Overridden","description":"True when PATCH /network-config set gateway_urls; else the KMS cluster's.","isRequired":true,"uniqueKey":"endpoints.gateway_urls_overridden","typeLabel":"boolean"}},"type":"object","required":["kms_urls","gateway_urls","kms_urls_overridden","gateway_urls_overridden"],"title":"CvmInfrastructureEndpoints","description":"Layer C.","isRequired":true,"uniqueKey":"endpoints","typeLabel":"CvmInfrastructureEndpoints · object"},"is_public":{"type":"boolean","title":"Is Public","default":true,"uniqueKey":"is_public","typeLabel":"boolean"},"error":{"oneOf":[{"type":"string","title":"Error","uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error","uniqueKey":"error.oneOf.1","typeLabel":"null"}],"uniqueKey":"error","typeLabel":"string | null"},"internal_ip":{"oneOf":[{"type":"string","title":"Internal Ip","uniqueKey":"internal_ip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Internal Ip","uniqueKey":"internal_ip.oneOf.1","typeLabel":"null"}],"uniqueKey":"internal_ip","typeLabel":"string | null"},"latest_handshake":{"oneOf":[{"type":"string","title":"Latest Handshake","format":"date-time","uniqueKey":"latest_handshake.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Latest Handshake","uniqueKey":"latest_handshake.oneOf.1","typeLabel":"null"}],"uniqueKey":"latest_handshake","typeLabel":"string\u003cdate-time> | null"},"public_urls":{"oneOf":[{"type":"array","items":{"properties":{"app":{"type":"string","title":"App","isRequired":true,"uniqueKey":"public_urls.oneOf.0.items.[INDEX].app","typeLabel":"string"},"instance":{"type":"string","title":"Instance","isRequired":true,"uniqueKey":"public_urls.oneOf.0.items.[INDEX].instance","typeLabel":"string"}},"type":"object","required":["app","instance"],"title":"CvmNetworkUrls","description":"Model representing public URLs for a CVM port","uniqueKey":"public_urls.oneOf.0.items.[INDEX]","typeLabel":"CvmNetworkUrls · object"},"title":"Public Urls","uniqueKey":"public_urls.oneOf.0","typeLabel":"CvmNetworkUrls · object[]"},{"type":"null","title":"Public Urls","uniqueKey":"public_urls.oneOf.1","typeLabel":"null"}],"uniqueKey":"public_urls","typeLabel":"CvmNetworkUrls · object[] | null"}},"type":"object","required":["is_online","ingress","port_mappings","endpoints"],"title":"CvmNetworkView","description":"Gateway status plus the three network layers of a CVM.","uniqueKey":"","typeLabel":"CvmNetworkView · object"},"examples":{"Example":{"title":"Example","value":{"is_online":true,"ingress":{"gateway_enabled":true,"port_policy":{"ports":[{"port":123,"pp":false}],"restrict_mode":false}},"port_mappings":[{"id":"pm_0123abcd","host_port":123,"vm_port":123,"protocol":"\u003cstring>","host_address":"\u003cstring>","nic_index":0,"source_cidrs":["\u003cstring>"],"description":"\u003cstring>","public_host":"\u003cstring>","forwarding_backend":"vmm_hostfwd","restart_required":false,"guest_ip":"\u003cstring>"}],"endpoints":{"kms_urls":["\u003cstring>"],"gateway_urls":["\u003cstring>"],"kms_urls_overridden":true,"gateway_urls_overridden":true},"is_public":true,"error":"\u003cstring>","internal_ip":"\u003cstring>","latest_handshake":"2023-11-07T05:31:56Z","public_urls":[{"app":"\u003cstring>","instance":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"fd1096d3-f116-4135-aa55-08fce4445c2f":{"description":"Authentication required","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"17d05b5a-e0a6-4464-a31b-8328a3ffef97":{"description":"Access denied","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"75ceb247-3025-41de-a586-1cbec3bde497":{"description":"CVM not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"fb69214d-7197-479d-a1a9-2dfd8c0846a3":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"f8681adb-18b5-43a6-97a9-503a02fd6af3":{"url":"https://cloud-api.phala.com"}}},"originalFileLocation":"openapi.json"},"subdomain":"phalanetwork-1606097b","siteName":"Phala","title":"Phala Cloud Documentation — Private AI on TEE","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-07T14:53:09.598Z","originalFileLocation":"api-reference/cvms/get-cvm-network-info.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=\"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).\">\u003cmeta data-mint-head name=\"keywords\" content=\"Phala Cloud, TEE, Trusted Execution Environment, Confidential Computing, Private AI, confidential AI, GPU TEE, Intel TDX, dstack, blockchain, privacy-preserving computing, secure cloud, attestation\">\u003cmeta data-mint-head name=\"application-name\" content=\"Phala\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Phala Cloud Documentation — Private AI on TEE\">\u003cmeta data-mint-head property=\"og:description\" content=\"Deploy confidential AI applications on Phala Cloud with hardware-level privacy via Intel TDX, NVIDIA H100 GPU TEE, and verifiable attestation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Phala Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://raw.githubusercontent.com/Phala-Network/phala-docs/main/images/phala-docs-og.png\">\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=\"Phala Cloud Documentation — Private AI on TEE\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Deploy confidential AI applications on Phala Cloud with hardware-level privacy via Intel TDX, NVIDIA H100 GPU TEE, and verifiable attestation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://raw.githubusercontent.com/Phala-Network/phala-docs/main/images/phala-docs-og.png\">\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/phalanetwork-1606097b/nl48Duk5fn7pmYeb/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Phala\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#527a08\">\u003cmeta data-mint-head name=\"author\" content=\"Phala Cloud\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Phala Cloud — Confidential Computing \u0026amp; GPU TEE for AI\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@PhalaNetwork\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/cvms/get-cvm-network-info.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.phala.com/#organization\",\"name\":\"Phala\",\"url\":\"https://docs.phala.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/phalanetwork-1606097b/Y2wR1-jOsoYpAL6q/images/phala-light.png?fit=max\u0026auto=format\u0026n=Y2wR1-jOsoYpAL6q\u0026q=85\u0026s=fb4f438a36865810867d188289681376\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.phala.com#website\",\"name\":\"Phala\",\"url\":\"https://docs.phala.com\",\"publisher\":{\"@id\":\"https://docs.phala.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info#webpage\",\"url\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info\",\"name\":\"Get CVM network info\",\"description\":\"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).\",\"dateModified\":\"2026-11-07T14:53:09.598Z\",\"isPartOf\":{\"@id\":\"https://docs.phala.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Phala Cloud\",\"item\":\"https://docs.phala.com/phala-cloud/what-is/what-is-phala-cloud\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API \u0026 SDK\",\"item\":\"https://docs.phala.com/phala-cloud/references/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Phala Cloud API\",\"item\":\"https://docs.phala.com/phala-cloud/phala-cloud-api/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"CVMs\",\"item\":\"https://docs.phala.com/api-reference/cvms/create-cvm-two-phase-on-one-path\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Get CVM network info\",\"item\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info#apireference\",\"headline\":\"Get CVM network info\",\"name\":\"Get CVM network info\",\"description\":\"Returns gateway status (internal IP, handshake time, public URLs) and the three network layers: gateway ingress from the compose (ingress), direct port mappings (port_mappings, as GET /ports) and the KMS/gateway URLs updates send (endpoints).\",\"url\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info\",\"mainEntityOfPage\":{\"@id\":\"https://docs.phala.com/api-reference/cvms/get-cvm-network-info#webpage\"},\"image\":\"https://raw.githubusercontent.com/Phala-Network/phala-docs/main/images/phala-docs-og.png\",\"dateModified\":\"2026-11-07T14:53:09.598Z\",\"publisher\":{\"@id\":\"https://docs.phala.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.phala.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Phala\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Phala","nav":{"global":null,"tabs":[{"tab":"Phala Cloud","icon":"cloud","pages":[{"group":"Phala Cloud","pages":[{"title":"What is Phala Cloud","href":"/phala-cloud/what-is/what-is-phala-cloud"},{"group":"Getting Started","pages":[{"title":"Quick Start","href":"/phala-cloud/getting-started/overview"},{"title":"Create Account","href":"/phala-cloud/getting-started/sign-up-for-cloud-account"},{"title":"CVM Deployment","href":"/phala-cloud/getting-started/start-from-cloud-ui"},{"title":"Deploy Your First CVM","href":"/phala-cloud/getting-started/deploy-first-cvm"},{"title":"Explore Templates","href":"/phala-cloud/getting-started/explore-templates/overview"},{"title":"Get and Verify Attestation","href":"/phala-cloud/getting-started/attestation"},{"title":"Migration from dstack v0.3","href":"/phala-cloud/references/migration-from-dstack-v03"}]},{"group":"CVM","pages":[{"title":"CVM Overview","href":"/phala-cloud/cvm/overview"},{"title":"CVM with Docker Compose","href":"/phala-cloud/cvm/create-with-docker-compose"},{"title":"Environment Variables","href":"/phala-cloud/cvm/set-secure-environment-variables"},{"title":"Private Container Registry","href":"/phala-cloud/cvm/create-with-private-docker-image"},{"title":"Scale with Multiple Replicas","href":"/phala-cloud/cvm/multi-replica-scaling"},{"title":"Replicating CVMs","href":"/phala-cloud/cvm/replicating-cvms"},{"title":"Launch Token","href":"/phala-cloud/cvm/launch-token"},{"title":"Advanced CVM Settings","href":"/phala-cloud/cvm/advanced-settings"},{"title":"Deployment Cheat Sheet","href":"/phala-cloud/cvm/deployment-cheat-sheet"},{"title":"OS Image","href":"/phala-cloud/cvm/image/overview"},{"title":"Database","href":"/phala-cloud/storage/access-database"},{"title":"Update Code","href":"/phala-cloud/update/upgrade-application"},{"title":"Scaling","href":"/phala-cloud/update/resize-resource"},{"title":"Update CVM Configuration","href":"/phala-cloud/update/update-cvm-configuration"}]},{"group":"GPU CVM","pages":[{"title":"Deploy AI Models in GPU TEE","href":"/phala-cloud/confidential-ai/gpu-tee-deployment-guide"},{"title":"Deploy and Verify GPU TEE","href":"/phala-cloud/confidential-ai/confidential-gpu/deploy-and-verify"},{"title":"Troubleshooting","href":"/phala-cloud/confidential-ai/confidential-gpu/troubleshooting"},{"title":"Benchmark","href":"/phala-cloud/confidential-ai/benchmark"}]},{"group":"Phala Cloud CLI","pages":[{"title":"CLI Overview","href":"/phala-cloud/phala-cloud-cli/overview"},{"title":"Deploy Your First CVM","href":"/phala-cloud/phala-cloud-cli/start-from-cloud-cli"},{"title":"phala.toml Configuration","href":"/phala-cloud/phala-cloud-cli/phala-toml"},{"title":"Set Up a CI/CD Pipeline","href":"/phala-cloud/phala-cloud-cli/ci-cd-automation/setup-a-ci-cd-pipeline"},{"title":"Deploy with the GitHub Action","href":"/phala-cloud/phala-cloud-cli/ci-cd-automation/github-deploy-action"},{"group":"Deploy","pages":[{"title":"deploy","href":"/phala-cloud/phala-cloud-cli/deploy"},{"title":"instance-types","href":"/phala-cloud/phala-cloud-cli/instance-types"},{"group":"nodes","pages":[{"title":"nodes","hidden":true,"href":"/phala-cloud/phala-cloud-cli/nodes"},{"title":"nodes list","href":"/phala-cloud/phala-cloud-cli/nodes/list"}]},{"title":"os-images","href":"/phala-cloud/phala-cloud-cli/os-images"}]},{"group":"CVM Operations","pages":[{"title":"annotations","href":"/phala-cloud/phala-cloud-cli/annotations"},{"title":"cp","href":"/phala-cloud/phala-cloud-cli/cp"},{"title":"logs","href":"/phala-cloud/phala-cloud-cli/logs"},{"title":"ps","href":"/phala-cloud/phala-cloud-cli/ps"},{"title":"runtime-config","href":"/phala-cloud/phala-cloud-cli/runtime-config"},{"title":"ssh","href":"/phala-cloud/phala-cloud-cli/ssh"}]},{"group":"Resources","pages":[{"group":"apps","pages":[{"title":"apps","hidden":true,"href":"/phala-cloud/phala-cloud-cli/apps"},{"title":"apps launch-token","href":"/phala-cloud/phala-cloud-cli/apps/launch-token"}]},{"group":"instances","pages":[{"title":"instances","hidden":true,"href":"/phala-cloud/phala-cloud-cli/instances"},{"title":"instances ls","href":"/phala-cloud/phala-cloud-cli/instances/ls"},{"title":"instances add","href":"/phala-cloud/phala-cloud-cli/instances/add"},{"title":"instances rm","href":"/phala-cloud/phala-cloud-cli/instances/rm"}]},{"group":"cvms","pages":[{"title":"cvms","hidden":true,"href":"/phala-cloud/phala-cloud-cli/cvms"},{"title":"cvms attestation","href":"/phala-cloud/phala-cloud-cli/cvms/attestation"},{"title":"cvms delete","href":"/phala-cloud/phala-cloud-cli/cvms/delete"},{"title":"cvms device-allowlist","href":"/phala-cloud/phala-cloud-cli/cvms/device-allowlist"},{"title":"cvms get","href":"/phala-cloud/phala-cloud-cli/cvms/get"},{"title":"cvms list","href":"/phala-cloud/phala-cloud-cli/cvms/list"},{"title":"cvms list-nodes","href":"/phala-cloud/phala-cloud-cli/cvms/list-nodes"},{"title":"cvms logs (Deprecated)","href":"/phala-cloud/phala-cloud-cli/cvms/logs"},{"title":"cvms replicate","href":"/phala-cloud/phala-cloud-cli/cvms/replicate"},{"title":"cvms resize","href":"/phala-cloud/phala-cloud-cli/cvms/resize"},{"title":"cvms restart","href":"/phala-cloud/phala-cloud-cli/cvms/restart"},{"title":"cvms serial-logs (Deprecated)","href":"/phala-cloud/phala-cloud-cli/cvms/serial-logs"},{"title":"cvms start","href":"/phala-cloud/phala-cloud-cli/cvms/start"},{"title":"cvms stop","href":"/phala-cloud/phala-cloud-cli/cvms/stop"},{"title":"cvms upgrade (Deprecated)","href":"/phala-cloud/phala-cloud-cli/cvms/upgrade"}]},{"group":"envs","pages":[{"title":"envs","hidden":true,"href":"/phala-cloud/phala-cloud-cli/envs"},{"title":"envs encrypt","href":"/phala-cloud/phala-cloud-cli/envs/encrypt"},{"title":"envs update","href":"/phala-cloud/phala-cloud-cli/envs/update"}]},{"group":"ssh-keys","pages":[{"title":"ssh-keys","hidden":true,"href":"/phala-cloud/phala-cloud-cli/ssh-keys"},{"title":"ssh-keys list","href":"/phala-cloud/phala-cloud-cli/ssh-keys/list"},{"title":"ssh-keys add","href":"/phala-cloud/phala-cloud-cli/ssh-keys/add"},{"title":"ssh-keys remove","href":"/phala-cloud/phala-cloud-cli/ssh-keys/remove"},{"title":"ssh-keys import-github","href":"/phala-cloud/phala-cloud-cli/ssh-keys/import-github"}]},{"group":"allow-devices","pages":[{"title":"allow-devices","hidden":true,"href":"/phala-cloud/phala-cloud-cli/allow-devices"},{"title":"allow-devices list","href":"/phala-cloud/phala-cloud-cli/allow-devices/list"},{"title":"allow-devices add","href":"/phala-cloud/phala-cloud-cli/allow-devices/add"},{"title":"allow-devices remove","href":"/phala-cloud/phala-cloud-cli/allow-devices/remove"},{"title":"allow-devices allow-any","href":"/phala-cloud/phala-cloud-cli/allow-devices/allow-any"},{"title":"allow-devices disallow-any","href":"/phala-cloud/phala-cloud-cli/allow-devices/disallow-any"},{"title":"allow-devices toggle-allow-any","href":"/phala-cloud/phala-cloud-cli/allow-devices/toggle-allow-any"}]},{"group":"kms","pages":[{"title":"kms","hidden":true,"href":"/phala-cloud/phala-cloud-cli/kms"},{"title":"kms list","href":"/phala-cloud/phala-cloud-cli/kms/list"},{"title":"kms nodes","href":"/phala-cloud/phala-cloud-cli/kms/nodes"},{"title":"kms ethereum","href":"/phala-cloud/phala-cloud-cli/kms/ethereum"},{"title":"kms base","href":"/phala-cloud/phala-cloud-cli/kms/base"},{"title":"kms phala","href":"/phala-cloud/phala-cloud-cli/kms/phala"}]}]},{"group":"Profile \u0026 Auth","pages":[{"title":"login","href":"/phala-cloud/phala-cloud-cli/login"},{"title":"logout","href":"/phala-cloud/phala-cloud-cli/logout"},{"group":"profiles","pages":[{"title":"profiles","hidden":true,"href":"/phala-cloud/phala-cloud-cli/profiles"},{"title":"profiles use","href":"/phala-cloud/phala-cloud-cli/profiles/use"},{"title":"profiles rename","href":"/phala-cloud/phala-cloud-cli/profiles/rename"},{"title":"profiles delete","href":"/phala-cloud/phala-cloud-cli/profiles/delete"}]},{"title":"status","href":"/phala-cloud/phala-cloud-cli/status"},{"title":"switch","href":"/phala-cloud/phala-cloud-cli/switch"},{"title":"whoami","href":"/phala-cloud/phala-cloud-cli/whoami"},{"title":"link","href":"/phala-cloud/phala-cloud-cli/link"}]},{"group":"Dev Tools","pages":[{"title":"api","href":"/phala-cloud/phala-cloud-cli/api"},{"group":"simulator","pages":[{"title":"simulator","hidden":true,"href":"/phala-cloud/phala-cloud-cli/simulator"},{"title":"simulator start","href":"/phala-cloud/phala-cloud-cli/simulator/start"},{"title":"simulator stop","href":"/phala-cloud/phala-cloud-cli/simulator/stop"}]},{"title":"keccak256sum","href":"/phala-cloud/phala-cloud-cli/keccak256sum"}]},{"group":"Misc","pages":[{"title":"phala completion","href":"/phala-cloud/phala-cloud-cli/completion"},{"group":"self","pages":[{"title":"self","hidden":true,"href":"/phala-cloud/phala-cloud-cli/self"},{"title":"self update","href":"/phala-cloud/phala-cloud-cli/self/update"}]}]},{"title":"Changelog","href":"/phala-cloud/phala-cloud-cli/changelog"},{"group":"Deprecated","pages":[{"group":"auth","pages":[{"title":"auth (Deprecated)","hidden":true,"href":"/phala-cloud/phala-cloud-cli/auth"},{"title":"auth login (Deprecated)","href":"/phala-cloud/phala-cloud-cli/auth/login"},{"title":"auth logout (Deprecated)","href":"/phala-cloud/phala-cloud-cli/auth/logout"},{"title":"auth status (Deprecated)","href":"/phala-cloud/phala-cloud-cli/auth/status"}]},{"group":"config","pages":[{"title":"config (Deprecated)","hidden":true,"href":"/phala-cloud/phala-cloud-cli/config"},{"title":"config get","href":"/phala-cloud/phala-cloud-cli/config/get"},{"title":"config list","href":"/phala-cloud/phala-cloud-cli/config/list"},{"title":"config set","href":"/phala-cloud/phala-cloud-cli/config/set"}]}]}]},{"group":"Networking","pages":[{"title":"Overview","href":"/phala-cloud/networking/overview"},{"title":"Quickstart","href":"/phala-cloud/networking/quickstart"},{"title":"Expose an HTTP Service","href":"/phala-cloud/networking/expose-http-service"},{"title":"Set Up a Custom Domain","href":"/phala-cloud/networking/setup-custom-domain"},{"title":"Expose TCP Services","href":"/phala-cloud/networking/expose-tcp-service"},{"title":"Enable SSH Access","href":"/phala-cloud/networking/enable-ssh-access"},{"title":"TLS Passthrough","href":"/phala-cloud/networking/tls-passthrough"},{"title":"Set Up gRPC Services","href":"/phala-cloud/networking/setup-grpc-service"},{"title":"Architecture","href":"/phala-cloud/networking/architecture"},{"title":"Network Security","href":"/phala-cloud/networking/security"},{"title":"Domain Attestation","href":"/phala-cloud/networking/domain-attestation"},{"title":"Reference","href":"/phala-cloud/networking/specifications"},{"title":"Troubleshooting","href":"/phala-cloud/networking/troubleshooting"}]},{"group":"Onchain KMS","pages":[{"title":"What is KMS","href":"/phala-cloud/key-management/key-management-protocol"},{"title":"Cloud vs Onchain KMS","href":"/phala-cloud/key-management/cloud-vs-onchain-kms"},{"title":"Understanding Onchain KMS","href":"/phala-cloud/key-management/understanding-onchain-kms"},{"title":"Deploying with Onchain KMS","href":"/phala-cloud/key-management/deploying-with-onchain-kms"},{"title":"Updating with Onchain KMS","href":"/phala-cloud/key-management/updating-with-onchain-kms"},{"title":"Device Management","href":"/phala-cloud/key-management/device-management"},{"title":"Multisig and Governance","href":"/phala-cloud/key-management/multisig-governance"},{"group":"Derived Keys","pages":[{"title":"Get a Deterministic Key","href":"/phala-cloud/key-management/get-a-key"},{"title":"Create Crypto Wallets","href":"/phala-cloud/key-management/create-crypto-wallet"}]}]},{"group":"Trust Center \u0026 Attestation","pages":[{"group":"Trust Center","pages":[{"title":"Trust Center Verification","href":"/phala-cloud/attestation/trust-center-verification"},{"title":"Become a Featured Builder","href":"/phala-cloud/attestation/feature-builder"}]},{"group":"Attestation","pages":[{"title":"Overview","href":"/phala-cloud/attestation/overview"},{"title":"Quickstart","href":"/phala-cloud/attestation/quickstart"},{"title":"Get Attestation","href":"/phala-cloud/attestation/get-attestation"},{"title":"Verify Your Application","href":"/phala-cloud/attestation/verify-your-application"},{"title":"Verify the Platform","href":"/phala-cloud/attestation/verify-the-platform"},{"title":"End-to-End Attestation Verification","href":"/phala-cloud/attestation/verification-guide"},{"title":"Complete Chain of Trust","href":"/phala-cloud/attestation/chain-of-trust"},{"title":"Attestation Fields Reference","href":"/phala-cloud/attestation/attestation-fields"}]}]},{"group":"Security \u0026 Compliance","pages":[{"title":"Compliance \u0026 Certifications","href":"/phala-cloud/security-and-privacy/compliance"},{"title":"Security Audit Report","href":"/phala-cloud/security-and-privacy/security-audit"},{"title":"Security Architecture","href":"/phala-cloud/security-and-privacy/security-architecture"},{"title":"Privacy","href":"/phala-cloud/security-and-privacy/privacy"}]},{"group":"Observability","pages":[{"title":"Public Logs","href":"/phala-cloud/monitoring/public-logs"},{"title":"Serial Logs","href":"/phala-cloud/monitoring/serials-logs"},{"title":"Private Log Viewer","href":"/phala-cloud/monitoring/private-log-viewer"},{"title":"Datadog Integration","href":"/phala-cloud/monitoring/datadog-integration"},{"title":"Troubleshooting Guide","href":"/phala-cloud/troubleshooting/troubleshooting"},{"title":"Private Log Viewer","href":"/phala-cloud/troubleshooting/private-log-viewer"},{"title":"Debug Application","href":"/phala-cloud/troubleshooting/debug-your-application"},{"title":"Production Checklist","href":"/phala-cloud/production-checklist"},{"title":"Performance Report","href":"/phala-cloud/references/performance-report"}]},{"group":"API \u0026 SDK","pages":[{"title":"Overview","href":"/phala-cloud/references/overview"},{"group":"Phala Cloud API","pages":[{"title":"API Overview","href":"/phala-cloud/phala-cloud-api/overview"},{"title":"Attestation API Reference","href":"/phala-cloud/phala-cloud-api/attestations"},{"title":"CVM Deployment via API","href":"/phala-cloud/references/api-deployment-guide"},{"group":"Apps","pages":[{"title":"List apps","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps","href":"/api-reference/apps/list-apps"},{"title":"Get app filter options","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/filter-options","href":"/api-reference/apps/get-app-filter-options"},{"title":"Get app details","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}","href":"/api-reference/apps/get-app-details"},{"title":"Get app attestation data","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/attestations","href":"/api-reference/apps/get-app-attestation-data"},{"title":"Run app TCB evaluation","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/attestations/tcb-evaluation","href":"/api-reference/apps/run-app-tcb-evaluation"},{"title":"List app CVMs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/cvms","href":"/api-reference/apps/list-app-cvms"},{"title":"Batch check on-chain deployment allowance for all CVMs under an app","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/apps/{app_id}/cvms/is-allowed","href":"/api-reference/apps/batch-check-on-chain-deployment-allowance-for-all-cvms-under-an-app"},{"title":"Create CVM replica","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/apps/{app_id}/cvms/{vm_uuid}/replicas","href":"/api-reference/apps/create-cvm-replica"},{"title":"Create a new instance under an existing app","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/apps/{app_id}/instances","href":"/api-reference/apps/create-a-new-instance-under-an-existing-app"},{"title":"Get device allowlist status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/device-allowlist","href":"/api-reference/apps/get-device-allowlist-status"},{"title":"Check if app deployment is allowed on-chain","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/apps/{app_id}/is-allowed","href":"/api-reference/apps/check-if-app-deployment-is-allowed-on-chain"},{"title":"Set or rotate the app launch token","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/apps/{app_id}/launch-token","href":"/api-reference/apps/set-or-rotate-the-app-launch-token"},{"title":"Clear the app launch token","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/apps/{app_id}/launch-token","href":"/api-reference/apps/clear-the-app-launch-token"},{"title":"Get app on-chain KMS info","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/kms-info","href":"/api-reference/apps/get-app-on-chain-kms-info"},{"title":"Get pending compose updates","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/pending-updates","href":"/api-reference/apps/get-pending-compose-updates"},{"title":"Preview a pending compose update","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/pending-updates/{vm_uuid}/{compose_hash}/preview","href":"/api-reference/apps/preview-a-pending-compose-update"},{"title":"List app revisions","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/revisions","href":"/api-reference/apps/list-app-revisions"},{"title":"Get revision detail","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/revisions/{revision_id}","href":"/api-reference/apps/get-revision-detail"},{"title":"Redeploy app from a specific revision","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/apps/{app_id}/revisions/{revision_id}/redeploy","href":"/api-reference/apps/redeploy-app-from-a-specific-revision"},{"title":"Get app metered usage","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/apps/{app_id}/usage","href":"/api-reference/apps/get-app-metered-usage"}]},{"group":"CVMs","pages":[{"title":"Create CVM (two-phase on one path)","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms","href":"/api-reference/cvms/create-cvm-two-phase-on-one-path"},{"title":"List CVMs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms","href":"/api-reference/cvms/list-cvms"},{"title":"List CVMs (paginated)","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/paginated","href":"/api-reference/cvms/list-cvms-paginated"},{"title":"Batch stop CVMs","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/batch-stop","href":"/api-reference/cvms/batch-stop-cvms"},{"title":"Batch refresh CVM instance IDs","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/instance-ids","href":"/api-reference/cvms/batch-refresh-cvm-instance-ids"},{"title":"Handle Batch Cvm Status","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/status/batch","href":"/api-reference/user/handle-batch-cvm-status"},{"title":"Get CVM details","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}","href":"/api-reference/cvms/get-cvm-details"},{"title":"Delete CVM","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/cvms/{cvm_id}","href":"/api-reference/cvms/delete-cvm"},{"title":"Update CVM","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}","href":"/api-reference/cvms/update-cvm"},{"title":"Get CVM annotations","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/annotations","href":"/api-reference/cvms/get-cvm-annotations"},{"title":"Replace CVM annotations","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/cvms/{cvm_id}/annotations","href":"/api-reference/cvms/replace-cvm-annotations"},{"title":"Get CVM attestation","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/attestation","href":"/api-reference/cvms/get-cvm-attestation"},{"title":"List available OS images","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/available-os-images","href":"/api-reference/cvms/list-available-os-images"},{"title":"Commit CVM replica (token-based, no auth required)","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/commit-replica","href":"/api-reference/cvms/commit-cvm-replica-token-based-no-auth-required"},{"title":"Get commit token info (no auth required)","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/commit-update","href":"/api-reference/cvms/get-commit-token-info-no-auth-required"},{"title":"Commit CVM update (token-based, no auth required)","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/commit-update","href":"/api-reference/cvms/commit-cvm-update-token-based-no-auth-required"},{"title":"Get raw compose file","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/compose_file","href":"/api-reference/cvms/get-raw-compose-file"},{"title":"Trigger compose file update","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/compose_file","href":"/api-reference/cvms/trigger-compose-file-update"},{"title":"Submit compose file update","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/compose_file","href":"/api-reference/cvms/submit-compose-file-update"},{"title":"Provision compose file update","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/compose_file/provision","href":"/api-reference/cvms/provision-compose-file-update"},{"title":"Diagnose custom domain DNS","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/customize-domain-diagnose","href":"/api-reference/cvms/diagnose-custom-domain-dns"},{"title":"Update Docker Compose file","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/docker-compose","href":"/api-reference/cvms/update-docker-compose-file"},{"title":"Get staged CVM changes","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/draft","href":"/api-reference/cvms/get-staged-cvm-changes"},{"title":"Stage CVM changes","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/draft","href":"/api-reference/cvms/stage-cvm-changes"},{"title":"Discard staged CVM changes","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/cvms/{cvm_id}/draft","href":"/api-reference/cvms/discard-staged-cvm-changes"},{"title":"Apply staged CVM changes","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/draft/apply","href":"/api-reference/cvms/apply-staged-cvm-changes"},{"title":"Get Docker Compose file","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/docker-compose.yml","href":"/api-reference/cvms/get-docker-compose-file"},{"title":"Update environment variables","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/envs","href":"/api-reference/cvms/update-environment-variables"},{"title":"Get firewall availability for this CVM's node","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/firewall-status","href":"/api-reference/cvms/get-firewall-availability-for-this-cvms-node"},{"title":"Get CVM init scripts","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/init-scripts","href":"/api-reference/cvms/get-cvm-init-scripts"},{"title":"Refresh CVM instance ID","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/instance-id","href":"/api-reference/cvms/refresh-cvm-instance-id"},{"title":"Set Trust Center listing for the app","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/listed","href":"/api-reference/cvms/set-trust-center-listing-for-the-app"},{"title":"Handle Update Cvm Name","description":"Update CVM name with RFC 1123 validation and availability check","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/name","href":"/api-reference/cvms/handle-update-cvm-name"},{"title":"Get CVM network info","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/network","href":"/api-reference/cvms/get-cvm-network-info"},{"title":"Get network configuration","description":"Returns real-time KMS URLs, Gateway URLs, and port mappings from VMM.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/network-config","href":"/api-reference/cvms/get-network-configuration"},{"title":"Update KMS/Gateway URLs","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/network-config","href":"/api-reference/cvms/update-kmsgateway-urls"},{"title":"Get operation status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/operation-status","href":"/api-reference/cvms/get-operation-status"},{"title":"List CVM operations","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/operations","href":"/api-reference/cvms/list-cvm-operations"},{"title":"Cancel in-progress CVM operation","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/operations/cancel","href":"/api-reference/cvms/cancel-in-progress-cvm-operation"},{"title":"Update OS image","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/os-image","href":"/api-reference/cvms/update-os-image"},{"title":"Get port mappings","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/ports","href":"/api-reference/cvms/get-port-mappings"},{"title":"Set port mappings","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/cvms/{cvm_id}/ports","href":"/api-reference/cvms/set-port-mappings"},{"title":"Get pre-launch script","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/pre-launch-script","href":"/api-reference/cvms/get-pre-launch-script"},{"title":"Update pre-launch script","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/pre-launch-script","href":"/api-reference/cvms/update-pre-launch-script"},{"title":"Replicate CVM","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/replicas","href":"/api-reference/cvms/replicate-cvm"},{"title":"Restart CVM","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/restart","href":"/api-reference/cvms/restart-cvm"},{"title":"Redeploy CVM from a specific revision","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/revisions/{revision_id}/redeploy","href":"/api-reference/cvms/redeploy-cvm-from-a-specific-revision"},{"title":"Handle Update Cvm Scheduled Delete","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/cvms/{cvm_id}/scheduled-delete","href":"/api-reference/cvms/handle-update-cvm-scheduled-delete"},{"title":"Shutdown CVM","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/shutdown","href":"/api-reference/cvms/shutdown-cvm"},{"title":"Start CVM","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/start","href":"/api-reference/cvms/start-cvm"},{"title":"Handle Get Cvm State","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/state","href":"/api-reference/cvms/handle-get-cvm-state"},{"title":"Get CVM system stats","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/stats","href":"/api-reference/cvms/get-cvm-system-stats"},{"title":"Force stop CVM","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/cvms/{cvm_id}/stop","href":"/api-reference/cvms/force-stop-cvm"},{"title":"Get CVM user config","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/cvms/{cvm_id}/user_config","href":"/api-reference/cvms/get-cvm-user-config"}]},{"group":"Attestations","pages":[{"title":"Verify TEE quote","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/attestations/verify","href":"/api-reference/public/verify-tee-quote"},{"title":"View quote details","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/view/{checksum}","href":"/api-reference/public/view-quote-details"},{"title":"Get quote collateral","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/collateral/{checksum}","href":"/api-reference/public/get-quote-collateral"},{"title":"Download raw quote","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/raw/{checksum}","href":"/api-reference/public/download-raw-quote"},{"title":"Check raw quote exists","deprecated":null,"version":null,"openapi":"/openapi.json head /api/v1/attestations/raw/{checksum}","href":"/api-reference/public/check-raw-quote-exists"},{"title":"List recent quotes","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/recent","href":"/api-reference/public/list-recent-quotes"},{"title":"List nodes","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/nodes","href":"/api-reference/public/list-nodes"},{"title":"List node device IDs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/device_ids","href":"/api-reference/public/list-node-device-ids"},{"title":"List node PPIDs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/attestations/ppids","href":"/api-reference/public/list-node-ppids"}]},{"group":"KMS","pages":[{"title":"List KMS contracts","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/kms","href":"/api-reference/public/list-kms-contracts"},{"title":"Get KMS contract details","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/kms/{kms_id}","href":"/api-reference/public/get-kms-contract-details"},{"title":"Inspect KMS instance","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/kms/{kms_id}/info","href":"/api-reference/public/inspect-kms-instance"},{"title":"Get app encryption pubkey","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/kms/{kms_id}/pubkey/{app_id}","href":"/api-reference/public/get-app-encryption-pubkey"},{"title":"Get on-chain KMS details by chain","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/kms/on-chain/{chain}","href":"/api-reference/public/get-on-chain-kms-details-by-chain"},{"title":"Predict next app IDs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/kms/phala/next_app_id","href":"/api-reference/kms/predict-next-app-ids"}]},{"group":"SSH Keys","pages":[{"title":"List user SSH keys","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/user/ssh-keys","href":"/api-reference/user/list-user-ssh-keys"},{"title":"Add SSH key","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/user/ssh-keys","href":"/api-reference/user/add-ssh-key"},{"title":"Delete SSH key","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/user/ssh-keys/{key_id}","href":"/api-reference/user/delete-ssh-key"},{"title":"Import keys from GitHub profile","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/user/ssh-keys/github-profile","href":"/api-reference/user/import-keys-from-github-profile"},{"title":"Sync keys from GitHub","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/user/ssh-keys/github-sync","href":"/api-reference/user/sync-keys-from-github"}]},{"group":"Instance Types","pages":[{"title":"List instance type families","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/instance-types","href":"/api-reference/public/list-instance-type-families"},{"title":"List family instance types","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/instance-types/{family}","href":"/api-reference/public/list-family-instance-types"}]},{"group":"Webhooks","pages":[{"title":"List workspace webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workspace/webhooks","href":"/api-reference/webhooks/list-workspace-webhooks"},{"title":"Create workspace webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workspace/webhooks","href":"/api-reference/webhooks/create-workspace-webhook"},{"title":"Get webhook details","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workspace/webhooks/{webhook_id}","href":"/api-reference/webhooks/get-webhook-details"},{"title":"Update webhook","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/workspace/webhooks/{webhook_id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/workspace/webhooks/{webhook_id}","href":"/api-reference/webhooks/delete-webhook"},{"title":"Reveal webhook secret (requires 2FA)","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workspace/webhooks/{webhook_id}/reveal-secret","href":"/api-reference/webhooks/reveal-webhook-secret-requires-2fa"},{"title":"Rotate webhook secret (requires 2FA)","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workspace/webhooks/{webhook_id}/rotate-secret","href":"/api-reference/webhooks/rotate-webhook-secret-requires-2fa"},{"title":"Send test webhook event","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workspace/webhooks/{webhook_id}/test","href":"/api-reference/webhooks/send-test-webhook-event"},{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workspace/webhooks/{webhook_id}/deliveries","href":"/api-reference/webhooks/list-webhook-deliveries"},{"title":"Resend a webhook delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workspace/webhooks/{webhook_id}/deliveries/{event_id}/resend","href":"/api-reference/webhooks/resend-a-webhook-delivery"},{"title":"Get webhook delivery stats","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workspace/webhooks/{webhook_id}/stats","href":"/api-reference/webhooks/get-webhook-delivery-stats"}]}]},{"group":"JavaScript SDK","pages":[{"title":"Cloud JS SDK","href":"/phala-cloud/references/cloud-js-sdk/overview"},{"title":"Authentication","href":"/phala-cloud/references/cloud-js-sdk/authentication"},{"title":"CVM Lifecycle","href":"/phala-cloud/references/cloud-js-sdk/cvm-lifecycle"},{"title":"CVM Configuration","href":"/phala-cloud/references/cloud-js-sdk/cvm-configuration"},{"title":"CVM Query","href":"/phala-cloud/references/cloud-js-sdk/cvm-query"},{"title":"provisionCvm","href":"/phala-cloud/references/cloud-js-sdk/provision-cvm"},{"title":"commitCvmProvision","href":"/phala-cloud/references/cloud-js-sdk/commit-cvm-provision"},{"title":"updateCvmEnvs","href":"/phala-cloud/references/cloud-js-sdk/update-cvm-envs"},{"title":"updateDockerCompose","href":"/phala-cloud/references/cloud-js-sdk/update-docker-compose"},{"title":"watchCvmState","href":"/phala-cloud/references/cloud-js-sdk/watch-cvm-state"},{"title":"Apps","href":"/phala-cloud/references/cloud-js-sdk/apps"},{"title":"Workspaces","href":"/phala-cloud/references/cloud-js-sdk/workspaces"},{"title":"KMS","href":"/phala-cloud/references/cloud-js-sdk/kms"},{"title":"SSH Keys","href":"/phala-cloud/references/cloud-js-sdk/ssh-keys"},{"title":"Nodes \u0026 Instance Types","href":"/phala-cloud/references/cloud-js-sdk/nodes-and-instance-types"},{"title":"getAppEnvEncryptPubKey","href":"/phala-cloud/references/cloud-js-sdk/get-app-env-encrypt-pubkey"},{"title":"deployAppAuth","href":"/phala-cloud/references/cloud-js-sdk/deploy-app-auth"},{"title":"addComposeHash","href":"/phala-cloud/references/cloud-js-sdk/add-compose-hash"},{"title":"Schema Reference","href":"/phala-cloud/references/cloud-js-sdk/schema-reference"},{"title":"Error Handling","href":"/phala-cloud/references/cloud-js-sdk/error-handling"},{"title":"API Versioning","href":"/phala-cloud/references/cloud-js-sdk/api-versioning"},{"title":"Changelog","href":"/phala-cloud/references/cloud-js-sdk/changelog"}]},{"group":"Python SDK","pages":[{"title":"Cloud Python SDK","href":"/phala-cloud/references/cloud-python-sdk/overview"},{"title":"Authentication","href":"/phala-cloud/references/cloud-python-sdk/authentication"},{"title":"CVM Lifecycle","href":"/phala-cloud/references/cloud-python-sdk/cvm-lifecycle"},{"title":"CVM Configuration","href":"/phala-cloud/references/cloud-python-sdk/cvm-configuration"},{"title":"Apps","href":"/phala-cloud/references/cloud-python-sdk/apps"},{"title":"Workspaces","href":"/phala-cloud/references/cloud-python-sdk/workspaces"},{"title":"KMS","href":"/phala-cloud/references/cloud-python-sdk/kms"},{"title":"SSH Keys","href":"/phala-cloud/references/cloud-python-sdk/ssh-keys"},{"title":"Error Handling","href":"/phala-cloud/references/cloud-python-sdk/error-handling"},{"title":"Changelog","href":"/phala-cloud/references/cloud-python-sdk/changelog"}]},{"group":"Go SDK","pages":[{"title":"Cloud Go SDK","href":"/phala-cloud/references/cloud-go-sdk/overview"},{"title":"Authentication","href":"/phala-cloud/references/cloud-go-sdk/authentication"},{"title":"CVM Lifecycle","href":"/phala-cloud/references/cloud-go-sdk/cvm-lifecycle"},{"title":"CVM Configuration","href":"/phala-cloud/references/cloud-go-sdk/cvm-configuration"},{"title":"Watch CVM State","href":"/phala-cloud/references/cloud-go-sdk/watch-cvm-state"},{"title":"Apps","href":"/phala-cloud/references/cloud-go-sdk/apps"},{"title":"Workspaces","href":"/phala-cloud/references/cloud-go-sdk/workspaces"},{"title":"KMS","href":"/phala-cloud/references/cloud-go-sdk/kms"},{"title":"SSH Keys","href":"/phala-cloud/references/cloud-go-sdk/ssh-keys"},{"title":"Error Handling","href":"/phala-cloud/references/cloud-go-sdk/error-handling"},{"title":"Changelog","href":"/phala-cloud/references/cloud-go-sdk/changelog"}]},{"group":"Terraform Provider","pages":[{"title":"Terraform Provider","href":"/phala-cloud/references/terraform-provider/overview"},{"title":"phala_app Resource","href":"/phala-cloud/references/terraform-provider/app-resource"},{"title":"phala_cvm_power Resource","href":"/phala-cloud/references/terraform-provider/cvm-power"},{"title":"phala_ssh_key Resource","href":"/phala-cloud/references/terraform-provider/ssh-key"},{"title":"Data Sources","href":"/phala-cloud/references/terraform-provider/data-sources"},{"title":"Examples","href":"/phala-cloud/references/terraform-provider/examples"},{"title":"Changelog","href":"/phala-cloud/references/terraform-provider/changelog"}]},{"title":"Error Codes","href":"/phala-cloud/references/error-codes"},{"title":"Webhooks","href":"/phala-cloud/references/webhooks"}]},{"group":"Successful Cases","pages":[{"title":"Overview","href":"/phala-cloud/cases/overview"},{"title":"Building confidential AI","href":"/phala-cloud/cases/tee_with_ai"},{"title":"2FA for FHE/MPC Systems","href":"/phala-cloud/cases/tee_with_fhe_and_mpc"},{"title":"Private Proving with TEE","href":"/phala-cloud/cases/tee_with_zk_and_zkrollup"},{"title":"Cases Explorer","href":"/phala-cloud/cases/best-practices-and-successful-case"}]},{"title":"FAQ","href":"/phala-cloud/faqs"},{"title":"What's New","href":"/phala-cloud/changelog"},{"title":"Get Support","href":"/phala-cloud/support"}]}]},{"tab":"Private AI","icon":"shield-check","pages":[{"title":"Private AI","href":"/phala-cloud/confidential-ai/overview"}]},{"tab":"dstack","icon":"terminal","pages":[{"title":"dstack","href":"/dstack/overview"}]},{"tab":"dstack Cloud","icon":"server","pages":[{"title":"dstack Cloud","href":"/dstack-cloud/overview"}]},{"tab":"Network","icon":"network","pages":[{"title":"Network","href":"/network"}]}]},"basePath":"","title":"Phala Cloud Documentation — Private AI on TEE","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}