<!DOCTYPE html><html lang="en" style="" data-color-mode="system" class=" useReactApp isRefPage "><head><meta charset="utf-8"><link rel="preconnect" href="https://cdn.readme.io"><link rel="preconnect" href="https://cdn.readme.io" crossorigin><meta name="readme-deploy" content="5.838.2"><meta name="readme-subdomain" content="neon-tech"><meta name="readme-repo" content="neon-tech-5117089289c2"><meta name="readme-project-flags" content="GaXfa76izKu2Xs93v/Bypg==:CccvDFeDQIlAMuBrw4XAtQ/RontEln7WiRnvliIqgCySOpUpUBnxBHgRKehS8evRZofuQyeOq/SIpxV1u3w5qxBJvPsxkU4OQx29R+SEJH9bfbA6CYqQM3uyPcDD2mzqGZcFo82FwXsDoz7tBGi6pA=="><meta name="readme-version" content="2.0"><title>Create project</title><meta name="description" content="Creates a Neon project within an organization.
If using a personal API key, include the `org_id` parameter to specify which organization to create the project in.
If using an org API key, `org_id` is automatically inferred from the key.
Plan limits define how many projects you can create.
For more information, see [Manage projects](https://neon.com/docs/manage/projects/).

You can specify a region and Postgres version in the request body.
Neon supports Postgres 14 through 18, with 19 rolling out to enabled regions.
For supported regions and `region_id` values, see [Regions](https://neon.com/docs/introduction/regions/).
" data-rh="true"><meta property="og:title" content="Create project" data-rh="true"><meta property="og:description" content="Creates a Neon project within an organization.
If using a personal API key, include the `org_id` parameter to specify which organization to create the project in.
If using an org API key, `org_id` is automatically inferred from the key.
Plan limits define how many projects you can create.
For more information, see [Manage projects](https://neon.com/docs/manage/projects/).

You can specify a region and Postgres version in the request body.
Neon supports Postgres 14 through 18, with 19 rolling out to enabled regions.
For supported regions and `region_id` values, see [Regions](https://neon.com/docs/introduction/regions/).
" data-rh="true"><meta property="og:site_name" content="Neon"><meta name="twitter:title" content="Create project" data-rh="true"><meta name="twitter:description" content="Creates a Neon project within an organization.
If using a personal API key, include the `org_id` parameter to specify which organization to create the project in.
If using an org API key, `org_id` is automatically inferred from the key.
Plan limits define how many projects you can create.
For more information, see [Manage projects](https://neon.com/docs/manage/projects/).

You can specify a region and Postgres version in the request body.
Neon supports Postgres 14 through 18, with 19 rolling out to enabled regions.
For supported regions and `region_id` values, see [Regions](https://neon.com/docs/introduction/regions/).
" data-rh="true"><meta name="twitter:card" content="summary_large_image"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta property="og:image" content="https://cdn.readme.io/og-image/create?type=reference&amp;title=Create%20project&amp;projectTitle=Neon&amp;description=Creates%20a%20Neon%20project%20within%20an%20organization.%0AIf%20using%20a%20personal%20API%20key%2C%20include%20the%20%60org_id%60%20parameter%20to%20specify%20which%20organization%20to%20create%20the%20project%20in.%0AIf%20using%20an%20org%20API%20key%2C%20%60org_id%60%20is%20automatically%20inferred%20from%20the%20key.%0APlan%20limits%20define%20how%20many%20projects%20you%20can%20create.%0AFor%20more%20information%2C%20see%20%5BManage%20projects%5D(https%3A%2F%2Fneon.com%2Fdocs%2Fmanage%2Fprojects%2F).%0A%0AYou%20can%20specify%20a%20region%20and%20Postgres%20version%20in%20the%20request%20body.%0ANeon%20supports%20Postgres%2014%20through%2018%2C%20with%2019%20rolling%20out%20to%20enabled%20regions.%0AFor%20supported%20regions%20and%20%60region_id%60%20values%2C%20see%20%5BRegions%5D(https%3A%2F%2Fneon.com%2Fdocs%2Fintroduction%2Fregions%2F).%0A&amp;logoUrl=https%3A%2F%2Ffiles.readme.io%2F0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg&amp;color=%23e5e5e5&amp;variant=light" data-rh="true"><meta name="twitter:image" content="https://cdn.readme.io/og-image/create?type=reference&amp;title=Create%20project&amp;projectTitle=Neon&amp;description=Creates%20a%20Neon%20project%20within%20an%20organization.%0AIf%20using%20a%20personal%20API%20key%2C%20include%20the%20%60org_id%60%20parameter%20to%20specify%20which%20organization%20to%20create%20the%20project%20in.%0AIf%20using%20an%20org%20API%20key%2C%20%60org_id%60%20is%20automatically%20inferred%20from%20the%20key.%0APlan%20limits%20define%20how%20many%20projects%20you%20can%20create.%0AFor%20more%20information%2C%20see%20%5BManage%20projects%5D(https%3A%2F%2Fneon.com%2Fdocs%2Fmanage%2Fprojects%2F).%0A%0AYou%20can%20specify%20a%20region%20and%20Postgres%20version%20in%20the%20request%20body.%0ANeon%20supports%20Postgres%2014%20through%2018%2C%20with%2019%20rolling%20out%20to%20enabled%20regions.%0AFor%20supported%20regions%20and%20%60region_id%60%20values%2C%20see%20%5BRegions%5D(https%3A%2F%2Fneon.com%2Fdocs%2Fintroduction%2Fregions%2F).%0A&amp;logoUrl=https%3A%2F%2Ffiles.readme.io%2F0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg&amp;color=%23e5e5e5&amp;variant=light" data-rh="true"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta name="dateModified" content="2026-05-27T10:11:51.000Z" data-rh="true"><meta property="article:modified_time" content="2026-05-27T10:11:51.000Z" data-rh="true"><meta property="og:updated_time" content="2026-05-27T10:11:51.000Z" data-rh="true"><script type="application/ld+json" data-rh="true">{"@context":"https://schema.org","@type":"TechArticle","headline":"Create project","dateModified":"2026-05-27T10:11:51.000Z"}</script><link id="favicon" rel="shortcut icon" href="https://files.readme.io/acb648bd40df0f810318f5c6abe728986fdb052a855b651584f40303c6cea605-neon-logomark-light-color.png" type="image/png"><link rel="canonical" href="https://api-docs.neon.tech/reference/createproject"><script src="https://cdn.readme.io/public/js/cash-dom.min.js?1786126570617"></script><link data-chunk="Footer" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Footer.769aa3e9fc194cc963d9.css">
<link data-chunk="LazySections" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/LazySections.37c8bea512c2cdd9ab4e.css">
<link data-chunk="RMDXISH" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/RMDXISH.b8f75a8ee7c7df68757a.css">
<link data-chunk="routes-SuperHub-components-AIDropdown" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-SuperHub-components-AIDropdown.8c30c03531c24f5701c5.css">
<link data-chunk="Reference" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Reference.aa891693f3e9974811d0.css">
<link data-chunk="Reference" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/2985.980db182b7543c4b48ba.css">
<link data-chunk="Header" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Header.8779c4871e92c7a56bd2.css">
<link data-chunk="Header" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/ui-styles.3a349bd2c5bf43c9b24c.css">
<link data-chunk="Containers-EndUserContainer" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Containers-EndUserContainer.a36b774a0e8f8c3ef3a0.css">
<link data-chunk="main" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/main.9cb5456486ef50b00138.css">
<link data-chunk="main" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/main.c349816a0a2d9f6ea7b6.js">
<link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-SuperHub.d2c9fb47f4de06079336.js">
<link data-chunk="Containers-EndUserContainer" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Containers-EndUserContainer.64eeed5d5c3a5c099a1e.js">
<link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons.b0668b8cde41ec10538b.js">
<link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/3061.4e8d3303a073cbdaefdf.js">
<link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/9340.192ccccafe09983ee7f0.js">
<link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/4148.680489bbe3c6f3be51f3.js">
<link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2345.7dde341c70befb1a185f.js">
<link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Header.03dc4643fc8edd17b35c.js">
<link data-chunk="routes-SuperHub-Routes" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-SuperHub-Routes.6c57963399da80bb9449.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/1048.c0908a6c7601e3079614.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/8465.3b95b8202238abee1f02.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7137.6d393781d59245222014.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/6146.e0750bc6839fd326854d.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/6328.8423262497f7b1a95f69.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/readme-markdown.87b5d6a09e417fa6ae76.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2712.e68995a75feced2c08bd.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/9824.a56515db93ca988fbbc6.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/8836.278c0fa83edd766823b0.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5446.66a863132dae0648c54c.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/1347.6265ddeff9b9202723b8.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/4107.08ccd1d57fe756ace8f3.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/118.755baf1451b065aec6c1.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2004.e8d1c833da7cdb716ab5.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2985.663a72aee8b5822c9989.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7516.2dce164e01730287fd3c.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/830.b21ad90513728bdd3c22.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/3313.bc2fb6fb8f9a755a4f6d.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/3436.7072aaabba87d0a0d530.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/9692.8ab6862aa12a0a7009fe.js">
<link data-chunk="Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Reference.61bb490c17d4846d1cbc.js">
<link data-chunk="ConnectMetadata" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/ConnectMetadata.c327427a53e723857368.js">
<link data-chunk="routes-SuperHub-components-AIDropdown" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5825.81a999688a889f82473d.js">
<link data-chunk="RMDXISH" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/RMDXISH.f95b30ebb65e2ce94b3b.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/9967.da21c32d302077dd38bb.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/3025.7d340d8bfd719b6e8ac3.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/120.1cca6038c0b1b71074a2.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/9091.6f4495a98012201cb267.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5027.ff136e4a232d519a8b1a.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2939.951d212639122b322497.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5307.5c4aa3f7d35848bb1c0f.js">
<link data-chunk="LazySections" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/LazySections.383aee51c40203586f6f.js">
<link data-chunk="Footer" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Footer.1c44d3ff2f31003617de.js">
<link data-chunk="main" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/main.9cb5456486ef50b00138.css">
<link data-chunk="Containers-EndUserContainer" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Containers-EndUserContainer.a36b774a0e8f8c3ef3a0.css">
<link data-chunk="Header" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/ui-styles.3a349bd2c5bf43c9b24c.css">
<link data-chunk="Header" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Header.8779c4871e92c7a56bd2.css">
<link data-chunk="Reference" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/2985.980db182b7543c4b48ba.css">
<link data-chunk="Reference" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Reference.aa891693f3e9974811d0.css">
<link data-chunk="routes-SuperHub-components-AIDropdown" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-SuperHub-components-AIDropdown.8c30c03531c24f5701c5.css">
<link data-chunk="RMDXISH" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/RMDXISH.b8f75a8ee7c7df68757a.css">
<link data-chunk="LazySections" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/LazySections.37c8bea512c2cdd9ab4e.css">
<link data-chunk="Footer" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Footer.769aa3e9fc194cc963d9.css"><!-- CUSTOM CSS--><style title="rm-custom-css">:root{--project-color-primary:#e5e5e5;--project-color-inverse:#222;--recipe-button-color:#05be80;--recipe-button-color-hover:#025b3d;--recipe-button-color-active:#01291c;--recipe-button-color-focus:rgba(5, 190, 128, 0.25);--recipe-button-color-disabled:#93fcd9}[id=enterprise] .ReadMeUI[is=AlgoliaSearch]{--project-color-primary:#e5e5e5;--project-color-inverse:#222}a{color:var(--color-link-primary,#05be80)}a:hover{color:var(--color-link-primary-darken-5,#025b3d)}a.text-muted:hover{color:var(--color-link-primary,#05be80)}.btn.btn-primary{background-color:#05be80}.btn.btn-primary:hover{background-color:#025b3d}.theme-line #hub-landing-top h2{color:#05be80}#hub-landing-top .btn:hover{color:#05be80}.theme-line #hub-landing-top .btn:hover{color:#fff}.theme-solid header#hub-header #header-top{background-color:#e5e5e5}.theme-solid.header-gradient header#hub-header #header-top{background:linear-gradient(to bottom,#e5e5e5,#c8b5b5)}.theme-solid.header-custom header#hub-header #header-top{background-image:url("undefined")}.theme-line header#hub-header #header-top{border-bottom-color:#e5e5e5}.theme-line header#hub-header #header-top .btn{background-color:#e5e5e5}header#hub-header #header-top #header-logo{width:nullpx;height:nullpx;margin-top:20px;background-image:url("https://files.readme.io/0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg")}#hub-subheader-parent #hub-subheader .hub-subheader-breadcrumbs .dropdown-menu a:hover{background-color:#e5e5e5}#subheader-links a.active{color:#e5e5e5!important;box-shadow:inset 0 -2px 0 #e5e5e5}#subheader-links a:hover{color:#e5e5e5!important;box-shadow:inset 0 -2px 0 #e5e5e5;opacity:.7}.discussion .submit-vote.submit-vote-parent.voted a.submit-vote-button{background-color:#05be80}section#hub-discuss .discussion a .discuss-body h4{color:#05be80}section#hub-discuss .discussion a:hover .discuss-body h4{color:#025b3d}#hub-subheader-parent #hub-subheader.sticky-header.sticky{border-bottom-color:#05be80}#hub-subheader-parent #hub-subheader.sticky-header.sticky .search-box{border-bottom-color:#05be80}#hub-search-results h3 em{color:#05be80}.main_background,.tag-item{background:#05be80!important}.main_background:hover{background:#025b3d!important}.main_color{color:#e5e5e5!important}.border_bottom_main_color{border-bottom:2px solid #e5e5e5}.main_color_hover:hover{color:#e5e5e5!important}section#hub-discuss h1{color:#05be80}#hub-reference .hub-api .api-definition .api-try-it-out.active{border-color:#05be80;background-color:#05be80}#hub-reference .hub-api .api-definition .api-try-it-out.active:hover{background-color:#025b3d;border-color:#025b3d}#hub-reference .hub-api .api-definition .api-try-it-out:hover{border-color:#05be80;color:#05be80}#hub-reference .hub-reference .logs .logs-empty .logs-login-button,#hub-reference .hub-reference .logs .logs-login .logs-login-button{background-color:var(--project-color-primary,#05be80);border-color:var(--project-color-primary,#05be80)}#hub-reference .hub-reference .logs .logs-empty .logs-login-button:hover,#hub-reference .hub-reference .logs .logs-login .logs-login-button:hover{background-color:#025b3d;border-color:#025b3d}#hub-reference .hub-reference .logs .logs-empty>svg>path,#hub-reference .hub-reference .logs .logs-login>svg>path{fill:#05be80;fill:var(--project-color-primary,#05be80)}#hub-reference .hub-reference .logs:last-child .logs-empty,#hub-reference .hub-reference .logs:last-child .logs-login{margin-bottom:35px}#hub-reference .hub-reference .hub-reference-section .hub-reference-left header .hub-reference-edit:hover{color:#05be80}.main-color-accent{border-bottom:3px solid #e5e5e5;padding-bottom:8px}/*! BEGIN HUB_CUSTOM_STYLES */body{--font-family:'IBM Plex Sans',Arial,sans-serif;--color-text-muted:#595959;--accent-color:#00e699;--blue-color:#0055ff;--text-black:#1a1a1a;--bg-dark:#262626;--color-text-default:#1a1a1a}@media (prefers-color-scheme:dark){[data-color-mode=auto] body,[data-color-mode=system] body{--color-bg-page:#1a1a1a;--color-text-default:#ffffff}}[data-color-mode=dark] body{--color-bg-page:#1a1a1a;--color-text-default:#ffffff}.App.ThemeContext_line .rm-Header{--Header-border-width:0px}.LanguagePicker-more2w3Eqm0IH_K7{display:none!important}.rm-Header .rm-Header-top-link.Button{--Header-button-color:var(--text-black);font-size:16px;line-height:1.5;font-weight:400;transition:all .2s cubic-bezier(.4, 0, .2, 1)}.rm-Header .rm-Logo-img_lg{--Header-logo-height:34px}.rm-Header .rm-Header-bottom{padding-top:8px;padding-bottom:8px}.rm-Header .rm-Header-top-link.Button:hover{border-color:transparent!important;color:var(--accent-color)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .App.ThemeContext_line .rm-Header,[data-color-mode=system] .App.ThemeContext_line .rm-Header{--Header-border-color:#404040}[data-color-mode=auto] .rm-Header .rm-Header-top-link.Button,[data-color-mode=system] .rm-Header .rm-Header-top-link.Button{--Header-button-color:#ffffff}[data-color-mode=auto] .App .loading .rm-Article::before,[data-color-mode=system] .App .loading .rm-Article::before{background:#1a1a1a}}[data-color-mode=dark] .App.ThemeContext_line .rm-Header{--Header-border-color:#404040}[data-color-mode=dark] .rm-Header .rm-Header-top-link.Button{--Header-button-color:#ffffff}[data-color-mode=dark] .App .loading .rm-Article::before{background:#1a1a1a}nav.rm-Sidebar{--hub-sidebar-width:260px;--QuickNav-button-bg:red;position:relative;padding-top:20px;background-color:#fafafa}.rm-Article .APIMethod_get,nav.rm-Sidebar .APIMethod_get{background:#078345;text-shadow:none;box-shadow:none}.rm-Article .APIMethod_post,nav.rm-Sidebar .APIMethod_post{background:#206cdf;text-shadow:none;box-shadow:none}.rm-Article .APIMethod_patch,nav.rm-Sidebar .APIMethod_patch{background:#ff9500;text-shadow:none;box-shadow:none}.rm-Article .APIMethod_delete,nav.rm-Sidebar .APIMethod_delete{background:#da0b51;text-shadow:none;box-shadow:none}.rm-Header .rm-SearchToggle,nav.rm-Sidebar>div>button{min-width:206px;height:34px;padding:2px 10px;border-radius:4px;border-color:#b3b3b3;color:#b3b3b3;font-weight:400;font-family:'IBM Plex Sans',Arial,sans-serif}nav.rm-Sidebar>div>button span{background:0 0;border:none}.rm-Header .rm-SearchToggle .rm-SearchToggle-placeholder{color:#b3b3b3;font-weight:400}@media (prefers-color-scheme:dark){[data-color-mode=auto] nav.rm-Sidebar>div>button span,[data-color-mode=system] nav.rm-Sidebar>div>button span{background:0 0;border:none}[data-color-mode=auto] nav.rm-Sidebar .rm-Sidebar-list,[data-color-mode=system] nav.rm-Sidebar .rm-Sidebar-list{--Sidebar-link-hover-background:transparent}[data-color-mode=auto] .App .rm-SearchToggle,[data-color-mode=system] .App .rm-SearchToggle{--SearchToggle-border-color:#808080!important}[data-color-mode=auto] .rm-Header .rm-SearchToggle,[data-color-mode=auto] nav.rm-Sidebar>div>button,[data-color-mode=system] .rm-Header .rm-SearchToggle,[data-color-mode=system] nav.rm-Sidebar>div>button{border-color:grey}[data-color-mode=auto] .rm-Header .rm-SearchToggle,[data-color-mode=auto] nav.rm-Sidebar>div>button,[data-color-mode=system] .rm-Header .rm-SearchToggle,[data-color-mode=system] nav.rm-Sidebar>div>button{background:var(--bg-dark)}[data-color-mode=auto] #AppSearch,[data-color-mode=system] #AppSearch{--AlgoliaSearch-background:var(--bg-dark)}[data-color-mode=auto] #AppSearch .Input,[data-color-mode=auto] .Input[type=search].Input_md,[data-color-mode=system] #AppSearch .Input,[data-color-mode=system] .Input[type=search].Input_md{--Input-background:var(--bg-dark)}}[data-color-mode=dark] .App .rm-SearchToggle{--SearchToggle-border-color:#808080!important}[data-color-mode=dark] .rm-Header .rm-SearchToggle,[data-color-mode=dark] nav.rm-Sidebar>div>button{border-color:grey}[data-color-mode=dark] .rm-Header .rm-SearchToggle,[data-color-mode=dark] nav.rm-Sidebar>div>button{background:var(--bg-dark)}[data-color-mode=dark] #AppSearch{--AlgoliaSearch-background:var(--bg-dark)}[data-color-mode=dark] #AppSearch .Input,[data-color-mode=dark] .Input[type=search].Input_md{--Input-background:var(--bg-dark)}nav.rm-Sidebar .rm-Sidebar-list li{margin-top:8px}nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active{font-weight:600}nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover{color:var(--text-black);background:0 0}.App .rm-ReferenceMain .rm-Playground,.App .rm-ReferenceMain nav.rm-Sidebar{box-shadow:none}@media (prefers-color-scheme:dark){[data-color-mode=auto] .rm-ReferenceMain .content-toc .tocHeader .icon:before,[data-color-mode=auto] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,[data-color-mode=auto] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,[data-color-mode=auto] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,[data-color-mode=system] .rm-ReferenceMain .content-toc .tocHeader .icon:before,[data-color-mode=system] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,[data-color-mode=system] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,[data-color-mode=system] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover{color:#fff;background:0 0}[data-color-mode=auto] .App .rm-ReferenceMain .content-toc a:not(.tocHeader),[data-color-mode=auto] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,[data-color-mode=system] .App .rm-ReferenceMain .content-toc a:not(.tocHeader),[data-color-mode=system] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link{color:#e5e5e5}}[data-color-mode=dark] .rm-ReferenceMain .content-toc .tocHeader .icon:before,[data-color-mode=dark] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,[data-color-mode=dark] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,[data-color-mode=dark] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover{color:#fff;background:0 0}[data-color-mode=dark] .App .rm-ReferenceMain .content-toc a:not(.tocHeader),[data-color-mode=dark] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link{color:#e5e5e5}main.rm-ReferenceMain:before{content:'';position:fixed;top:0;left:0;width:calc(50vw - 720px);height:100%;background-color:#fafafa}@media screen and (max-width:1112px){main.rm-ReferenceMain:before{content:none}}@media (prefers-color-scheme:dark){[data-color-mode=auto] .rm-Sidebar,[data-color-mode=auto] main.rm-ReferenceMain:before,[data-color-mode=system] .rm-Sidebar,[data-color-mode=system] main.rm-ReferenceMain:before{background-color:var(--bg-dark)}}[data-color-mode=dark] .rm-Sidebar,[data-color-mode=dark] main.rm-ReferenceMain:before{background-color:var(--bg-dark)}.App .rm-ReferenceMain .rm-PlaygroundRequest{--APIRequest-title-color:#595959}.App .rm-ReferenceMain .rm-PlaygroundResponse{--APIResponse-title-color:#595959}.App .rm-ReferenceMain .rm-PlaygroundResponse .Button{color:#595959}@media (prefers-color-scheme:dark){[data-color-mode=auto] .App .rm-ReferenceMain .APIResponse-menu-status,[data-color-mode=system] .App .rm-ReferenceMain .APIResponse-menu-status{color:#adb4c1}[data-color-mode=auto] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button,[data-color-mode=auto] .rm-APISectionHeader strong,[data-color-mode=system] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button,[data-color-mode=system] .rm-APISectionHeader strong{color:#adb4c1}[data-color-mode=auto] .App .rm-ReferenceMain .rm-PlaygroundResponse code,[data-color-mode=system] .App .rm-ReferenceMain .rm-PlaygroundResponse code{color:#00b377}[data-color-mode=auto] .App .rm-ReferenceMain .rm-PlaygroundRequest,[data-color-mode=system] .App .rm-ReferenceMain .rm-PlaygroundRequest{--APIRequest-title-color:#adb4c1}[data-color-mode=auto] .App .rm-ReferenceMain .rm-PlaygroundResponse,[data-color-mode=system] .App .rm-ReferenceMain .rm-PlaygroundResponse{--APIResponse-title-color:#adb4c1}[data-color-mode=auto] .App .rm-ReferenceMain .InputGroup,[data-color-mode=system] .App .rm-ReferenceMain .InputGroup{--APIAuthInputGroup-button-color:#adb4c1}[data-color-mode=auto] .App .rm-ReferenceMain .rm-LanguagePicker,[data-color-mode=system] .App .rm-ReferenceMain .rm-LanguagePicker{--LanguageButton-button-color:#adb4c1}}[data-color-mode=dark] .App .rm-ReferenceMain .APIResponse-menu-status{color:#adb4c1}[data-color-mode=dark] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button,[data-color-mode=dark] .rm-APISectionHeader strong{color:#adb4c1}[data-color-mode=dark] .App .rm-ReferenceMain .rm-PlaygroundResponse code:not(.HTTPStatus){color:#384248;background-color:var(--accent-color)}[data-color-mode=light] .App .rm-ReferenceMain .rm-PlaygroundResponse code:not(.HTTPStatus){color:#384248;background-color:var(--accent-color)}[data-color-mode=dark] .App .rm-ReferenceMain .rm-PlaygroundRequest{--APIRequest-title-color:#adb4c1}[data-color-mode=dark] .App .rm-ReferenceMain .rm-PlaygroundResponse{--APIResponse-title-color:#adb4c1}[data-color-mode=dark] .App .rm-ReferenceMain .InputGroup{--APIAuthInputGroup-button-color:#adb4c1}[data-color-mode=dark] .App .rm-ReferenceMain .rm-LanguagePicker{--LanguageButton-button-color:#adb4c1}.App main.rm-ReferenceMain .rm-Article{--markdown-font-size:16px;--hub-main-max-width:920px;padding-left:60px}[data-color-mode=dark] .rm-ReferenceMain .rm-Article{--color-text-muted:var(--color-text-minimum)}.App .rm-ReferenceMain .rm-Article h1{font-size:36px;line-height:1.25;font-weight:600}.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error,.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn{--background:#fafafa}.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info{--title:#4c97ff;--border:#4c97ff}.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn{--title:#ffbb33;--border:#ffbb33}.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay{--title:#00cc88;--border:#00cc88}.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error{--title:#ff4c79;--border:#ff4c79}.rm-ReferenceMain .rm-Article .markdown-body a:not([href=""]),.rm-ReferenceMain .rm-Article .markdown-body a[href]{color:var(--blue-color);text-decoration:none}.rm-ReferenceMain .rm-Article .markdown-body a:not([href=""]):hover{text-decoration:underline}.rm-ReferenceMain .rm-Article .markdown-body .CodeTabs,.rm-ReferenceMain .rm-Article .markdown-body code{--md-code-tabs:#fafafa;--md-code-background:#fafafa;--md-code-font:'IBM Plex Mono',ui-monospace;padding:2px 6px}.rm-ReferenceMain .rm-Article .markdown-body .heading:hover a[href]{opacity:1}.rm-ReferenceMain .rm-Article .markdown-body .heading a[href]:before{color:var(--accent-color)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=""]),[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body a[href],[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=""]),[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body a[href]{color:var(--accent-color)}[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error,[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error,[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn{--background:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs,[data-color-mode=auto] .rm-ReferenceMain .rm-Article .markdown-body code,[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs,[data-color-mode=system] .rm-ReferenceMain .rm-Article .markdown-body code{--md-code-tabs:#262626;--md-code-background:#262626}}[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=""]),[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body a[href]{color:var(--accent-color)}[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error,[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn{--background:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs,[data-color-mode=dark] .rm-ReferenceMain .rm-Article .markdown-body code{--md-code-tabs:#262626;--md-code-background:#262626}.rm-ReferenceMain .content-toc{--hub-toc-width:260px}.rm-ReferenceMain .content-toc .tocHeader{font-size:14px;line-height:1.25;font-weight:600;text-transform:capitalize;color:var(--text-black)}.rm-ReferenceMain .content-toc .tocHeader .icon:before{color:var(--text-black)}.rm-ReferenceMain .content-toc a{padding:6px 0;font-size:14px;line-height:1.25;color:#595959}.rm-ReferenceMain .content-toc a:active,.rm-ReferenceMain .content-toc a:hover{color:var(--text-black)}.rm-Pagination a{padding:1rem;border:1px solid #e5e5e5;border-radius:.25rem}.rm-Pagination a>div{font-weight:600;color:var(--text-black)}.rm-Pagination a:hover>div,.rm-Pagination a:hover>span:before{color:var(--blue-color)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .App .rm-ReferenceMain .content-toc a:active,[data-color-mode=auto] .App .rm-ReferenceMain .content-toc a:hover,[data-color-mode=auto] .rm-Pagination a>div,[data-color-mode=system] .App .rm-ReferenceMain .content-toc a:active,[data-color-mode=system] .App .rm-ReferenceMain .content-toc a:hover,[data-color-mode=system] .rm-Pagination a>div{color:#fff}[data-color-mode=auto] .rm-Pagination a:hover>div,[data-color-mode=auto] .rm-Pagination a:hover>span:before,[data-color-mode=system] .rm-Pagination a:hover>div,[data-color-mode=system] .rm-Pagination a:hover>span:before{color:var(--accent-color)}[data-color-mode=auto] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,[data-color-mode=auto] .rm-ReferenceMain .rm-Playground .Dropdown-content>div,[data-color-mode=system] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,[data-color-mode=system] .rm-ReferenceMain .rm-Playground .Dropdown-content>div{--Box-background:var(--bg-dark);--Box-background-flat:var(--bg-dark)}[data-color-mode=auto] .rm-Article .Modal_verticalCenter,[data-color-mode=system] .rm-Article .Modal_verticalCenter{--Modal-bg-secondary:var(--bg-dark)}}[data-color-mode=dark] .App .rm-ReferenceMain .content-toc a:active,[data-color-mode=dark] .App .rm-ReferenceMain .content-toc a:hover,[data-color-mode=dark] .rm-Pagination a>div{color:#fff}[data-color-mode=dark] .rm-Pagination a:hover>div,[data-color-mode=dark] .rm-Pagination a:hover>span:before{color:var(--accent-color)}[data-color-mode=dark] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,[data-color-mode=dark] .rm-ReferenceMain .rm-Playground .Dropdown-content>div{--Box-background:var(--bg-dark);--Box-background-flat:var(--bg-dark)}[data-color-mode=dark] .rm-Article .Modal_verticalCenter{--Modal-bg-secondary:var(--bg-dark)}.rm-ReferenceMain .rm-PlaygroundRequest{--APIRequest-bg:#fafafa;--APIRequest-title-color:#637288;border-color:rgba(0,0,0,.1);box-shadow:none}.rm-ReferenceMain .rm-PlaygroundRequest .Button_contrast_ghost,.rm-ReferenceMain .rm-PlaygroundRequest .icon-clipboard:before{color:#637288}.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters{background:#fafafa;color:#47515c}.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like{color:var(--text-black)}.rm-Playground .rm-TryIt{--TryIt-background:#00E699;--TryIt-background-hover:#00b377;--TryIt-border-radius:.25rem;border-color:#00e699}.rm-Playground .rm-TryIt:active,.rm-Playground .rm-TryIt:hover{border-color:#00b377}.rm-Playground .rm-TryIt:disabled:active,.rm-Playground .rm-TryIt:disabled:hover{background-color:#b2b2b2}.rm-Playground .rm-TryIt_replay.Button{color:#637288}.rm-Playground .Button_contrast_ghost:not(:disabled):hover,.rm-Playground .Button_contrast_outline:not(:disabled):hover{color:#637288}.rm-Playground .PageThumbs .Button .icon{transition:all .2s cubic-bezier(.4, 0, .2, 1)}.PageThumbs .Button:not(:disabled):hover .icon-thumbs-up-2{color:#00e699}.PageThumbs .Button:not(:disabled):hover .icon-thumbs-down1{color:#ff4c79}@media (prefers-color-scheme:dark){[data-color-mode=auto] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,[data-color-mode=auto] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like,[data-color-mode=system] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,[data-color-mode=system] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like{color:#fff}[data-color-mode=auto] .rm-ReferenceMain .rm-PlaygroundRequest,[data-color-mode=system] .rm-ReferenceMain .rm-PlaygroundRequest{--APIRequest-bg:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .InputGroup,[data-color-mode=system] .rm-ReferenceMain .InputGroup{--APIAuthInputGroup-bg:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-PlaygroundResponse,[data-color-mode=system] .rm-ReferenceMain .rm-PlaygroundResponse{--APIResponse-bg:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-APILogInfo,[data-color-mode=system] .rm-ReferenceMain .rm-APILogInfo{--APILogInfo-bg:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-APIResponseSchemaPicker,[data-color-mode=system] .rm-ReferenceMain .rm-APIResponseSchemaPicker{--APIResponseSchemaPicker-bg:var(--bg-dark);--APIResponseSchemaPicker-bg-alt:var(--bg-dark);--APIResponseSchemaPicker-bg-hover:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-APILogsTable,[data-color-mode=system] .rm-ReferenceMain .rm-APILogsTable{--APILogsTable-bg:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-ParamContainer,[data-color-mode=system] .rm-ReferenceMain .rm-ParamContainer{--ParamContainer-bg:var(--bg-dark);--ParamContainer-bg-alt:var(--bg-dark)}[data-color-mode=auto] .rm-ReferenceMain .rm-ParamContainer .Input,[data-color-mode=system] .rm-ReferenceMain .rm-ParamContainer .Input{--color-input-background:var(--bg-dark)}}[data-color-mode=dark] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,[data-color-mode=dark] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like{color:#fff}[data-color-mode=dark] .rm-ReferenceMain .rm-PlaygroundRequest{--APIRequest-bg:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .InputGroup{--APIAuthInputGroup-bg:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-PlaygroundResponse{--APIResponse-bg:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-APILogInfo{--APILogInfo-bg:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-APIResponseSchemaPicker{--APIResponseSchemaPicker-bg:var(--bg-dark);--APIResponseSchemaPicker-bg-alt:var(--bg-dark);--APIResponseSchemaPicker-bg-hover:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-APILogsTable{--APILogsTable-bg:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-ParamContainer{--ParamContainer-bg:var(--bg-dark);--ParamContainer-bg-alt:var(--bg-dark)}[data-color-mode=dark] .rm-ReferenceMain .rm-ParamContainer .Input{--color-input-background:var(--bg-dark)}.CodeSnippet .CodeMirror .class-name,.CodeSnippet .CodeMirror .cm-keyword,.CodeSnippet .CodeMirror .cm-tag,.CodeSnippet .CodeMirror .keyword,.CodeSnippet .CodeMirror .tag,.CodeSnippet .CodeMirror .url{color:#206cdf}.CodeSnippet .CodeMirror .class-name.namespace,.CodeSnippet .CodeMirror .cm-attribute,.CodeSnippet .CodeMirror .cm-def,.CodeSnippet .CodeMirror .cm-variable,.CodeSnippet .CodeMirror .cm-variable-2,.CodeSnippet .CodeMirror .console,.CodeSnippet .CodeMirror .tag.attr-name{color:#1a1a1a}.CodeSnippet .CodeMirror .atrule,.CodeSnippet .CodeMirror .builtin,.CodeSnippet .CodeMirror .char,.CodeSnippet .CodeMirror .cm-builtin,.CodeSnippet .CodeMirror .cm-string,.CodeSnippet .CodeMirror .function,.CodeSnippet .CodeMirror .inserted,.CodeSnippet .CodeMirror .selector,.CodeSnippet .CodeMirror .string,.CodeSnippet .CodeMirror .tag.attr-value{color:#078345}.CodeSnippet .CodeMirror .boolean,.CodeSnippet .CodeMirror .cm-property,.CodeSnippet .CodeMirror .constant,.CodeSnippet .CodeMirror .deleted,.CodeSnippet .CodeMirror .number,.CodeSnippet .CodeMirror .property,.CodeSnippet .CodeMirror .property-access,.CodeSnippet .CodeMirror .symbol,.CodeSnippet .CodeMirror .variable{color:#da0b51}.CodeSnippet .CodeMirror .cm-atom,.CodeSnippet .CodeMirror .important,.CodeSnippet .CodeMirror .regex{color:#ff9500}.CodeSnippet .CodeMirror .cm-operator,.CodeSnippet .CodeMirror .entity,.CodeSnippet .CodeMirror .operator{color:#a86624}.CodeSnippet .CodeMirror .punctuation{color:grey}.CodeSnippet .CodeMirror .cdata,.CodeSnippet .CodeMirror .comment,.CodeSnippet .CodeMirror .doctype,.CodeSnippet .CodeMirror .prolog{color:#b3b3b3}@media (prefers-color-scheme:dark){[data-color-mode=auto] .APIAuth .InputGroup-input:focus,[data-color-mode=auto] .APIAuth .InputGroup:focus-within,[data-color-mode=auto] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,[data-color-mode=system] .APIAuth .InputGroup-input:focus,[data-color-mode=system] .APIAuth .InputGroup:focus-within,[data-color-mode=system] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters{background:var(--bg-dark)}[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url{color:#66a3ff}[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name{color:#fff}[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value{color:#47d18c}[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable{color:#f6558c}[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex{color:#ffbf66}[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity,[data-color-mode=auto] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity,[data-color-mode=system] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator{color:#ba8c5e}}[data-color-mode=dark] .APIAuth .InputGroup-input:focus,[data-color-mode=dark] .APIAuth .InputGroup:focus-within,[data-color-mode=dark] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters{background:var(--bg-dark)}[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url{color:#66a3ff}[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name{color:#fff}[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value{color:#47d18c}[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable{color:#f6558c}[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex{color:#ffbf66}[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity,[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator{color:#ba8c5e}/*! END HUB_CUSTOM_STYLES */</style><link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap" rel="stylesheet"><meta name="loadedProject" content="neon-tech"><script>var storedColorMode = `system` === 'system' ? window.localStorage.getItem('color-scheme') : `system`
document.querySelector('[data-color-mode]').setAttribute('data-color-mode', storedColorMode)</script><script id="config" type="application/json" data-json="{&quot;algoliaIndex&quot;:&quot;readme_search_v2&quot;,&quot;amplitude&quot;:{&quot;apiKey&quot;:&quot;8b550cf334a130e3d6ea41a88b894d8&quot;,&quot;enabled&quot;:&quot;true&quot;,&quot;sessionReplay&quot;:{&quot;enabled&quot;:&quot;true&quot;,&quot;sampleRate&quot;:&quot;0.1&quot;}},&quot;api&quot;:{&quot;upload&quot;:{&quot;fileSizeLimit&quot;:10485760,&quot;fileSizeLimitFormatted&quot;:&quot;10MB&quot;}},&quot;asset_url&quot;:&quot;https://cdn.readme.io&quot;,&quot;dashDomain&quot;:&quot;dash.readme.com&quot;,&quot;domain&quot;:&quot;readme.io&quot;,&quot;domainFull&quot;:&quot;https://dash.readme.com&quot;,&quot;encryptedLocalStorageKey&quot;:&quot;ekfls-2025-03-27&quot;,&quot;fullstory&quot;:{&quot;enabled&quot;:true,&quot;orgId&quot;:&quot;FSV9A&quot;},&quot;git&quot;:{&quot;preview&quot;:&quot;https://githug-prod.gitto.rdme.io&quot;,&quot;sync&quot;:{&quot;bitbucket&quot;:{&quot;installationLink&quot;:&quot;https://developer.atlassian.com/console/install/310151e6-ca1a-4a44-9af6-1b523fea0561?signature=AYABeMn9vqFkrg%2F1DrJAQxSyVf4AAAADAAdhd3Mta21zAEthcm46YXdzOmttczp1cy13ZXN0LTI6NzA5NTg3ODM1MjQzOmtleS83MDVlZDY3MC1mNTdjLTQxYjUtOWY5Yi1lM2YyZGNjMTQ2ZTcAuAECAQB4IOp8r3eKNYw8z2v%2FEq3%2FfvrZguoGsXpNSaDveR%2FF%2Fo0BHUxIjSWx71zNK2RycuMYSgAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDOJgARbqndU9YM%2FRdQIBEIA7unpCah%2BIu53NA72LkkCDhNHOv%2BgRD7agXAO3jXqw0%2FAcBOB0%2F5LmpzB5f6B1HpkmsAN2i2SbsFL30nkAB2F3cy1rbXMAS2Fybjphd3M6a21zOmV1LXdlc3QtMTo3MDk1ODc4MzUyNDM6a2V5LzQ2MzBjZTZiLTAwYzMtNGRlMi04NzdiLTYyN2UyMDYwZTVjYwC4AQICAHijmwVTMt6Oj3F%2B0%2B0cVrojrS8yZ9ktpdfDxqPMSIkvHAGT%2FMTvCxC3XwnwlulZe975AAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMMUUe9d1YmFOo373TAgEQgDuJo7TayM6NL19Sj9RPooRrl8rYxwKgvu9gkLNc3GuyyovWI1xA2qTr0LQzMRsf3imrAWsywzPcsjnvuAAHYXdzLWttcwBLYXJuOmF3czprbXM6dXMtZWFzdC0xOjcwOTU4NzgzNTI0MzprZXkvNmMxMjBiYTAtNGNkNS00OTg1LWI4MmUtNDBhMDQ5NTJjYzU3ALgBAgIAeLKa7Dfn9BgbXaQmJGrkKztjV4vrreTkqr7wGwhqIYs5AZR28Sibv2eBxSIg2MydtvEAAAB%2BMHwGCSqGSIb3DQEHBqBvMG0CAQAwaAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAzzWhThsIgJwrr%2FY2ECARCAOxoaW9pob21lweyAfrIm6Fw7gd8D%2B%2F8LHk4rl3jjULDM35%2FVPuqBrqKunYZSVCCGNGB3RqpQJr%2FasASiAgAAAAAMAAAQAAAAAAAAAAAAAAAAAEokowLKsF1tMABEq%2BKNyJP%2F%2F%2F%2F%2FAAAAAQAAAAAAAAAAAAAAAQAAADJLzRcp6MkqKR43PUjOiRxxbxXYhLc6vFXEutK3%2BQ71yuPq4dC8pAHruOVQpvVcUSe8dptV8c7wR8BTJjv%2F%2FNe8r0g%3D&amp;product=bitbucket&quot;}}},&quot;metrics&quot;:{&quot;billingCronEnabled&quot;:&quot;true&quot;,&quot;dashUrl&quot;:&quot;https://m.readme.io&quot;,&quot;defaultUrl&quot;:&quot;https://m.readme.io&quot;,&quot;exportMaxRetries&quot;:12,&quot;wsUrl&quot;:&quot;wss://m.readme.io&quot;},&quot;micro&quot;:{&quot;baseUrl&quot;:&quot;https://micro-beta.readme.com&quot;},&quot;novuNotification&quot;:{&quot;appId&quot;:&quot;ob_MiAPOPqgP&quot;},&quot;proxyUrl&quot;:&quot;https://try.readme.io&quot;,&quot;readmeRecaptchaSiteKey&quot;:&quot;6LesVBYpAAAAAESOCHOyo2kF9SZXPVb54Nwf3i2x&quot;,&quot;releaseVersion&quot;:&quot;5.838.2&quot;,&quot;reservedWords&quot;:{&quot;tools&quot;:[&quot;execute-request&quot;,&quot;get-endpoint&quot;,&quot;get-server-variables&quot;,&quot;list-endpoints&quot;,&quot;list-specs&quot;,&quot;search-endpoints&quot;,&quot;search&quot;,&quot;fetch&quot;]},&quot;sentry&quot;:{&quot;dsn&quot;:&quot;https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166&quot;,&quot;enabled&quot;:true},&quot;shMigration&quot;:{&quot;promoVideo&quot;:&quot;&quot;,&quot;forceWaitlist&quot;:false,&quot;migrationPreview&quot;:false},&quot;sslBaseDomain&quot;:&quot;readmessl.com&quot;,&quot;sslGenerationService&quot;:&quot;ssl.readmessl.com&quot;,&quot;superHub&quot;:{&quot;newProjectsEnabled&quot;:true},&quot;tiptapCloud&quot;:{&quot;appId&quot;:&quot;8mzorjl9&quot;,&quot;url&quot;:&quot;wss://8mzorjl9.collab.tiptap.cloud&quot;},&quot;wootric&quot;:{&quot;accountToken&quot;:&quot;NPS-122b75a4&quot;,&quot;enabled&quot;:true}}"></script></head><body class="body-none theme-line header-line header-bg-size-auto header-bg-pos-tl header-overlay-triangles reference-layout-row lumosity-light hub-full is-hub-themed"><div style="display:none" aria-hidden="true">For AI agents: visit https://api-docs.neon.tech/llms.txt for an index of all pages formatted in Markdown and endpoints in OpenAPI.</div><div id="ssr-top"></div><div id="ssr-main"><div class="App ThemeContext ThemeContext_light ThemeContext_classic ThemeContext_spacing_legacy ThemeContext_line" style="--color-primary:#e5e5e5;--color-primary-inverse:#384248;--color-primary-alt:#c8b5b5;--color-primary-darken-10:#cbcbcb;--color-primary-darken-20:#b2b2b2;--color-primary-alpha-25:rgba(229, 229, 229, 0.25);--color-link-primary:#2b353b;--color-link-primary-dark-override:#e5e5e5;--color-link-button:#05be80;--color-link-button-text:#fff;--color-link-button-border:rgba(255, 255, 255, 0.2);--color-link-button-darken-5:#04a56f;--color-link-button-darken-10:#048c5f;--color-link-button-alpha-50:rgba(5, 190, 128, 0.5);--color-link-button-alpha-25:rgba(5, 190, 128, 0.25);--color-link-primary-darken-5:#20282c;--color-link-primary-darken-10:#161a1d;--color-link-primary-darken-20:#000000;--color-link-primary-alpha-50:rgba(43, 53, 59, 0.5);--color-link-primary-alpha-25:rgba(43, 53, 59, 0.25);--color-link-background:rgba(43, 53, 59, 0.09);--color-link-text:#fff;--color-tab-active:#2b353b;--color-login-link:#2b353b;--color-login-link-text:#fff;--color-login-link-darken-10:#161a1d;--color-login-link-primary-alpha-50:rgba(43, 53, 59, 0.5)"><div class="SuperHub2RNxzk6HzHiJ rm-ReadMe"><div class="ContentWithOwlbotx4PaFDoA1KMz"><div class="ContentWithOwlbot-content2X1XexaN8Lf2"><header class="Header3zzata9F_ZPQ rm-Header_classic Header_collapsible3n0YXfOvb_Al rm-Header Header-links-buttons"><div class="rm-Header-top Header-topuTMpygDG4e1V Header-top_classic3g7Q6zoBy8zh"><div class="rm-Container rm-Container_flex"><div style="outline:none" tabindex="-1"><a href="#content" target="_self" class="Button Button_md rm-JumpTo Header-jumpTo3IWKQXmhSI5D Button_primary">Jump to Content</a></div><div class="rm-Header-left Header-leftADQdGVqx1wqU"><a class="rm-Logo Header-logo1Xy41PtkzbdG" href="https://neon.com/" target="_self"><img alt="Neon" class="rm-Logo-img rm-Logo-img_lg Header-logo-img3YvV4lcGKkeb Header-logo-img_lightQuRrm8lUXH4D" src="https://files.readme.io/0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg"/><img alt="Neon" class="rm-Logo-img rm-Logo-img_lg Header-logo-img3YvV4lcGKkeb Header-logo-img_dark2nPzylJvaaaH" src="https://files.readme.io/db2ea3a669468c02bf4659ea489986535916a7efa645ab6cc5a2a0938b301db9-neon-logo-dark-color.svg"/></a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://neon.com/api_spec/release/v2.json" target="_self" to="https://neon.com/api_spec/release/v2.json">Neon OpenAPI Specification</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://neon.com/docs/introduction/about" target="_self" to="https://neon.com/docs/introduction/about">Neon Docs</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://console.neon.tech/" target="_self" to="https://console.neon.tech/">Neon Console</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://discord.com/invite/92vNTzKDGp" target="_self" to="https://discord.com/invite/92vNTzKDGp">Discord</a></div><div class="rm-Header-left Header-leftADQdGVqx1wqU Header-left_mobile1RG-X93lx6PF"><div><button aria-label="Toggle navigation menu" class="icon-menu menu3d6DYNDa3tk5" type="button"></button><div class=""><div class="Flyout95xhYIIoTKtc undefined rm-Flyout" data-testid="flyout"><div class="MobileFlyout1hHJpUd-nYkd"><a aria-current="page" class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck-  active" href="/reference" target="_self"><i class="icon-references NavItem-badge1qOxpfTiALoz rm-Header-bottom-link-icon"></i><span class="NavItem-textSlZuuL489uiw">API Reference</span></a><div class="NavItem-item1gDDTqaXGhm1 NavItem-item_inactiveMQoyhN045qAn">v2.0</div><hr class="MobileFlyout-divider10xf7R2X1MeW"/><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://neon.com/api_spec/release/v2.json" rel="noopener" target="_blank" to="https://neon.com/api_spec/release/v2.json">Neon OpenAPI Specification</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://neon.com/docs/introduction/about" rel="noopener" target="_blank" to="https://neon.com/docs/introduction/about">Neon Docs</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://console.neon.tech/" rel="noopener" target="_blank" to="https://console.neon.tech/">Neon Console</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://discord.com/invite/92vNTzKDGp" rel="noopener" target="_blank" to="https://discord.com/invite/92vNTzKDGp">Discord</a><a class="MobileFlyout-logo3Lq1eTlk1K76 Header-logo1Xy41PtkzbdG rm-Logo" href="https://neon.com/" target="_self"><img alt="Neon" class="Header-logo-img3YvV4lcGKkeb rm-Logo-img" src="https://files.readme.io/0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg"/></a></div></div></div></div><div class="Header-left-nav2xWPWMNHOGf_"><i aria-hidden="true" class="icon-references Header-left-nav-icon10glJKFwewOv"></i>API Reference</div></div><div class="rm-Header-right Header-right21PC2XTT6aMg"><span class="Header-right_desktop14ja01RUQ7HE"></span><div class="Header-searchtb6Foi0-D9Vx"><button aria-label="Search ⌘k" class="rm-SearchToggle" data-symbol="⌘"><div class="rm-SearchToggle-icon icon-search1"></div></button></div><div class="ThemeToggle-wrapper1ZcciJoF3Lq3 Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="Toggle color scheme" id="ThemeToggle-button-Rip9cla" aria-haspopup="dialog" class="Button Button_sm rm-ThemeToggle ThemeToggle2xLp9tbEJ0XB Dropdown-toggle Button_secondary Button_secondary_text" type="button"><svg aria-labelledby="ThemeToggle-button-Rip9cla" class="Icon ThemeToggle-Icon22I6nqvxacln ThemeToggle-Icon_active2ocLaPY47U28" role="img" viewBox="0 0 24 24"><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M12 2v2"></path><path d="M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"></path><path d="M16 12a4 4 0 0 0-4-4"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="m19 5-1.256 1.256"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M20 12h2"></path></svg><svg aria-labelledby="ThemeToggle-button-Rip9cla" class="Icon ThemeToggle-Icon22I6nqvxacln ThemeToggle-Icon_dark3c1eP_qTU7uF" role="img" viewBox="0 0 24 24"><path d="M19 14.79C18.8427 16.4922 18.2039 18.1144 17.1582 19.4668C16.1126 20.8192 14.7035 21.8458 13.0957 22.4265C11.4879 23.0073 9.74798 23.1181 8.0795 22.7461C6.41102 22.3741 4.88299 21.5345 3.67423 20.3258C2.46546 19.117 1.62594 17.589 1.25391 15.9205C0.881876 14.252 0.992717 12.5121 1.57346 10.9043C2.1542 9.29651 3.18083 7.88737 4.53321 6.84175C5.8856 5.79614 7.5078 5.15731 9.21 5C8.21341 6.34827 7.73385 8.00945 7.85853 9.68141C7.98322 11.3534 8.70386 12.9251 9.8894 14.1106C11.0749 15.2961 12.6466 16.0168 14.3186 16.1415C15.9906 16.2662 17.6517 15.7866 19 14.79Z"></path><path class="ThemeToggle-Icon-star2kOSzvXrVCbT" d="M18.3707 1C18.3707 3.22825 16.2282 5.37069 14 5.37069C16.2282 5.37069 18.3707 7.51313 18.3707 9.74138C18.3707 7.51313 20.5132 5.37069 22.7414 5.37069C20.5132 5.37069 18.3707 3.22825 18.3707 1Z"></path></svg><svg aria-labelledby="ThemeToggle-button-Rip9cla" class="Icon ThemeToggle-Icon22I6nqvxacln" role="img" viewBox="0 0 24 24"><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M12 1V3"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M18.36 5.64L19.78 4.22"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M21 12H23"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M18.36 18.36L19.78 19.78"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M12 21V23"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M4.22 19.78L5.64 18.36"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M1 12H3"></path><path class="ThemeToggle-Icon-raysbSO3FKsq2hn" d="M4.22 4.22L5.64 5.64"></path><path d="M12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17Z"></path></svg></button></div></div></div></div><div class="Header-bottom2eLKOFXMEmh5 Header-bottom_classic rm-Header-bottom"><div class="rm-Container rm-Container_flex"><nav aria-label="Primary navigation" class="Header-leftADQdGVqx1wqU Header-subnavnVH8URdkgvEl Header-subnav_links1fSsYMNRxHdu" role="navigation"><span class="Truncate1OzxBYrNNfH3 VersionDropdown1GXDUTxJ1T95 VersionDropdown_inactive rm-Header-bottom-link" style="--Truncate-max-width:150px">v2.0</span><a aria-current="page" class="Button Button_md rm-Header-link rm-Header-bottom-link Button_slate_text Header-bottom-link_mobile  active" href="/reference" target="_self"><i class="icon-references rm-Header-bottom-link-icon"></i><span>API Reference</span></a><div class="Header-subnav-tabyNLkcOA6xAra" style="transform:translateX(0px);width:0"></div></nav><button align="center" justify="between" style="--flex-gap:var(--xs)" class="Button Button_sm Flex Flex_row MobileSubnav1DsTfasXloM2 Button_secondary Button_secondary_outline" type="button"><span class="Button-label">Create project</span><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="chevron-up-down" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 16 6 6 6-6M18 8l-6-6-6 6" class="icon-stroke-width"></path></svg></span></button></div></div><div class="hub-search-results--reactApp " id="hub-search-results"><div class="hub-container"><div class="modal-backdrop rm-SearchModal" role="button" tabindex="0"></div></div></div></header><main class="SuperHubReference3_1nwDyq5sO3 rm-ReferenceMain rm-ReferenceMain-SuperHub rm-Container rm-Container_flex rm-basic-page" id="Explorer"><nav aria-label="Secondary navigation" class="rm-Sidebar hub-sidebar reference-redesign Nav3C5f8FcjkaHj" id="reference-sidebar" role="navigation"><div class="Main-QuickNav-container1OiLvjSDusO6"><button aria-keyshortcuts="Control+/ Meta+/" class="QuickNav1q-OoMjiX_Yr QuickNav-button2KzlQbz5Pm2Y">JUMP TO</button></div><div class="Sidebar1t2G1ZJq-vU1 rm-Sidebar hub-sidebar-content"><section class="Sidebar-listWrapper6Q9_yUrG906C Sidebar-listWrapper_expandedvCieTVZJcoub rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Neon API</h2><ul class="Sidebar-list_sidebarLayout3RaX72iQNOEI Sidebar-list3cZWQLaBf9k8 Sidebar-list_expandedWy9fQM8vmtOc rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/getting-started-with-neon-api"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Neon API Reference</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/listapikeys"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">API Key</span></span><button aria-expanded="false" aria-label="Show subpages for API Key" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listapikeys"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List API keys</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createapikey"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create API key</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/revokeapikey"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Revoke API key</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectoperation"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Operation</span></span><button aria-expanded="false" aria-label="Show subpages for Operation" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectoperation"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve operation details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectoperations"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List operations</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3 subnav-expanded"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojects"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Project</span></span><button aria-expanded="true" aria-label="Hide subpages for Project" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojects"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List projects</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a aria-current="page" class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link active" target="_self" href="/reference/createproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create project</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listsharedprojects"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List shared projects</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve project details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update project</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete project</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectpermissions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List project access</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/grantpermissiontoproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Grant project access</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/revokepermissionfromproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Revoke project access</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getavailablepreloadlibraries"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List available shared preload libraries</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojecttransferrequest"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create a project transfer request</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/acceptprojecttransferrequest"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Accept a project transfer request</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectjwks"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List JWKS URLs</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/addprojectjwks"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Add JWKS URL</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectjwks"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete JWKS URL</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getconnectionuri"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve connection URI</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectvpcendpoints"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List VPC endpoint restrictions</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/assignprojectvpcendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Set VPC endpoint restriction</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectvpcendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete VPC endpoint restriction</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/recoverproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Recover a deleted project</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectadvisorsecurityissues"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Get advisor issues</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectmembers"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List org members and their project roles</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/setprojectmemberrole"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Set an org member&#x27;s role on a project</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/removeprojectmemberrole"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Remove an org member&#x27;s role on a project</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Branch</span></span><button aria-expanded="false" aria-label="Show subpages for Branch" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranches"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List branches</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/countprojectbranches"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve number of branches</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve branch details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/restoreprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Restore branch to a historical state</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchschema"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve database schema</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchschemacomparison"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Compare database schema</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/setdefaultprojectbranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Set branch as default</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchendpoints"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List branch endpoints</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/finalizerestorebranch"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Finalize branch restore from snapshot</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchdatabases"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List databases</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchdatabase"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create database</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchdatabase"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve database details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateprojectbranchdatabase"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update database</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchdatabase"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete database</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchroles"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List roles</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchrole"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create role</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchrole"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve role details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchrole"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete role</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchrolepassword"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve role password</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/resetprojectbranchrolepassword"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Reset role password</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchanonymized"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create anonymized branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getmaskingrules"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve masking rules</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updatemaskingrules"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update masking rules</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getanonymizedbranchstatus"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve anonymized branch status</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/startanonymization"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Start anonymization</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Endpoint</span></span><button aria-expanded="false" aria-label="Show subpages for Endpoint" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create compute endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectendpoints"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List compute endpoints</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve compute endpoint details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete compute endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update compute endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/startprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Start compute endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/suspendprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Suspend compute endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/restartprojectendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Restart compute endpoint</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createsnapshot"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Snapshot</span></span><button aria-expanded="false" aria-label="Show subpages for Snapshot" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createsnapshot"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create snapshot</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listsnapshots"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List project snapshots</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deletesnapshot"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete snapshot</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updatesnapshot"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update snapshot</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/restoresnapshot"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Restore snapshot</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getsnapshotschedule"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve backup schedule</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/setsnapshotschedule"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update backup schedule</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getactiveregions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Region</span></span><button aria-expanded="false" aria-label="Show subpages for Region" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getactiveregions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List supported regions</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getcurrentuserinfo"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Users</span></span><button aria-expanded="false" aria-label="Show subpages for Users" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getcurrentuserinfo"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve current user details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getcurrentuserorganizations"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List organizations for the current user</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/transferprojectsfromusertoorg"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Transfer projects from personal account to organization</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getauthdetails"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve request authentication details</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getconsumptionhistoryperproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Consumption</span></span><button aria-expanded="false" aria-label="Show subpages for Consumption" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getconsumptionhistoryperproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve project consumption metrics (legacy plans)</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getconsumptionhistoryperprojectv2"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve project consumption metrics</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getconsumptionhistoryperbranchv2"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve branch consumption metrics</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganization"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Organizations</span></span><button aria-expanded="false" aria-label="Show subpages for Organizations" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganization"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve organization details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listorgapikeys"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List organization API keys</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createorgapikey"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create organization API key</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/revokeorgapikey"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Revoke organization API key</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganizationmembers"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List organization members</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganizationmember"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve organization member details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateorganizationmember"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update role for organization member</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/removeorganizationmember"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Remove organization member</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganizationinvitations"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List organization invitations</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createorganizationinvitations"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create organization invitations</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/transferprojectsfromorgtoorg"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Transfer projects between organizations</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listorganizationvpcendpoints"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List VPC endpoints</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listorganizationvpcendpointsallregions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List VPC endpoints across all regions</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganizationvpcendpointdetails"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve VPC endpoint details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/assignorganizationvpcendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Assign or update VPC endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteorganizationvpcendpoint"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete VPC endpoint</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getorganizationspendinglimit"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve organization spending limit</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/setorganizationspendinglimit"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Set organization spending limit</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteorganizationspendinglimit"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Remove organization spending limit</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/use-cases"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Use cases</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauth"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Auth</span></span><button aria-expanded="false" aria-label="Show subpages for Auth" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauth"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve Neon Auth details for the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createneonauth"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Enable Neon Auth for the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/disableneonauth"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Disable Neon Auth for the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listbranchneonauthtrusteddomains"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List domains in redirect_uri whitelist</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/addbranchneonauthtrusteddomain"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Add domain to redirect_uri whitelist</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deletebranchneonauthtrusteddomain"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete domain from redirect_uri whitelist</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createbranchneonauthnewuser"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create new auth user</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deletebranchneonauthuser"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete auth user</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthuserrole"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update auth user role</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listbranchneonauthoauthproviders"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List OAuth providers for the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/addbranchneonauthoauthprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Add an OAuth provider</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updatebranchneonauthoauthprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update OAuth provider</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deletebranchneonauthoauthprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete OAuth provider</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/sendneonauthtestemail"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Send test email</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthemailandpasswordconfig"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve email and password configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthemailandpasswordconfig"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update email and password configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthemailprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve email provider configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthemailprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update email provider configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthallowlocalhost"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve localhost allow setting</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthallowlocalhost"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update localhost allow setting</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthpluginconfigs"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve Neon Auth plugin configurations</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthorganizationplugin"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update organization plugin configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthwebhookconfig"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve Neon Auth webhook configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthwebhookconfig"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update Neon Auth webhook configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthmagiclinkplugin"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update magic link plugin configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthphonenumberplugin"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve phone number plugin configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthphonenumberplugin"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update phone number plugin configuration</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/authentication"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Authentication</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/pagination"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Pagination</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/path-parameters"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Path parameters</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/sdks-for-the-neon-api"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">SDKs and providers for the Neon API</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/ai-agents"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Neon API for AI Agents</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/reference/api-rate-limiting"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">API rate limiting</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createneonauthintegration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Auth (legacy)</span></span><button aria-expanded="false" aria-label="Show subpages for Auth (legacy)" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createneonauthintegration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create Neon Auth integration</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listneonauthredirecturiwhitelistdomains"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List trusted redirect URI domains</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/addneonauthdomaintoredirecturiwhitelist"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Add trusted redirect URI domain</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteneonauthdomainfromredirecturiwhitelist"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete trusted redirect URI domain</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createneonauthprovidersdkkeys"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create Auth Provider SDK keys</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createneonauthnewuser"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create new auth user</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteneonauthuser"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete auth user</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/transferneonauthproviderproject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Transfer Neon-managed auth project to your own account</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listneonauthintegrations"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List active integrations with auth providers</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listneonauthoauthproviders"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List OAuth providers</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/addneonauthoauthprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Add an OAuth provider</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthoauthprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update OAuth provider</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteneonauthoauthprovider"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete OAuth provider</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getneonauthemailserver"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve email server configuration</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateneonauthemailserver"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update email server configuration</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_deprecated2xLRLrwYS-C8 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteneonauthintegration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete integration with auth provider</span></span><span class="Sidebar-link-metaLhOiyAaGZrkY"><button aria-label="Deprecated Endpoint" class="Sidebar-link-deprecated3sPW_eEHvANR" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy Sidebar-link_deprecated-icon"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="alert-circle" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" clip-path="url(#alert-circle_svg__a)" class="icon-stroke-width"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM12 8v4M12 16h.01"></path></g><defs><clipPath id="alert-circle_svg__a"><path fill="currentColor" d="M0 0h24v24H0z"></path></clipPath></defs></svg></span></button></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchstorage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Storage</span></span><button aria-expanded="false" aria-label="Show subpages for Storage" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchstorage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Get branch object storage state</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchbucket"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Buckets</span></span><button aria-expanded="false" aria-label="Show subpages for Buckets" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchbucket"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create a bucket on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchbuckets"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List buckets on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchbucket"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete a bucket on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchbucketobjects"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List objects in a bucket</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchbucketobject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete an object in a bucket</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchbucketobject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Download an object&#x27;s bytes</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchbucketobjectsbyprefix"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete every object under a key prefix (folder) in a bucket</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/presignprojectbranchbucketobject"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Presign an upload or download for an object in a bucket</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchfunctions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Functions</span></span><button aria-expanded="false" aria-label="Show subpages for Functions" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchfunctions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List functions on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchfunction"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Get function details</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateprojectbranchfunction"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update a function</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchfunction"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete a function on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchfunctiondeployment"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Deploy code to a function</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchaigateway"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">AI Gateway</span></span><button aria-expanded="false" aria-label="Show subpages for AI Gateway" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchaigateway"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Get branch AI Gateway endpoint</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/queryprojectbranchlogs"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Logs</span></span><button aria-expanded="false" aria-label="Show subpages for Logs" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/queryprojectbranchlogs"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Query branch logs</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchlogfields"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List branch log fields</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listprojectbranchlogfieldvalues"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List branch log field values</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createcredential"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Credentials</span></span><button aria-expanded="false" aria-label="Show subpages for Credentials" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createcredential"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Issue a scoped credential on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/listcredentials"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">List credentials on the branch</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/revokecredential"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Revoke a credential</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchdataapi"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">DataAPI</span></span><button aria-expanded="false" aria-label="Show subpages for DataAPI" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ" type="button"><i aria-hidden="true" class="Sidebar-link-iconnjiqEiZlPn0W Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/createprojectbranchdataapi"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Create Neon Data API</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/deleteprojectbranchdataapi"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Delete Neon Data API</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/getprojectbranchdataapi"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Retrieve Neon Data API configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/reference/updateprojectbranchdataapi"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Update Neon Data API</span></span></a></li></ul></li></ul></section></div><button aria-label="Hide sidebar navigation" class="Nav-toggle-collapse39KxgTH727KL" type="button"></button></nav><div class="SuperHubReference-article-wrapper3MpzTHD_pHxT"><div align="stretch" class="Flex Flex_row SuperHubReference-article-container3-0_Qiq3UBH5" justify="between" style="--flex-gap:0;flex-grow:1"><article class="rm-Article" id="content"><header class="headline-container21aRBSn8Bqg6" data-raycast-oas="/branches/2.0/apis/neon-api.json"><div class="headline-container-grid-itemGdPV-VbhShYs headline-container-button-containerdoRPmNS7iaB3"><div id="content-head"><h1 class="Title Title1">Create project<div class="rm-TagTooltip TagTooltip Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="View tags" aria-haspopup="dialog" class="Button Button_xs TagTooltip-tag-button3cBXYBcMrKlM TagTooltip-tag-button_inline3kZK7Qmy_BxH Dropdown-toggle Button_secondary Button_secondary_text" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="tag" role="img" style="--icon-color:inherit;--icon-size:14px;--icon-stroke-width:2px" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M7 7h.01m13.58 6.41-7.17 7.17a1.998 1.998 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82Z" class="icon-stroke-width"></path></svg></span></button></div></h1></div><div class="AIDropdownzmvdRdsNayZl headline-container-ai-dropdown1q98-Ie9cpfI rm-AIDropdown"><button class="Button Button_sm AIDropdown-splitButton2KQ9N2VEvBcT AIDropdown-splitButton_left2tTf2UmhJFyZ Button_secondary_ghost Button_secondary" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="copy" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M20 9h-9a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2Z" class="icon-stroke-width"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" class="icon-stroke-width"></path></svg></span><span>Copy Page</span></button><div class="Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-haspopup="dialog" class="Button Button_sm AIDropdown-splitButton2KQ9N2VEvBcT AIDropdown-splitButton_rightW_JEw7Q1_yEG Dropdown-toggle Button_secondary_ghost Button_secondary" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="chevron-down" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 9 6 6 6-6" class="icon-stroke-width"></path></svg></span></button></div></div></div><div class="headline-container-article-info2GaOf2jMpV0r"><span class="rm-APIMethod APIMethod APIMethod_post APIMethod_lg headline-container-api-method" data-testid="http-method" style="--APIMethod-bg:var(--APIMethod-post-bg-active);--APIMethod-fg:var(--APIMethod-default-fg-active);--APIMethod-bg-active:var(--APIMethod-post-bg-active)">post</span> <div class="headline-container-article-info-url-container3uJjmBcfpYBE"><span class="headline-container-article-info-url2nV_XrjpFuVQ
                false
                false" data-testid="serverurl" title="https://console.neon.tech/api/v2/projects">https://console.neon.tech/api/v2<!-- -->/projects</span></div><button aria-label="Copy to clipboard" class="Button Button_xs CopyToClipboard1605sk0q8t0p headline-container-article-info-buttonA6rhTTtxN8xn Button_secondary Button_secondary_text" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="copy" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M20 9h-9a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2Z" class="icon-stroke-width"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" class="icon-stroke-width"></path></svg></span></button></div><div class="rm-Markdown markdown-body grid-item excerptT2m-MzSJGRK7" data-testid="RDMD"><style data-tailwind-stylesheet="true"></style><p>Creates a Neon project within an organization.<br/>
If using a personal API key, include the <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-undefined" data-lang="">org_id</code> parameter to specify which organization to create the project in.<br/>
If using an org API key, <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-undefined" data-lang="">org_id</code> is automatically inferred from the key.<br/>
Plan limits define how many projects you can create.<br/>
For more information, see <a target="_self" href="https://neon.com/docs/manage/projects/">Manage projects</a>.</p>
<p>You can specify a region and Postgres version in the request body.<br/>
Neon supports Postgres 14 through 18, with 19 rolling out to enabled regions.<br/>
For supported regions and <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-undefined" data-lang="">region_id</code> values, see <a target="_self" href="https://neon.com/docs/introduction/regions/">Regions</a>.</p></div></header><form class="param-type rm-APISchema" name="Parameters"><header id="body-params" data-testid="APISchema-SectionHeader" align="center" class="Flex Flex_row APISectionHeader3LN_-QIR0m7x APISectionHeader_title2JS7xZ_m-HAv rm-APISectionHeader" justify="between" style="--flex-gap:4px;flex-wrap:wrap"><div class="APISectionHeader-heading4MUMLbp4_nLs APISectionHeader-heading_title15Zd6rYplxPq"><a aria-label="Skip link to Body Params" class="APISectionHeader-anchor1T_cUKoAPu1z" href="#body-params"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="anchor" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM12 22V8M5 12H2a10 10 0 0 0 20 0h-3" class="icon-stroke-width"></path></svg></span></a>Body Params</div></header><div class="rm-ParamContainer  "><div class="rjsf" data-testid="form-body-createProject"><div class="Param1QyvwHroaCgH Param_topLevel3D0ZGlu38rkq"><div class="Fieldset2vG8BhSgq0S6" id="body-createProject"><div class="Param1QyvwHroaCgH "><div class="Param-left7tTo9KK0E0kY"><div class="Param-header3wXBpbDTP1O6"><span class="Param-nameU7CntAa90Wvb">project</span><div class="Param-type3QlaE1nrKh1D">object</div><div class="Param-required2cYbu9SjF2YX">required</div></div><div class="Param-description1hAF_4T81MF0"><div class="field-description markdown-body" id="body-createProject_project__description"><div class="rm-Markdown markdown-body" data-testid="RDMD"><style data-tailwind-stylesheet="true"></style><p>Configuration for the new project, including name, region, and Postgres compute and storage settings.</p></div></div></div><section class="Param-expand33S7_GjvrvPv  odd"><button aria-expanded="false" class="Flex Param-expand-button1ktY2S68FWc_ " type="button"><div class="Param-expand-label4ycK3GLSAQ9k">project<!-- --> <!-- -->object</div><i class="icon-plus1 Param-expand-button-icon1NFKYiweB5qm"></i></button></section></div></div></div></div></div></div></form><header id="response-schemas" align="center" class="Flex Flex_row APISectionHeader3LN_-QIR0m7x APISectionHeader_title2JS7xZ_m-HAv rm-APISectionHeader" justify="between" style="--flex-gap:4px;flex-wrap:wrap"><div class="APISectionHeader-heading4MUMLbp4_nLs APISectionHeader-heading_title15Zd6rYplxPq"><a aria-label="Skip link to Responses" class="APISectionHeader-anchor1T_cUKoAPu1z" href="#response-schemas"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="anchor" role="img" style="--icon-color:inherit;--icon-size:var(--icon-sm);--icon-stroke-width:2px" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM12 22V8M5 12H2a10 10 0 0 0 20 0h-3" class="icon-stroke-width"></path></svg></span></a>Responses</div></header><section class="Accordion3R5o2qiZX3S6 APIResponseSchemaPicker2ehjUsNOSwdc rm-APIResponseSchemaPicker" data-testid="accordion"><div class="AccordionPanel1J5OIdBTwbL6 APIResponseSchemaPicker-option3CU8y1saVb8O rm-APIResponseSchemaPicker-option"><h1 class="AccordionToggle2c6jPP7vVvLS APIResponseSchemaPicker-option-toggle1Rk-RliJASLl "><button aria-controls="AccordionPanel-Rckpahcla" aria-expanded="false" id="AccordionPanel-Rckpahcla-toggle" type="button"><div><div class="APIResponseSchemaPicker-label3XMQ9E-slNcS"><code class="APIResponseSchemaPicker-label-text3bDdrQX1B-h4 HTTPStatus HTTPStatus_2"><span aria-hidden="false" aria-label="201" class="HTTPStatus-chit" role="img"></span></code> <!-- -->201</div><div class="rm-Markdown markdown-body APIResponseSchemaPicker-description19iNatTizvwb" data-testid="RDMD"><style data-tailwind-stylesheet="true"></style><p>Created a project.<br/>
The project includes a connection URI with a database, password, and role.<br/>
At least one non-protected role is created with a password.<br/>
Wait until the operations are finished before attempting to connect to a project database.</p></div></div><div class="AccordionToggle-icon-slot1bf45OBGkGPr"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a AccordionToggle-iconDAVsqS10Xl8E" data-name="chevron-right" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-label="Chevron"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m9 18 6-6-6-6" class="icon-stroke-width"></path></svg></span></div></button></h1></div><div class="AccordionPanel1J5OIdBTwbL6 APIResponseSchemaPicker-option3CU8y1saVb8O rm-APIResponseSchemaPicker-option"><h1 class="AccordionToggle2c6jPP7vVvLS APIResponseSchemaPicker-option-toggle1Rk-RliJASLl "><button aria-controls="AccordionPanel-Rkkpahcla" aria-expanded="false" id="AccordionPanel-Rkkpahcla-toggle" type="button"><div><div class="APIResponseSchemaPicker-label3XMQ9E-slNcS"><code class="APIResponseSchemaPicker-label-text3bDdrQX1B-h4 HTTPStatus HTTPStatus_1"><span aria-hidden="false" aria-label="default" class="HTTPStatus-chit" role="img"></span></code> <!-- -->default</div><div class="rm-Markdown markdown-body APIResponseSchemaPicker-description19iNatTizvwb" data-testid="RDMD"><style data-tailwind-stylesheet="true"></style><p>General Error.</p>
<p>The request may or may not be safe to retry, depending on the HTTP method, response status code,<br/>
and whether a response was received.</p>
<ul>
<li>If no response is returned from the API, a network error or timeout likely occurred.</li>
<li>In some cases, the request may have reached the server and been successfully processed, but the response failed to reach the client. As a result, retrying non-idempotent requests can lead to unintended results.</li>
</ul>
<p>The following HTTP methods are considered non-idempotent: <code class="rdmd-code lang- theme-undefined" data-lang="">POST</code>, <code class="rdmd-code lang- theme-undefined" data-lang="">PATCH</code>, <code class="rdmd-code lang- theme-undefined" data-lang="">DELETE</code>, and <code class="rdmd-code lang- theme-undefined" data-lang="">PUT</code>. Retrying these methods is generally <strong>not safe</strong>.<br/>
The following methods are considered idempotent: <code class="rdmd-code lang- theme-undefined" data-lang="">GET</code>, <code class="rdmd-code lang- theme-undefined" data-lang="">HEAD</code>, and <code class="rdmd-code lang- theme-undefined" data-lang="">OPTIONS</code>. Retrying these methods is <strong>safe</strong> in the event of a network error or timeout.</p>
<p>Any request that returns a <code class="rdmd-code lang- theme-undefined" data-lang="">503 Service Unavailable</code> response is always safe to retry.</p>
<p>Any request that returns a <code class="rdmd-code lang- theme-undefined" data-lang="">423 Locked</code> response is safe to retry. <code class="rdmd-code lang- theme-undefined" data-lang="">423 Locked</code> indicates that the resource is temporarily locked, for example, due to another operation in progress.</p></div></div><div class="AccordionToggle-icon-slot1bf45OBGkGPr"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a AccordionToggle-iconDAVsqS10Xl8E" data-name="chevron-right" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-label="Chevron"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m9 18 6-6-6-6" class="icon-stroke-width"></path></svg></span></div></button></h1></div></section><div class="ModalWrapper" id="response-schema-modal-target"></div><div class="Footer-desktop1Hf-2fUBeoe2"><div align="center" class="Flex Flex_row " justify="between" style="--flex-gap:var(--md)"><div class="UpdatedAt"><p class="DateLine "><i class="icon icon-watch"></i>Updated<!-- --> <!-- -->2 months ago<!-- --> </p></div></div><hr class="NextStepsDivider"/><nav aria-label="Pagination Controls" class="PaginationControlsjDYuqu8pBMUy rm-Pagination"><a class="PaginationControls-link254uPEbaP92i PaginationControls-link_left1G58BmNHDbVm" aria-label="Previous Page: List projects" href="/reference/listprojects"><span class="PaginationControls-iconZbaZ3tgyhNmI icon-arrow-left2"></span><div class="PaginationControls-text3qEXHZU00znD PaginationControls-text_left3wBkn4C9R0W_">List projects</div></a><a class="PaginationControls-link254uPEbaP92i PaginationControls-link_right5lsfuICZqXYk" aria-label="Next Page: List shared projects" href="/reference/listsharedprojects"><div class="PaginationControls-text3qEXHZU00znD PaginationControls-text_right3EIfWubgRVVP">List shared projects</div><span class="PaginationControls-iconZbaZ3tgyhNmI icon-arrow-right2"></span></a></nav><div class="rm-PageThumbs PageThumbs"><div class="PageThumbs-helpful">Did this page help you?<div class="PageThumbs-cta"><div class="Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="Yes, this page helped me" aria-haspopup="dialog" class="Button Button_sm PageThumbs-button Dropdown-toggle Button_secondary Button_secondary_text" type="button"><i class="icon icon-thumbs-up-2"></i><span>Yes</span></button></div><div class="Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="No, this page did not help me" aria-haspopup="dialog" class="Button Button_sm PageThumbs-button Dropdown-toggle Button_secondary Button_secondary_text" type="button"><i class="icon icon-thumbs-down1"></i><span>No</span></button></div></div></div></div></div></article><div id="ReferencePlayground" class="rm-Playground PlaygroundC7DInM9NFvBg "><section class="Playground-section3VTXuaYZivJK  " data-notranslate="true"><header align="center" class="Flex Flex_row APISectionHeader3LN_-QIR0m7x APISectionHeader_subheading rm-APISectionHeader" justify="between" style="--flex-gap:4px;flex-wrap:wrap"><div class="APISectionHeader-heading4MUMLbp4_nLs">Language</div></header><div class="LanguagePickerSIxXDuYmeYsW rm-LanguagePicker"><div class="LanguagePicker-languages1qVVo_v6AlP9"><button aria-pressed="true" class="LanguagePicker-button1E91woqg9Y0e rm-LanguageButton_active rm-LanguageButton" type="button"><i class="LanguagePicker-button-icon1vy2AqvvY7se icon-curl"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span><span class="path6"></span><span class="path7"></span><span class="path8"></span></i>Shell</button><div class="LanguagePicker-divider Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="More Languages" aria-haspopup="dialog" class="Button Button_md LanguagePicker-more2w3Eqm0IH_K7 rm-LanguageButton-more Dropdown-toggle Button_primary_ghost Button_primary" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="more-vertical" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-label="More ellipsis"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" class="icon-stroke-width"></path></svg></span></button></div></div></div></section><section class="Playground-section3VTXuaYZivJK  " data-notranslate="true"><section class="APIAuth rm-APIAuth" data-testid="api-auth"><header align="center" class="Flex Flex_row APISectionHeader3LN_-QIR0m7x APISectionHeader_subheading rm-APISectionHeader" justify="between" style="--flex-gap:4px;flex-wrap:wrap"><div class="APISectionHeader-heading4MUMLbp4_nLs">Credentials</div></header><section align="stretch" class="Flex Flex_row InputGroup   " justify="between" style="--flex-gap:var(--xs)"><header align="start" class="Flex Flex_row InputGroup-dropdown-parent" justify="between" style="--flex-gap:var(--xs)"><div class="InputGroup-dropdown Dropdown Dropdown_closed" data-testid="dropdown-container"><button class="Button Button_sm InputGroup-button Dropdown-toggle" data-testid="api-auth-security-button" aria-haspopup="dialog"><span>Bearer</span><i class="icon-chevron-down"></i></button></div></header><div class="InputGroup-input-parent " data-testid="auth-input" translate="no"><div class="InputGroup-dropdown-inputs "><input autoComplete="off" class="InputGroup-input " id="APIAuth-token" placeholder="token" required="" spellcheck="false" type="password" value=""/><button aria-label="Show" class="Button Button_xs rm-APIAuth-lock undefined Button_secondary Button_secondary_text" type="button"><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="unlock" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px" aria-hidden="true"><path fill="currentColor" fill-rule="evenodd" d="M7 12H5a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1H7ZM6 7v3H5a3 3 0 0 0-3 3v7a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-7a3 3 0 0 0-3-3H8V7a4 4 0 0 1 6.37-3.23 1 1 0 1 0 1.19-1.61A6 6 0 0 0 6 7Z" clip-rule="evenodd"></path></svg></span></button><i aria-label="Information" class="InfoPop-helpIconrmWTyT_Hj2Cl icon-help-circle undefined" role="button" tabindex="0"></i></div></div></section></section></section><section class="Playground-section3VTXuaYZivJK Playground-section_sticky_fBLN0qIkmEd " data-notranslate="true"><div class="rm-PlaygroundRequest" role="none"><pre class="CodeSnippet"><div class="CodeEditor cm-s-material-palenight" style="align-items:center;display:flex;justify-content:center;min-height:155px"><div class="Spinner" role="progressbar"><svg class="Spinner-icon" viewBox="0 0 16 16"><title>Loading</title><path d="M15 8a7 7 0 10-7 7" stroke="currentColor" stroke-linecap="round" stroke-width="2" vector-effect="non-scaling-stroke"></path></svg><span class="Spinner-label">Loading…</span></div></div></pre></div><section class="APIResponse3FBSi0-qfTQs rm-PlaygroundResponse"><header align="center" class="Flex Flex_row APIResponse-header3Y3zkft15LCF" justify="between" style="--flex-gap:var(--md)"><div class="APIResponse-header-title1t9Ud0xUwU_k">Response<!-- --> </div></header><div class="APIResponse-empty3Qdzfpq_JjNF"><div class="APIResponse-empty-promptJJRO6bhpQ19V">Click <code class="APIResponse-empty-tryit2H55vIRfRhS3">Try It!</code> to start a request and see the response here!<!-- --> Or choose an example:</div><div class="APIResponse-empty-examples31R-lIqoi1VN"><div align="flex-start" class="Flex Flex_col APIResponse-empty-examples-list" justify="between" style="--flex-gap:var(--size-12)"><div class="APIResponse-empty-examples-header3TsaXZxKJS3C">application/json</div><div align="start" class="Flex Flex_row APIResponse-empty-examples-content" justify="flex-start" style="--flex-gap:var(--size-8);flex-wrap:wrap"><button class="Button Button_sm APIResponse-empty-examples-button19BFAck-efx6 Button_full-width Button_secondary_ghost Button_secondary" type="button"><code class=" HTTPStatus HTTPStatus_2"><span aria-hidden="false" aria-label="201" class="HTTPStatus-chit" role="img"></span></code><span class="APIResponse-menu-status APIResponse-empty-examples-button-label2PSfvM6i4NUd"><span class="APIResponse-status-code3P_6g-mcLB3V">201</span></span></button><button class="Button Button_sm APIResponse-empty-examples-button19BFAck-efx6 Button_full-width Button_secondary_ghost Button_secondary" type="button"><code class=" HTTPStatus HTTPStatus_1"><span aria-hidden="false" aria-label="default" class="HTTPStatus-chit" role="img"></span></code><span class="APIResponse-menu-status APIResponse-empty-examples-button-label2PSfvM6i4NUd"><span class="APIResponse-status-code3P_6g-mcLB3V">default</span></span></button></div></div></div></div></section></section></div><div class="Footer-mobileOGO_ewpg_gOk"><div align="center" class="Flex Flex_row " justify="between" style="--flex-gap:var(--md)"><div class="UpdatedAt"><p class="DateLine "><i class="icon icon-watch"></i>Updated<!-- --> <!-- -->2 months ago<!-- --> </p></div></div><hr class="NextStepsDivider"/><nav aria-label="Pagination Controls" class="PaginationControlsjDYuqu8pBMUy rm-Pagination"><a class="PaginationControls-link254uPEbaP92i PaginationControls-link_left1G58BmNHDbVm" aria-label="Previous Page: List projects" href="/reference/listprojects"><span class="PaginationControls-iconZbaZ3tgyhNmI icon-arrow-left2"></span><div class="PaginationControls-text3qEXHZU00znD PaginationControls-text_left3wBkn4C9R0W_">List projects</div></a><a class="PaginationControls-link254uPEbaP92i PaginationControls-link_right5lsfuICZqXYk" aria-label="Next Page: List shared projects" href="/reference/listsharedprojects"><div class="PaginationControls-text3qEXHZU00znD PaginationControls-text_right3EIfWubgRVVP">List shared projects</div><span class="PaginationControls-iconZbaZ3tgyhNmI icon-arrow-right2"></span></a></nav><div class="rm-PageThumbs PageThumbs"><div class="PageThumbs-helpful">Did this page help you?<div class="PageThumbs-cta"><div class="Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="Yes, this page helped me" aria-haspopup="dialog" class="Button Button_sm PageThumbs-button Dropdown-toggle Button_secondary Button_secondary_text" type="button"><i class="icon icon-thumbs-up-2"></i><span>Yes</span></button></div><div class="Dropdown Dropdown_closed" data-testid="dropdown-container"><button aria-label="No, this page did not help me" aria-haspopup="dialog" class="Button Button_sm PageThumbs-button Dropdown-toggle Button_secondary Button_secondary_text" type="button"><i class="icon icon-thumbs-down1"></i><span>No</span></button></div></div></div></div></div></div></div><div class="ModalWrapper" id="response-headers-modal-root"></div><div class="ModalWrapper QuickNav-modal QuickNav-modal-desktop" id="QuickNav-modal-root"></div><div class="ModalWrapper QuickNav-modal QuickNav-modal-mobile" id="QuickNav-mobile-modal-root"></div></main><footer aria-label="Status banner" class="Footer2U8XAPoGhlgO AppFooter rm-Banners"></footer><div class="ModalWrapper" id="ChatGPT-modal"></div></div></div></div><div class="ModalWrapper" id="tutorialmodal-root"></div></div></div><div class="ng-non-bindable"><script id="ssr-props" type="application/x-ssr-props">{"sidebars":{},"apiBaseUrl":"/","baseUrl":"/","search":{"appId":"","searchApiKey":"","indexName":"readme_search_v2","projectsMeta":[{"modules":{"landing":false,"docs":false,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":false,"logs":false,"custompages":false,"tutorials":false},"id":"63bdc1a86cfff1007a08e155","name":"Neon","subdomain":"neon-tech","subpath":"","nav_names":{"docs":"","reference":"","changelog":"","discuss":"","tutorials":"","recipes":""}}],"urlManagerOpts":{"lang":"en","parent":{"childrenProjects":[]},"project":{"subdomain":"neon-tech"},"version":"2.0"}},"apiDefinitions":[{"created_at":"2025-09-09T20:09:19.611Z","filename":"neon-api.json","status_url":null,"type":"openapi","updated_at":"2026-08-07T17:21:05.813Z","uri":"/branches/2.0/apis/neon-api.json","source":{"current":"rdme_github","original":"rdme_github","sync_url":null},"upload":{"status":"done","reason":null,"warnings":null},"legacy_id":"67abb18089d17e00256781b8"}],"customBlocks":[],"document":{"allow_crawlers":"enabled","api":{"method":"post","path":"/projects","schema":{"openapi":"3.0.3","servers":[{"url":"https://console.neon.tech/api/v2"}],"info":{"title":"Neon API","description":"The Neon API is the management API for Neon. Use it to provision, configure, and manage resources such as projects, branches, databases, roles, functions, and object storage.\n\nSee the [Neon API reference](https://neon.com/docs/reference/api) for details, and [Manage API keys](https://neon.com/docs/manage/api-keys/) to create and use API keys.","version":"v2","contact":{"email":"help@databricks.com"},"license":{"name":"Proprietary"}},"x-readme":{"samples-languages":["shell"]},"security":[{"BearerAuth":[]},{"CookieAuth":[]},{"TokenCookieAuth":[]}],"tags":[{"name":"API Key","description":"These methods allow you to create and manage API keys for your Neon account. For related information, see [Manage API keys](https://neon.com/docs/manage/api-keys)."},{"name":"Operation","description":"These methods allow you to view operation details for your Neon project. For related information, see [Operations](https://neon.com/docs/manage/operations)."},{"name":"Project","description":"These methods allow you to create and manage Neon projects. For related information, see [Manage projects](https://neon.com/docs/manage/projects)."},{"name":"Branch","description":"These methods allow you to create and manage branches in your Neon project. For related information, see [Manage branches](https://neon.com/docs/manage/branches)."},{"name":"Endpoint","description":"These methods allow you to create and manage compute endpoints in your Neon project. For related information, see [Manage compute endpoints](https://neon.com/docs/manage/endpoints)."},{"name":"Snapshot","description":"These methods allow you to create and manage snapshots."},{"name":"Preview","description":"New API methods that are in a Preview state and may be subject to changes."},{"name":"Region","description":"These methods allow you to inspect Neon regions."},{"name":"Users","description":"These methods allow you to manage your Neon user account."},{"name":"Consumption","description":"These methods allow you to view consumption details for your Neon account."},{"name":"Organizations","description":"These methods allow you to manage your Neon organizations."},{"name":"Auth","description":"These methods allow you to create and manage Neon Auth projects."},{"name":"Auth (legacy)","description":"These methods allow you to create and manage Neon Auth projects. Deprecated. See routes with the `Auth` tag instead."},{"name":"Storage","description":"These methods allow you to inspect branchable object storage state for Neon branches."},{"name":"Buckets","description":"These methods allow you to create and manage branchable object storage buckets and their objects."},{"name":"Functions","description":"These methods allow you to create and manage functions on your Neon branches."},{"name":"AI Gateway","description":"These methods allow you to inspect the AI Gateway endpoint for your Neon branches."},{"name":"Logs","description":"These methods allow you to query logs emitted by services running on your Neon branches."},{"name":"Credentials","description":"These methods allow you to issue and manage scoped credentials on your Neon branches."}],"paths":{"/projects/{project_id}/advisors":{"parameters":[{"name":"project_id","description":"Neon project ID","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Get advisor issues","description":"Analyzes the database for security and performance issues.\nReturns a list of issues categorized by severity (ERROR, WARN, INFO).\n\nRequires read access to the project and Data API enabled.\n","operationId":"getProjectAdvisorSecurityIssues","tags":["Project"],"x-stability-level":"alpha","parameters":[{"name":"branch_id","in":"query","required":false,"description":"Branch ID to analyze. If not specified, the project's default branch is used.","schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"database_name","in":"query","required":false,"description":"Database name to analyze. Required if branch has multiple databases.","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Filter issues by category","schema":{"$ref":"#/components/schemas/AdvisorCategory"}},{"name":"min_severity","in":"query","required":false,"description":"Minimum severity level to include. For example, WARN returns WARN and ERROR issues, excluding INFO.","schema":{"type":"string","enum":["INFO","WARN","ERROR"]}}],"responses":{"200":{"description":"Successfully retrieved security advisor issues","content":{"application/json":{"schema":{"type":"object","required":["issues"],"properties":{"issues":{"type":"array","items":{"$ref":"#/components/schemas/AdvisorIssue"}}}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/api_keys":{"get":{"summary":"List API keys","description":"Retrieves the API keys for your Neon account.\nThe response does not include API key tokens. A token is only provided when creating an API key.\nAPI keys can also be managed in the Neon Console.\nFor more information, see [Manage API keys](https://neon.com/docs/manage/api-keys/).\n","tags":["API Key"],"operationId":"listApiKeys","responses":{"200":{"description":"Returned the API keys for the Neon account","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeysListResponseItem"},"example":[{"id":165432,"name":"mykey_1","created_at":"2022-11-15T20:13:35Z","created_by":{"id":"629982cc-de05-43db-ae16-28f2399c4910","name":"John Smith","image":"http://link.to.image"},"last_used_at":"2022-11-15T20:22:51Z","last_used_from_addr":"192.0.2.255"},{"id":165433,"name":"mykey_2","created_at":"2022-11-15T20:12:36Z","created_by":{"id":"629982cc-de05-43db-ae16-28f2399c4910","name":"John Smith","image":"http://link.to.image"},"last_used_at":"2022-11-15T20:15:04Z","last_used_from_addr":"192.0.2.255"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Create API key","description":"Creates an API key.\nThe `key_name` is a user-specified name for the key.\nReturns an `id` and `key`; the `key` is a randomly generated, 64-bit token required to access the Neon API.\nStore the key securely — it is only returned once.\nAPI keys can also be managed in the Neon Console.\nSee [Manage API keys](https://neon.com/docs/manage/api-keys/).\n","tags":["API Key"],"operationId":"createApiKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"},"example":{"key_name":"mykey"}}},"required":true},"responses":{"200":{"description":"Created an API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateResponse"},"example":{"id":165434,"key":"9v1faketcjbl4sn1013keyd43n2a8qlfakeog8yvp40hx16keyjo1bpds4y2dfms3","name":"mykey","created_at":"2022-11-15T20:13:35Z","created_by":"629982cc-de05-43db-ae16-28f2399c4910"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/api_keys/{key_id}":{"delete":{"summary":"Revoke API key","description":"Revokes the specified API key.\nAn API key that is no longer needed can be revoked.\nThis action cannot be reversed.\nAPI keys can also be managed in the Neon Console.\nSee [Manage API keys](https://neon.com/docs/manage/api-keys/).\n","tags":["API Key"],"operationId":"revokeApiKey","parameters":[{"name":"key_id","in":"path","description":"The API key ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Revoked the specified API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyRevokeResponse"},"example":{"id":165435,"name":"mykey","created_at":"2022-11-15T20:13:35Z","created_by":"629982cc-de05-43db-ae16-28f2399c4910","last_used_at":"2022-11-15T20:15:04Z","last_used_from_addr":"192.0.2.255","revoked":true}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/operations/{operation_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"operation_id","in":"path","description":"The operation ID","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"summary":"Retrieve operation details","description":"Retrieves details for the specified operation.\nAn operation is an action performed on a Neon project resource.\n","tags":["Operation"],"operationId":"getProjectOperation","responses":{"200":{"description":"Returned details for the specified operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationResponse"},"example":{"operation":{"id":"a07f8772-1877-4da9-a939-3a3ae62d1d8d","project_id":"floral-king-961888","branch_id":"br-bitter-sound-247814","endpoint_id":"ep-dark-snowflake-942567","action":"create_timeline","status":"finished","failures_count":0,"created_at":"2022-10-04T18:20:17Z","updated_at":"2022-10-04T18:20:18Z","total_duration_ms":100}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects":{"get":{"summary":"List projects","description":"Retrieves a list of projects for the specified organization.\nIf using a personal API key, include the `org_id` parameter to specify which organization to work with.\nIf using an org API key, `org_id` is automatically inferred from the key.\nFor more information, see [Manage organizations using the Neon API](https://neon.com/docs/manage/orgs-api)\nand [Manage projects](https://neon.com/docs/manage/projects/).\n","tags":["Project"],"operationId":"listProjects","parameters":[{"name":"cursor","description":"Specify the cursor value from the previous response to retrieve the next batch of projects.","in":"query","schema":{"type":"string"}},{"name":"limit","description":"Specify a value from 1 to 400 to limit number of projects in the response.","in":"query","schema":{"type":"integer","minimum":1,"default":10,"maximum":400}},{"name":"search","description":"Search by project `name` or `id`. You can specify partial `name` or `id` values to filter results.","in":"query","schema":{"type":"string"}},{"name":"org_id","description":"Search for projects by `org_id`.","in":"query","schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"$ref":"#/components/parameters/TimeoutParam"},{"name":"recoverable","description":"Show only deleted projects within the recovery window.\n","in":"query","x-stability-level":"beta","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned a list of projects for the Neon account","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ProjectsResponse"},{"$ref":"#/components/schemas/PaginationResponse"},{"$ref":"#/components/schemas/ProjectsApplicationsMapResponse"},{"$ref":"#/components/schemas/ProjectsIntegrationsMapResponse"}]},"example":{"projects":[{"id":"shiny-wind-028834","platform_id":"aws","region_id":"aws-us-east-2","name":"shiny-wind-028834","provisioner":"k8s-pod","pg_version":15,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:25Z","proxy_host":"us-east-2.aws.neon.tech","cpu_used_sec":0,"branch_logical_size_limit":0,"owner_id":"1232111","creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10800,"active_time":100},{"id":"winter-boat-259881","platform_id":"aws","region_id":"aws-us-east-2","name":"winter-boat-259881","provisioner":"k8s-pod","pg_version":15,"created_at":"2022-11-23T17:52:25Z","updated_at":"2022-11-23T17:52:25Z","proxy_host":"us-east-2.aws.neon.tech","cpu_used_sec":0,"branch_logical_size_limit":0,"owner_id":"1232111","creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10800,"active_time":100,"org_id":"org-morning-bread-81040908"}],"applications":{"winter-boat-259881":["vercel","github"]},"integrations":{"winter-boat-259881":["vercel","github"]}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Create project","description":"Creates a Neon project within an organization.\nIf using a personal API key, include the `org_id` parameter to specify which organization to create the project in.\nIf using an org API key, `org_id` is automatically inferred from the key.\nPlan limits define how many projects you can create.\nFor more information, see [Manage projects](https://neon.com/docs/manage/projects/).\n\nYou can specify a region and Postgres version in the request body.\nNeon supports Postgres 14 through 18, with 19 rolling out to enabled regions.\nFor supported regions and `region_id` values, see [Regions](https://neon.com/docs/introduction/regions/).\n","tags":["Project"],"operationId":"createProject","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreateRequest"},"examples":{"required_attributes_only":{"summary":"Required attributes only","value":{"project":{"name":"myproject"}}},"commonly_specified_attributes":{"summary":"Commonly-specified attributes","value":{"project":{"name":"myproject","region_id":"aws-us-east-2","pg_version":15}}},"with_autoscaling":{"summary":"With autoscaling attributes","value":{"project":{"name":"myproject","region_id":"aws-us-east-2","pg_version":15,"autoscaling_limit_min_cu":0.25,"autoscaling_limit_max_cu":1,"provisioner":"k8s-neonvm"}}},"with_branch_attributes":{"summary":"With branch attributes","value":{"project":{"name":"myproject","region_id":"aws-us-east-2","pg_version":15,"branch":{"name":"mybranch","role_name":"sally","database_name":"mydb"}}}}}}}},"responses":{"201":{"$ref":"#/components/responses/CreatedProject"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/shared":{"get":{"summary":"List shared projects","description":"Retrieves a list of projects shared with your Neon account.\nFor more information, see [Manage projects](https://neon.com/docs/manage/projects/).\n","tags":["Project"],"operationId":"listSharedProjects","parameters":[{"name":"cursor","description":"Specify the cursor value from the previous response to get the next batch of projects.","in":"query","schema":{"type":"string"}},{"name":"limit","description":"Specify a value from 1 to 400 to limit number of projects in the response.","in":"query","schema":{"type":"integer","minimum":1,"default":10,"maximum":400}},{"name":"search","description":"Search query by name or id.","in":"query","schema":{"type":"string"}},{"$ref":"#/components/parameters/TimeoutParam"}],"responses":{"200":{"description":"Returned a list of shared projects for the Neon account","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ProjectsResponse"},{"$ref":"#/components/schemas/PaginationResponse"}]},"example":{"projects":[{"id":"shiny-wind-028834","platform_id":"aws","region_id":"aws-us-east-2","name":"shiny-wind-028834","provisioner":"k8s-pod","pg_version":15,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:25Z","proxy_host":"us-east-2.aws.neon.tech","cpu_used_sec":0,"branch_logical_size_limit":0,"owner_id":"1232111","creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10800,"active_time":100},{"id":"winter-boat-259881","platform_id":"aws","region_id":"aws-us-east-2","name":"winter-boat-259881","provisioner":"k8s-pod","pg_version":15,"created_at":"2022-11-23T17:52:25Z","updated_at":"2022-11-23T17:52:25Z","proxy_host":"us-east-2.aws.neon.tech","cpu_used_sec":0,"branch_logical_size_limit":0,"owner_id":"1232111","creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10800,"active_time":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve project details","description":"Retrieves information about the specified project.\nReturned details include the project settings, compute configuration, history retention, owner information, and current usage metrics.\n","tags":["Project"],"operationId":"getProject","responses":{"200":{"description":"Returned information about the specified project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"},"example":{"project":{"id":"shiny-wind-028834","platform_id":"aws","region_id":"aws-us-east-2","name":"shiny-wind-028834","provisioner":"k8s-pod","pg_version":15,"history_retention_seconds":604800,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:25Z","proxy_host":"us-east-2.aws.neon.tech","branch_logical_size_limit":0,"cpu_used_sec":10,"owner_id":"1232111","owner":{"name":"John Smith","email":"some@email.com","branches_limit":10,"subscription_type":"scale"},"creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10500,"data_storage_bytes_hour":1040,"data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"consumption_period_start":"2023-02-01T00:00:00Z","consumption_period_end":"2023-03-01T00:00:00Z"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update project","description":"Updates the specified project.\nConfigurable properties include the project name, default compute settings, history retention period, and IP allowlist.\n","tags":["Project"],"operationId":"updateProject","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdateRequest"},"example":{"project":{"name":"myproject"}}}}},"responses":{"200":{"description":"Updated the specified project","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ProjectResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]},"example":{"operations":[],"project":{"id":"shiny-wind-028834","platform_id":"aws","region_id":"aws-us-east-2","name":"myproject","provisioner":"k8s-pod","pg_version":15,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-12-04T02:39:25Z","proxy_host":"us-east-2.aws.neon.tech","branch_logical_size_limit":0,"cpu_used_sec":213230,"owner_id":"1232111","creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10500,"data_storage_bytes_hour":1040,"data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"history_retention_seconds":604800,"consumption_period_start":"2023-02-01T00:00:00Z","consumption_period_end":"2023-03-01T00:00:00Z"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete project","description":"Deletes the specified project and all its endpoints, branches, databases, and users.\nDeleted projects can be recovered within 7 days using `POST /projects/{project_id}/recover`.\nTo list recoverable projects, use `GET /projects?recoverable=true`.\n","tags":["Project"],"operationId":"deleteProject","responses":{"200":{"description":"Deleted the specified project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"},"example":{"project":{"id":"bold-cloud-468218","platform_id":"aws","region_id":"aws-us-east-2","name":"bold-cloud-468218","provisioner":"k8s-pod","pg_version":15,"created_at":"2022-11-30T18:41:29Z","updated_at":"2022-11-30T18:41:29Z","proxy_host":"us-east-2.aws.neon.tech","cpu_used_sec":23004200,"branch_logical_size_limit":0,"owner_id":"1232111","creation_source":"console","store_passwords":true,"branch_logical_size_limit_bytes":10500,"data_storage_bytes_hour":1040,"data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"history_retention_seconds":604800,"consumption_period_start":"2023-02-01T00:00:00Z","consumption_period_end":"2023-03-01T00:00:00Z"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/recover":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Recover a deleted project","description":"Recovers a deleted project within the 7-day deletion recovery period.\nRestores branches, endpoints, settings, and connection strings.\nSome integrations require manual reconfiguration after recovery.\nTo list recoverable projects, use `GET /projects?recoverable=true`.\n","tags":["Project"],"operationId":"recoverProject","x-stability-level":"beta","responses":{"200":{"description":"Returned the recovered project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRecoverResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/operations":{"get":{"summary":"List operations","description":"Retrieves a list of operations for the specified Neon project.\nThe number of operations returned can be large.\nTo paginate the response, issue an initial request with a `limit` value.\nThen, add the `cursor` value that was returned in the response to the next request.\nOperations older than 6 months may be deleted from our systems.\nIf you need more history than that, you should store your own history.\n","tags":["Operation"],"operationId":"listProjectOperations","parameters":[{"name":"cursor","description":"Specify the cursor value from the previous response to get the next batch of operations","in":"query","schema":{"type":"string"}},{"name":"limit","description":"Specify a value from 1 to 1000 to limit number of operations in the response","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000}},{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"responses":{"200":{"$ref":"#/components/responses/ListOperations"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/permissions":{"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List project access","description":"Retrieves details about users who have access to the project, including the permission `id`, the granted-to email address, and the date project access was granted.","tags":["Project"],"operationId":"listProjectPermissions","responses":{"200":{"description":"Returned project access details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPermissions"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Grant project access","description":"Grants project access to the account associated with the specified email address.\n","tags":["Project"],"operationId":"grantPermissionToProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantPermissionToProjectRequest"}}},"required":true},"responses":{"200":{"description":"Granted project access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPermission"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/members":{"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List org members and their project roles","description":"Lists organization members and their per-project roles for an org-owned project.\nReturns 404 when the project is not org-owned, per-project role management is disabled,\nor the caller has no access. Callers with VIEWER or EDITOR see members with\neffective project access. Callers with ADMIN also see unassigned org members.\n","tags":["Project"],"operationId":"listProjectMembers","parameters":[{"$ref":"#/components/parameters/CursorParam"},{"name":"limit","description":"The maximum number of members to return in the response","in":"query","schema":{"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"Returned the org members and their project roles","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectMembers"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/members/{member_id}/role":{"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"put":{"summary":"Set an org member's role on a project","description":"Idempotently sets or updates the explicit project grant of the specified org member.\nSelf-demotion requires `confirm_self_demotion=true`.\n","tags":["Project"],"operationId":"setProjectMemberRole","parameters":[{"name":"confirm_self_demotion","in":"query","required":false,"schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetProjectMemberRoleRequest"}}}},"responses":{"200":{"description":"Role set or updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectMemberRoleResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Remove an org member's role on a project","description":"Idempotently removes the explicit project grant. The member's organization-role\ndefault project permission still applies. Self-DELETE requires\n`confirm_self_lockout=true` when effective manage access would be lost.\n","tags":["Project"],"operationId":"removeProjectMemberRole","parameters":[{"name":"confirm_self_lockout","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Role removed, or no-op if no explicit row existed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectMemberRoleResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/permissions/{permission_id}":{"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"permission_id","in":"path","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Revoke project access","description":"Revokes project access from the user associated with the specified permission `id`. You can retrieve a user's permission `id` by listing project access.","tags":["Project"],"operationId":"revokePermissionFromProject","responses":{"200":{"description":"Revoked project access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPermission"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/available_preload_libraries":{"get":{"summary":"List available shared preload libraries","description":"Returns the shared preload libraries available for the specified project's Postgres version.\nShared preload libraries are Postgres extensions that require the `shared_preload_libraries`\nsetting and a compute restart to activate.\nUse this list to determine which libraries can be enabled in the project's\n`settings.preload_libraries` configuration.\n","tags":["Project"],"operationId":"getAvailablePreloadLibraries","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"responses":{"200":{"description":"Successfully returned available shared preload libraries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailablePreloadLibraries"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/transfer_requests":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create a project transfer request","description":"Creates a transfer request for the specified project. The request expires after a set period.\nTo accept the request, the recipient calls `PUT /projects/{project_id}/transfer_requests/{request_id}`\nor uses the Neon Console claim link.\nThe optional `ru` parameter redirects the recipient after acceptance.\n","tags":["Project"],"operationId":"createProjectTransferRequest","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ttl_seconds":{"type":"integer","format":"int64","description":"Number of seconds the transfer request stays valid before it expires. Defaults to 86400 (24 hours).\n","default":86400}}}}}},"responses":{"201":{"description":"Project transfer request created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectTransferRequestResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/transfer_requests/{request_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"request_id","in":"path","description":"The Neon project transfer request ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"put":{"summary":"Accept a project transfer request","description":"Accepts a transfer request for the specified project, transferring it to the specified organization\nor user. If org_id is not passed, the project will be transferred to the current user or organization account.\n","tags":["Project"],"operationId":"acceptProjectTransferRequest","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"org_id":{"description":"The Neon organization ID to transfer the project to. If not provided, the project will be\ntransferred to the current user or organization account.\n","example":"org-cool-darkness-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}}}},"responses":{"204":{"description":"Project transfer request accepted successfully"},"406":{"description":"Account doesn't satisfy the plan requirements to own the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptProjectTransferRequestSatisfiesPlanError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/jwks":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List JWKS URLs","description":"Returns the JWKS URLs available for verifying JWTs used as the authentication mechanism for the specified project.\n","tags":["Project"],"operationId":"getProjectJWKS","responses":{"200":{"description":"The JWKS URLs available for the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectJWKSResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Add JWKS URL","description":"Adds a JWKS URL to the specified project for verifying JWTs used as the authentication mechanism.\n\nThe URL must be a valid HTTPS URL that returns a JSON Web Key Set.\n\nThe `provider_name` field allows you to specify which authentication provider you're using (e.g., Clerk, Auth0, AWS Cognito).\n\nThe `branch_id` scopes the JWKS URL to specific branches; if not specified, it applies to all branches.\n\nThe `role_names` scopes the URL to specific roles; if not specified, default roles are used (`authenticator`, `authenticated`, `anonymous`).\n\nThe `jwt_audience` specifies which `aud` values are accepted in JWTs.\n","tags":["Project"],"operationId":"addProjectJWKS","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddProjectJWKSRequest"}}}},"responses":{"201":{"description":"The JWKS URL was added to the project's authentication connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWKSCreationOperation"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/jwks/{jwks_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"jwks_id","in":"path","description":"The JWKS ID","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Delete JWKS URL","description":"Removes the specified JWKS URL from the project.\nJWTs signed by keys from the removed URL can no longer authenticate to the project's endpoints.\n","tags":["Project"],"operationId":"deleteProjectJWKS","responses":{"200":{"description":"Deleted a JWKS URL from the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWKS"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/data-api/{database_name}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"database_name","in":"path","description":"The database name","required":true,"schema":{"type":"string"}}],"post":{"summary":"Create Neon Data API","description":"Creates a new instance of Neon Data API in the specified branch.\nThe Data API exposes a REST interface over the branch database. The `database_name` path parameter determines which database the API serves.\n","tags":["DataAPI"],"operationId":"createProjectBranchDataAPI","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataAPICreateRequest"}}}},"responses":{"201":{"description":"Creates a new app","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataAPICreateResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update Neon Data API","description":"Updates the Neon Data API configuration for the specified branch.\nYou can optionally provide settings to update the Data API configuration.\nThe schema cache is always refreshed as part of this operation.\n","tags":["DataAPI"],"operationId":"updateProjectBranchDataAPI","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataAPIUpdateRequest"}}}},"responses":{"201":{"description":"Updated the Neon Data API configuration and refreshed the schema cache","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete Neon Data API","description":"Deletes the Neon Data API for the specified branch.\nExisting connections using the Data API endpoint will fail after deletion.\n","tags":["DataAPI"],"operationId":"deleteProjectBranchDataAPI","responses":{"200":{"description":"Deleted the Neon Data API for the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"get":{"summary":"Retrieve Neon Data API configuration","description":"Retrieves the Neon Data API configuration for the specified branch,\nincluding endpoint URL, enabled state, and database settings.\n","tags":["DataAPI"],"operationId":"getProjectBranchDataAPI","responses":{"200":{"description":"Returns the Neon Data API for the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataAPIReponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/auth/create":{"post":{"summary":"Create Neon Auth integration","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth` instead. Removal scheduled for March 1, 2026.\nUse this endpoint if the frontend integration flow can't be used.\n","tags":["Auth (legacy)"],"operationId":"createNeonAuthIntegration","deprecated":true,"x-sunset":"2026-03-01","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateIntegrationRequest"}}},"required":true},"responses":{"201":{"description":"Creates Neon Auth integration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateIntegrationResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve Neon Auth details for the branch","description":"Retrieves the Neon Auth integration details for the specified branch,\nincluding the auth provider type and integration status.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"getNeonAuth","responses":{"200":{"description":"Fetched the details of the Neon Auth integration for the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthIntegration"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Enable Neon Auth for the branch","description":"Enables Neon Auth for the specified branch by connecting it to an authentication provider.\nCreating the integration provisions the `neon_auth` schema in the branch database, which stores user identity data synchronized from the provider.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"createNeonAuth","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableNeonAuthIntegrationRequest"}}},"required":true},"responses":{"201":{"description":"Enables Neon Auth integration for the branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateIntegrationResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Disable Neon Auth for the branch","description":"Disables the Neon Auth integration for the specified branch, removing the connection\nto the authentication provider.\nIf `delete_data` is `true`, also deletes the `neon_auth` schema and all associated tables\nfrom the branch database.\nThe integration can be re-enabled by calling `POST /projects/{project_id}/branches/{branch_id}/auth`.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"disableNeonAuth","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"delete_data":{"type":"boolean","description":"If true, deletes the `neon_auth` schema from the database","default":false}}}}}},"responses":{"200":{"description":"Delete the integration with the authentication provider"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/domains":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List trusted redirect URI domains","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"listNeonAuthRedirectURIWhitelistDomains","responses":{"200":{"description":"Returned the domains in the redirect_uri whitelist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthRedirectURIWhitelistResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Add trusted redirect URI domain","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"addNeonAuthDomainToRedirectURIWhitelist","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthAddDomainToRedirectURIWhitelistRequest"}}},"required":true},"responses":{"201":{"description":"Added the domain to the redirect_uri whitelist"},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete trusted redirect URI domain","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"deleteNeonAuthDomainFromRedirectURIWhitelist","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthDeleteDomainFromRedirectURIWhitelistRequest"}}},"required":true},"responses":{"200":{"description":"Deleted the domain from the redirect_uri whitelist"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/domains":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List domains in redirect_uri whitelist","description":"Lists the trusted domains in the redirect URI whitelist for the specified branch.\nOnly domains in this list are permitted as redirect targets after authentication.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"listBranchNeonAuthTrustedDomains","responses":{"200":{"description":"Returned the domains in the redirect_uri whitelist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthRedirectURIWhitelistResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Add domain to redirect_uri whitelist","description":"Adds a domain to the redirect URI whitelist for the specified branch.\nOnly domains in this list are permitted as redirect targets after authentication.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"addBranchNeonAuthTrustedDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthAddDomainToRedirectURIWhitelistRequest"}}},"required":true},"responses":{"201":{"description":"Added the domain to the redirect_uri whitelist"},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete domain from redirect_uri whitelist","description":"Removes a domain from the redirect URI whitelist for the specified branch.\nAfter removal, the domain can no longer be used as a redirect target after authentication.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"deleteBranchNeonAuthTrustedDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthDeleteDomainFromRedirectURIWhitelistRequest"}}},"required":true},"responses":{"200":{"description":"Deleted the domain from the redirect_uri whitelist"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/auth/keys":{"post":{"summary":"Create Auth Provider SDK keys","description":"Generates SDK or API Keys for the auth provider. These might be called different things depending\non the auth provider you're using, but are generally used for setting up the frontend and backend SDKs.\n","tags":["Auth (legacy)"],"operationId":"createNeonAuthProviderSDKKeys","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateAuthProviderSDKKeysRequest"}}},"required":true},"responses":{"201":{"description":"Creates Auth Provider SDK keys","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateIntegrationResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/auth/user":{"post":{"summary":"Create new auth user","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/users` instead. Removal scheduled for March 1, 2026.\nThe user will be created in your neon_auth.users_sync table and automatically propagated to your auth project, whether Neon-managed or provider-owned.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"createNeonAuthNewUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateNewUserRequest"}}},"required":true},"responses":{"201":{"description":"Creates new user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateNewUserResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/users":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create new auth user","description":"Creates a new user in the Neon Auth user directory for the specified branch.\nThe user is created in the `neon_auth.users_sync` table and can immediately authenticate\nusing the branch's configured auth providers.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"createBranchNeonAuthNewUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBranchNeonAuthNewUserRequest"}}},"required":true},"responses":{"201":{"description":"Creates new user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthCreateNewUserResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"auth_user_id","in":"path","description":"The Neon user ID","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Delete auth user","description":"Deletes the specified user from the Neon Auth user directory for the specified branch.\nRemoves the user record from `neon_auth.users_sync`. This action cannot be undone.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"deleteBranchNeonAuthUser","responses":{"204":{"description":"Deleted the auth user"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}/role":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"auth_user_id","in":"path","description":"The Neon user ID","required":true,"schema":{"type":"string"}}],"put":{"summary":"Update auth user role","description":"Updates the role of a user in the Neon Auth user directory for the specified branch.\nThe role controls the user's level of access within the Neon Auth integration.\n","tags":["Auth"],"operationId":"updateNeonAuthUserRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNeonAuthUserRoleRequest"}}},"required":true},"responses":{"200":{"description":"Updated the auth user role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNeonAuthUserRoleResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/users/{auth_user_id}":{"delete":{"summary":"Delete auth user","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/users/{auth_user_id}` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"deleteNeonAuthUser","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"auth_user_id","in":"path","description":"The Neon user ID","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deleted the auth user"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/auth/transfer_ownership":{"post":{"summary":"Transfer Neon-managed auth project to your own account","description":"Transfers ownership of your Neon-managed auth project to your own auth provider account.\n","tags":["Auth (legacy)"],"operationId":"transferNeonAuthProviderProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthTransferAuthProviderProjectRequest"}}},"required":true},"responses":{"200":{"description":"Transfer initiated. Follow the URL to complete the process in your auth provider's UI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthTransferAuthProviderProjectResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/integrations":{"get":{"summary":"List active integrations with auth providers","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth` instead. Removal scheduled for March 1, 2026.","tags":["Auth (legacy)"],"operationId":"listNeonAuthIntegrations","deprecated":true,"x-sunset":"2026-03-01","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"responses":{"200":{"description":"Return management API keys metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNeonAuthIntegrationsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/oauth_providers":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List OAuth providers","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"listNeonAuthOauthProviders","responses":{"200":{"description":"Returns the OAuth providers for the Neon Auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNeonAuthOauthProvidersResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Add an OAuth provider","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"addNeonAuthOauthProvider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthAddOAuthProviderRequest"}}},"required":true},"responses":{"200":{"description":"The OAuth provider has been added to the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthOauthProvider"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/oauth_providers":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List OAuth providers for the branch","description":"Lists the OAuth providers configured for the specified branch's Neon Auth integration.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"listBranchNeonAuthOauthProviders","responses":{"200":{"description":"Returns the OAuth providers for the Neon Auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNeonAuthOauthProvidersResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Add an OAuth provider","description":"Adds an OAuth provider configuration to the specified branch's Neon Auth integration.\nAfter adding, users can authenticate using the configured provider.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"addBranchNeonAuthOauthProvider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthAddOAuthProviderRequest"}}},"required":true},"responses":{"200":{"description":"The OAuth provider has been added to the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthOauthProvider"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/oauth_providers/{oauth_provider_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"oauth_provider_id","in":"path","description":"The OAuth provider ID","required":true,"schema":{"$ref":"#/components/schemas/NeonAuthOauthProviderId"}}],"patch":{"summary":"Update OAuth provider","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"updateNeonAuthOauthProvider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthUpdateOAuthProviderRequest"}}},"required":true},"responses":{"200":{"description":"The OAuth provider has been added to the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthOauthProvider"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete OAuth provider","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"deleteNeonAuthOauthProvider","responses":{"200":{"description":"Deleted the OAuth provider from the project"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"oauth_provider_id","in":"path","description":"The OAuth provider ID","required":true,"schema":{"$ref":"#/components/schemas/NeonAuthOauthProviderId"}}],"patch":{"summary":"Update OAuth provider","description":"Updates an OAuth provider for the specified project.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"updateBranchNeonAuthOauthProvider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthUpdateOAuthProviderRequest"}}},"required":true},"responses":{"200":{"description":"The OAuth provider has been added to the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthOauthProvider"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete OAuth provider","description":"Deletes an OAuth provider from the specified project.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"deleteBranchNeonAuthOauthProvider","responses":{"200":{"description":"Deleted the OAuth provider from the project"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/email_server":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve email server configuration","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/email_provider` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"getNeonAuthEmailServer","responses":{"200":{"description":"Returns the email server configuration for the Neon Auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update email server configuration","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth/email_provider` instead. Removal scheduled for March 1, 2026.\n","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"updateNeonAuthEmailServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig"}}},"required":true},"responses":{"200":{"description":"The OAuth provider has been added to the project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/send_test_email":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Send test email","description":"Sends a test email using the configured email server settings to verify SMTP connectivity and credentials.\nThe request body must include the SMTP server settings\n(`host`, `port`, `username`, `password`, `sender_email`, `sender_name`) and the `recipient_email` address.\n","tags":["Auth"],"x-stability-level":"beta","operationId":"sendNeonAuthTestEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendNeonAuthTestEmailRequest"}}},"required":true},"responses":{"200":{"description":"Response with the result of the test email send","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendNeonAuthTestEmailResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/email_and_password":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve email and password configuration","description":"Retrieves the email and password authentication configuration for the specified branch's Neon Auth integration,\nincluding whether it is enabled and the email verification method.\n","tags":["Auth"],"operationId":"getNeonAuthEmailAndPasswordConfig","responses":{"200":{"description":"Returns the email and password configuration for Neon Auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailAndPasswordConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update email and password configuration","description":"Updates the email and password authentication configuration for the specified branch's Neon Auth integration.\nOnly the fields provided in the request body are updated.\n","tags":["Auth"],"operationId":"updateNeonAuthEmailAndPasswordConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailAndPasswordConfigUpdate"}}},"required":true},"responses":{"200":{"description":"The email and password configuration has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailAndPasswordConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/email_provider":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve email provider configuration","description":"Retrieves the email provider configuration for the specified branch's Neon Auth integration,\nincluding the provider type and server settings.\n","tags":["Auth"],"operationId":"getNeonAuthEmailProvider","responses":{"200":{"description":"Returns the email provider configuration for the Neon Auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update email provider configuration","description":"Updates the email provider configuration for the specified branch's Neon Auth integration.\nThe email provider handles transactional messages such as verification emails and password reset links.\n","tags":["Auth"],"operationId":"updateNeonAuthEmailProvider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig"}}},"required":true},"responses":{"200":{"description":"The email provider configuration has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/auth/integration/{auth_provider}":{"delete":{"summary":"Delete integration with auth provider","description":"Deprecated. Use `/projects/{project_id}/branches/{branch_id}/auth` instead. Removal scheduled for March 1, 2026.","tags":["Auth (legacy)"],"deprecated":true,"x-sunset":"2026-03-01","operationId":"deleteNeonAuthIntegration","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"auth_provider","in":"path","description":"The authentication provider name","required":true,"schema":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"delete_data":{"type":"boolean","description":"If true, deletes the `neon_auth` schema from the database","default":false}}}}}},"responses":{"200":{"description":"Delete the integration with the authentication provider"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/connection_uri":{"get":{"summary":"Retrieve connection URI","description":"Retrieves a connection URI for the specified database.\nThe URI uses the standard PostgreSQL connection string format. Set `pooled=true` to include the `-pooler` suffix for a connection pooler URI.\n","tags":["Project"],"operationId":"getConnectionURI","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"query","description":"The branch ID. Defaults to your project's default `branch_id` if not specified.","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"endpoint_id","in":"query","description":"The endpoint ID. Defaults to the read-write `endpoint_id` associated with the `branch_id` if not specified.","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"database_name","in":"query","description":"The database name","required":true,"schema":{"type":"string"}},{"name":"role_name","in":"query","description":"The role name","required":true,"schema":{"type":"string"}},{"name":"pooled","in":"query","description":"Adds the `-pooler` option to the connection URI when set to `true`, creating a pooled connection URI.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned the connection URI","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionURIResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/allow_localhost":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve localhost allow setting","description":"Retrieves the localhost allow setting for the specified branch's Neon Auth integration.\nWhen enabled, authentication flows work from `localhost` without adding it to the redirect URI whitelist.\n","tags":["Auth"],"operationId":"getNeonAuthAllowLocalhost","responses":{"200":{"description":"The allow localhost configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthAllowLocalhostResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update localhost allow setting","description":"Updates the localhost allow setting for the specified branch's Neon Auth integration.\nWhen enabled, authentication flows work from `localhost` without adding it to the redirect URI whitelist.\n","tags":["Auth"],"operationId":"updateNeonAuthAllowLocalhost","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNeonAuthAllowLocalhostRequest"}}},"required":true},"responses":{"200":{"description":"Updated the allow localhost configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthAllowLocalhostResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/plugins":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve Neon Auth plugin configurations","description":"Returns all plugin configurations for Neon Auth in a single response.\nThis endpoint aggregates organization, email provider, email and password,\nOAuth providers, and localhost settings.\n","tags":["Auth"],"operationId":"getNeonAuthPluginConfigs","responses":{"200":{"description":"Returns all plugin configurations","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthPluginConfigs"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/plugins/organization":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"patch":{"summary":"Update organization plugin configuration","description":"Updates the organization plugin configuration for Neon Auth.\nThe organization plugin enables multi-tenant organization support.\n","tags":["Auth"],"operationId":"updateNeonAuthOrganizationPlugin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthOrganizationConfigUpdate"}}},"required":true},"responses":{"200":{"description":"The organization plugin configuration has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthOrganizationConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/config":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"patch":{"summary":"Update auth configuration","description":"Updates the auth configuration for the branch.\nCurrently supports updating the application name used in auth emails.\n","tags":["Auth"],"operationId":"updateNeonAuthConfig","x-internal":true,"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthConfigUpdate"}}},"required":true},"responses":{"200":{"description":"The auth configuration has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthConfigResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/plugins/magic-link":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"patch":{"summary":"Update magic link plugin configuration","description":"Updates the magic link plugin configuration for Neon Auth.\nThe magic link plugin enables passwordless authentication via email magic links.\n","tags":["Auth"],"operationId":"updateNeonAuthMagicLinkPlugin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthMagicLinkConfigUpdate"}}},"required":true},"responses":{"200":{"description":"The magic link plugin configuration has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthMagicLinkConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/plugins/phone-number":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve phone number plugin configuration","description":"Returns the phone number plugin configuration for Neon Auth.\nThe phone number plugin enables phone-based OTP authentication.\n","tags":["Auth"],"operationId":"getNeonAuthPhoneNumberPlugin","responses":{"200":{"description":"Returns the phone number plugin configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthPhoneNumberConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update phone number plugin configuration","description":"Updates the phone number plugin configuration for Neon Auth.\nOnly the fields provided in the request body are updated; omitted fields retain their current values.\nThe phone number plugin enables phone-based OTP authentication.\nOTP codes are delivered via the `send.otp` webhook event with `delivery_preference: \"sms\"`.\nA webhook must be configured with the `send.otp` event enabled for SMS delivery to work.\n","tags":["Auth"],"operationId":"updateNeonAuthPhoneNumberPlugin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthPhoneNumberConfigUpdate"}}},"required":true},"responses":{"200":{"description":"The phone number plugin configuration has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthPhoneNumberConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/auth/webhooks":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve Neon Auth webhook configuration","description":"Returns the webhook configuration for the specified branch's Neon Auth integration,\nincluding the endpoint URL and the events that trigger it.\n","tags":["Auth"],"operationId":"getNeonAuthWebhookConfig","responses":{"200":{"description":"Returns webhook configuration for Neon Auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthWebhookConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"put":{"summary":"Update Neon Auth webhook configuration","description":"Updates the webhook configuration for the specified branch's Neon Auth integration.\nWebhooks notify an external endpoint when auth events occur, such as user creation or sign-in.\n","tags":["Auth"],"operationId":"updateNeonAuthWebhookConfig","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthWebhookConfig"}}}},"responses":{"200":{"description":"Returns the updated webhook configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonAuthWebhookConfig"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create branch","description":"Creates a branch in the specified project.\nNo request body is required, but you can specify one to create a compute endpoint or select a non-default parent branch.\nBy default, the branch is created from the project's default branch with no compute endpoint, and the branch name is auto-generated.\nTo access the branch, add a `read_write` endpoint.\nEach branch supports one read-write endpoint and multiple read-only endpoints.\nFor related information, see [Manage branches](https://neon.com/docs/manage/branches/).\n","tags":["Branch"],"operationId":"createProjectBranch","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/BranchCreateRequest"},{"$ref":"#/components/schemas/AnnotationCreateValueRequest"}]},"examples":{"branch_only":{"summary":"Branch only","value":{"branch":{"parent_id":"br-aged-salad-637688","name":"mybranch"}}},"branch_with_endpoint":{"summary":"Branch with endpoint","value":{"endpoints":[{"type":"read_write"}],"branch":{"parent_id":"br-aged-salad-637688","name":"mybranch"}}}}}},"required":false},"responses":{"201":{"$ref":"#/components/responses/CreatedBranch"},"default":{"$ref":"#/components/responses/GeneralError"}}},"get":{"summary":"List branches","description":"Retrieves a list of branches for the specified project.\n\nEach Neon project has a root branch named `main`.\nA `branch_id` value has a `br-` prefix.\nA project may contain child branches that were branched from `main` or from another branch.\nA parent branch is identified by the `parent_id` value, which is the `id` of the parent branch.\nFor related information, see [Manage branches](https://neon.com/docs/manage/branches/).\n","tags":["Branch"],"operationId":"listProjectBranches","parameters":[{"name":"search","description":"Search by branch `name` or `id`. You can specify partial `name` or `id` values to filter results.","in":"query","schema":{"type":"string"}},{"name":"sort_by","description":"Sort the branches by sort_field. If not provided, branches will be sorted by updated_at descending order","in":"query","schema":{"type":"string","default":"updated_at","enum":["name","created_at","updated_at"]}},{"$ref":"#/components/parameters/CursorParam"},{"$ref":"#/components/parameters/SortOrderParam"},{"$ref":"#/components/parameters/LimitParam"},{"name":"include_deleted","description":"If true, return recoverable deleted branches too (soft-deleted within the recovery window).\nIf false or not provided, return only active (non-deleted) branches.\n\nThis parameter is part of the Branch Recovery feature, which is in preview and not available to all users.\n","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned a list of branches for the specified project","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/BranchesResponse"},{"$ref":"#/components/schemas/AnnotationsMapResponse"},{"$ref":"#/components/schemas/CursorPaginationResponse"}]},"example":{"branches":[{"id":"br-aged-salad-637688","project_id":"shiny-wind-028834","name":"main","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","logical_size":28,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z","data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"cpu_used_sec":100,"default":true,"protected":false,"creation_source":"console","init_source":"parent-data"},{"id":"br-sweet-breeze-497520","project_id":"shiny-wind-028834","parent_id":"br-aged-salad-637688","parent_lsn":"0/1DE2850","name":"dev2","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","logical_size":28,"created_at":"2022-11-30T19:09:48Z","updated_at":"2022-11-30T19:09:49Z","data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"cpu_used_sec":100,"default":true,"protected":false,"creation_source":"console","init_source":"parent-data"},{"id":"br-raspy-hill-832856","project_id":"shiny-wind-028834","parent_id":"br-aged-salad-637688","parent_lsn":"0/19623D8","name":"dev1","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","logical_size":21,"created_at":"2022-11-30T17:36:57Z","updated_at":"2022-11-30T17:36:57Z","data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"cpu_used_sec":100,"default":true,"protected":false,"creation_source":"console","init_source":"parent-data"}],"annotations":{"br-aged-salad-637688":{"object":{"type":"console/branch","id":"br-aged-salad-637688"},"value":{"vercel-commit-ref":"test"},"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z"}},"pagination":{"next":"eyJjcmVhdGV","sort_by":"updated_at","sort_order":"desc"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branch_anonymized":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create anonymized branch","description":"Creates a new branch with anonymized data using PostgreSQL Anonymizer for static masking.\nThis allows developers to work with masked production data.\nOptionally, provide `masking_rules` to set initial masking rules for the branch\nand `start_anonymization` to automatically start anonymization after creation. This\ncombines functionality of updating masking rules and starting anonymization into the\nbranch creation request.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Branch"],"operationId":"createProjectBranchAnonymized","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchAnonymizedCreateRequest"}}},"required":true},"responses":{"201":{"$ref":"#/components/responses/CreatedBranch"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/count":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve number of branches","description":"Retrieves the total number of branches in the specified project.\nSupports an optional `search` parameter to count branches matching a name filter.\n","tags":["Branch"],"operationId":"countProjectBranches","parameters":[{"name":"search","description":"Count branches matching the `name` in search query","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned a count of branches for the specified project","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/BranchesCountResponse"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve branch details","description":"Retrieves information about the specified branch.\nA `branch_id` value has a `br-` prefix.\n\nEach Neon project is initially created with a root and default branch named `main`.\nA project can contain one or more branches.\nA parent branch is identified by a `parent_id` value, which is the `id` of the parent branch.\nFor related information, see [Manage branches](https://neon.com/docs/manage/branches/).\n","tags":["Branch"],"operationId":"getProjectBranch","responses":{"200":{"description":"Returned information about the specified branch","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/BranchResponse"},{"$ref":"#/components/schemas/AnnotationResponse"}]},"example":{"branch":{"id":"br-aged-salad-637688","project_id":"shiny-wind-028834","name":"main","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","logical_size":28,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z","data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"cpu_used_sec":100,"default":true,"protected":false,"creation_source":"console","init_source":"parent-data"},"annotation":{"object":{"type":"console/branch","id":"br-aged-salad-637688"},"value":{"vercel-commit-ref":"test"},"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete branch","description":"Deletes the specified branch from a project and places all compute endpoints into an idle state, breaking existing client connections.\n\nThe deletion completes after all operations finish.\nYou cannot delete a project's root or default branch, or a branch that has a child branch.\nA project must have at least one branch.\n\nBy default, deleted branches can be recovered within a 7-day grace period.\nUse the `hard_delete` parameter to permanently delete the branch immediately.\nFor related information, see [Manage branches](https://neon.com/docs/manage/branches/).\n","tags":["Branch"],"operationId":"deleteProjectBranch","parameters":[{"name":"hard_delete","in":"query","description":"If true, the branch is permanently deleted immediately without a recovery window.\nIf false (default), the branch can be recovered within 7 days via the recover endpoint.\n\nThis parameter is part of the Branch Recovery feature, which is in preview and not available to all users.\n","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Deleted the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchOperations"},"example":{"branch":{"id":"br-aged-salad-637688","project_id":"shiny-wind-028834","name":"main","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","logical_size":28,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z","data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"cpu_used_sec":100,"default":true,"protected":false,"creation_source":"console","init_source":"parent-data"},"operations":[{"id":"b6afbc21-2990-4a76-980b-b57d8c2948f2","project_id":"shiny-wind-028834","branch_id":"br-sweet-breeze-497520","endpoint_id":"ep-soft-violet-752733","action":"suspend_compute","status":"running","failures_count":0,"created_at":"2022-12-01T19:53:05Z","updated_at":"2022-12-01T19:53:05Z","total_duration_ms":100},{"id":"b6afbc21-2990-4a76-980b-b57d8c2948f2","project_id":"shiny-wind-028834","branch_id":"br-sweet-breeze-497520","action":"delete_timeline","status":"scheduling","failures_count":0,"created_at":"2022-12-01T19:53:05Z","updated_at":"2022-12-01T19:53:05Z","total_duration_ms":100}]}}}},"204":{"description":"Returned if the branch doesn't exist or has already been deleted"},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"tags":["Branch"],"summary":"Update branch","description":"Updates the specified branch.\nFor more information, see [Manage branches](https://neon.com/docs/manage/branches/).\n","operationId":"updateProjectBranch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchUpdateRequest"},"example":{"branch":{"name":"mybranch"}}}},"required":true},"responses":{"200":{"description":"Updated the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchOperations"},"example":{"branch":{"id":"br-icy-dream-250089","project_id":"shiny-wind-028834","parent_id":"br-aged-salad-637688","parent_lsn":"0/1E19478","name":"mybranch","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z","data_transfer_bytes":1000000,"written_data_bytes":100800,"compute_time_seconds":100,"active_time_seconds":100,"cpu_used_sec":100,"default":true,"protected":false,"creation_source":"console","init_source":"parent-data"},"operations":[]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/restore":{"post":{"tags":["Branch"],"summary":"Restore branch to a historical state","description":"Restores a branch to an earlier state in its own or another branch's history\nby specifying an LSN or timestamp.\nCreates a new branch from the historical state.\n","operationId":"restoreProjectBranch","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchRestoreRequest"}}},"required":true},"responses":{"200":{"description":"Updated the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchOperations"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/schema":{"get":{"tags":["Branch"],"summary":"Retrieve database schema","description":"Retrieves the database schema. Specify `lsn` or `timestamp` (not both) to read at a point in time; omit both to read from the database's head.","operationId":"getProjectBranchSchema","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"db_name","in":"query","description":"Name of the database for which the schema is retrieved","required":true,"schema":{"type":"string"}},{"name":"lsn","in":"query","description":"The Log Sequence Number (LSN) for which the schema is retrieved\n","schema":{"type":"string"}},{"name":"timestamp","in":"query","description":"The point in time for which the schema is retrieved\n","schema":{"type":"string","format":"date-time","example":"2022-11-30T20:09:48Z"}},{"name":"format","in":"query","description":"The format of the schema to retrieve. Possible values:\n- `sql` (default)\n- `json`\n","schema":{"type":"string"}}],"responses":{"200":{"description":"Schema definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchSchemaResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/compare_schema":{"get":{"tags":["Branch"],"summary":"Compare database schema","description":"Compares the schema from the specified database with another branch's schema.","operationId":"getProjectBranchSchemaComparison","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"base_branch_id","in":"query","description":"The branch ID to compare the schema with","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"db_name","in":"query","description":"Name of the database for which the schema is retrieved","required":true,"schema":{"type":"string"}},{"name":"lsn","in":"query","description":"The Log Sequence Number (LSN) for which the schema is retrieved\n","schema":{"type":"string"}},{"name":"timestamp","in":"query","description":"The point in time for which the schema is retrieved\n","schema":{"type":"string","format":"date-time","example":"2022-11-30T20:09:48Z"}},{"name":"base_lsn","in":"query","description":"The Log Sequence Number (LSN) for the base branch schema\n","schema":{"type":"string"}},{"name":"base_timestamp","in":"query","description":"The point in time for the base branch schema\n","schema":{"type":"string","format":"date-time","example":"2022-11-30T20:09:48Z"}}],"responses":{"200":{"description":"Difference between the schemas","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchSchemaCompareResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/masking_rules":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"tags":["Branch"],"summary":"Retrieve masking rules","description":"Retrieves the masking rules for the specified anonymized branch.\nMasking rules define how sensitive data should be anonymized using PostgreSQL Anonymizer.\n\n**Note**: This endpoint is currently in Beta.\n","operationId":"getMaskingRules","responses":{"200":{"description":"Masking rules retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaskingRulesResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"tags":["Branch"],"summary":"Update masking rules","description":"Updates the masking rules for the specified anonymized branch.\nMasking rules define how sensitive data should be anonymized using PostgreSQL Anonymizer.\n\n**Note**: This endpoint is currently in Beta.\n","operationId":"updateMaskingRules","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaskingRulesUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Masking rules updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaskingRulesResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/anonymized_status":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"tags":["Branch"],"summary":"Retrieve anonymized branch status","description":"Retrieves the current status of an anonymized branch, including its state and progress information.\nThis endpoint allows you to monitor the anonymization process from initialization through completion.\nOnly anonymized branches will have status information available.\n\n**Note**: This endpoint is currently in Beta.\n","operationId":"getAnonymizedBranchStatus","responses":{"200":{"description":"Anonymized branch status retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnonymizedBranchStatusResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/anonymize":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"tags":["Branch"],"summary":"Start anonymization","description":"Starts the anonymization process for an anonymized branch that is in the initialized, error, or anonymized state.\nThis will apply all defined masking rules to anonymize sensitive data in the branch databases.\nThe branch must be an anonymized branch to start anonymization.\n\n**Note**: This endpoint is currently in Beta.\n","operationId":"startAnonymization","responses":{"200":{"description":"Anonymization started successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnonymizedBranchStatusResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/set_as_default":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"tags":["Branch"],"summary":"Set branch as default","description":"Sets the specified branch as the project's default branch.\nThe default designation is automatically removed from the previous default branch.\nFor more information, see [Manage branches](https://neon.com/docs/manage/branches/).\n","operationId":"setDefaultProjectBranch","responses":{"200":{"description":"Updated the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchOperations"},"example":{"branch":{"cpu_used_sec":1,"active_time_seconds":1,"compute_time_seconds":1,"written_data_bytes":100,"data_transfer_bytes":100,"id":"br-icy-dream-250089","project_id":"shiny-wind-028834","parent_id":"br-aged-salad-637688","parent_lsn":"0/1E19478","name":"mybranch","current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:26Z","default":true,"protected":false,"creation_source":"console","init_source":"parent-data"},"operations":[]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/finalize_restore":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Finalize branch restore from snapshot","description":"Finalize the restore operation for a branch created from a snapshot.\nThis operation updates the branch so it functions as the original branch it replaced.\nThis includes:\n  - Reassigning any computes from the original branch to the restored branch (this will restart the computes)\n  - Renaming the restored branch to the original branch's name\n  - Renaming the original branch so it no longer uses the original name\n\nThis operation only applies to branches created using the `restoreSnapshot` endpoint with `finalize_restore: false`.\n","tags":["Branch"],"operationId":"finalizeRestoreBranch","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name for the replaced branch. If omitted, a unique name is generated."}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/endpoints":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List branch endpoints","description":"Retrieves a list of compute endpoints for the specified branch.\nNeon permits only one read-write compute endpoint per branch.\nA branch can have multiple read-only compute endpoints.\n","tags":["Branch"],"operationId":"listProjectBranchEndpoints","responses":{"200":{"description":"Returned a list of endpoints for the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointsResponse"},"example":{"endpoints":[{"host":"ep-little-smoke-851426.us-east-2.aws.neon.tech","id":"ep-little-smoke-851426","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-11-23T17:00:00Z","created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-30T18:25:21Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/databases":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List databases","description":"Retrieves a list of databases for the specified branch.\nA branch can have multiple databases.\nFor related information, see [Manage databases](https://neon.com/docs/manage/databases/).\n","tags":["Branch"],"operationId":"listProjectBranchDatabases","responses":{"200":{"description":"Returned a list of databases of the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabasesResponse"},"example":{"databases":[{"id":834686,"branch_id":"br-aged-salad-637688","name":"main","owner_name":"casey","created_at":"2022-11-30T18:25:15Z","updated_at":"2022-11-30T18:25:15Z"},{"id":834686,"branch_id":"br-aged-salad-637688","name":"mydb","owner_name":"casey","created_at":"2022-10-30T17:14:13Z","updated_at":"2022-10-30T17:14:13Z"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"tags":["Branch"],"summary":"Create database","description":"Creates a database in the specified branch.\nA branch can have multiple databases.\nFor related information, see [Manage databases](https://neon.com/docs/manage/databases/).\n","operationId":"createProjectBranchDatabase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseCreateRequest"},"example":{"database":{"name":"mydb","owner_name":"casey"}}}},"required":true},"responses":{"201":{"description":"Created a database in the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseOperations"},"example":{"database":{"id":876692,"branch_id":"br-aged-salad-637688","name":"mydb","owner_name":"casey","created_at":"2022-12-04T00:15:04Z","updated_at":"2022-12-04T00:15:04Z"},"operations":[{"id":"39426015-db00-40fa-85c5-1c7072df46d0","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","endpoint_id":"ep-little-smoke-851426","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-04T00:15:04Z","updated_at":"2022-12-04T00:15:04Z","total_duration_ms":100},{"id":"b7483d4e-33da-4d40-b319-ac858d4d3e69","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","endpoint_id":"ep-little-smoke-851426","action":"suspend_compute","status":"scheduling","failures_count":0,"created_at":"2022-12-04T00:15:04Z","updated_at":"2022-12-04T00:15:04Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/databases/{database_name}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"database_name","in":"path","description":"The database name","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieve database details","description":"Retrieves information about the specified database.\nFor related information, see [Manage databases](https://neon.com/docs/manage/databases/).\n","tags":["Branch"],"operationId":"getProjectBranchDatabase","responses":{"200":{"description":"Returned the database details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseResponse"},"example":{"database":{"id":834686,"branch_id":"br-aged-salad-637688","name":"main","owner_name":"casey","created_at":"2022-11-30T18:25:15Z","updated_at":"2022-11-30T18:25:15Z"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"tags":["Branch"],"summary":"Update database","description":"Updates the specified database in the branch.\nFor related information, see [Manage databases](https://neon.com/docs/manage/databases/).\n","operationId":"updateProjectBranchDatabase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseUpdateRequest"},"example":{"database":{"name":"mydb","owner_name":"sally"}}}},"required":true},"responses":{"200":{"description":"Updated the database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseOperations"},"example":{"database":{"id":876692,"branch_id":"br-aged-salad-637688","name":"mydb","owner_name":"sally","created_at":"2022-12-04T00:15:04Z","updated_at":"2022-12-04T00:15:04Z"},"operations":[{"id":"9ef1c2ed-dce4-43aa-bae8-78aea636bf8a","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","endpoint_id":"ep-little-smoke-851426","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-04T00:21:01Z","updated_at":"2022-12-04T00:21:01Z","total_duration_ms":100},{"id":"42dafb46-f861-497b-ae89-f2bec54f4966","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","endpoint_id":"ep-little-smoke-851426","action":"suspend_compute","status":"scheduling","failures_count":0,"created_at":"2022-12-04T00:21:01Z","updated_at":"2022-12-04T00:21:01Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete database","description":"Deletes the specified database from the branch.\nFor related information, see [Manage databases](https://neon.com/docs/manage/databases/).\n","tags":["Branch"],"operationId":"deleteProjectBranchDatabase","responses":{"200":{"description":"Deleted the specified database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseOperations"},"example":{"database":{"id":851537,"branch_id":"br-raspy-hill-832856","name":"mydb","owner_name":"casey","created_at":"2022-12-01T19:41:46Z","updated_at":"2022-12-01T19:41:46Z"},"operations":[{"id":"9ef1c2ed-dce4-43aa-bae8-78aea636bf8a","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","endpoint_id":"ep-steep-bush-777093","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-01T19:51:41Z","updated_at":"2022-12-01T19:51:41Z","total_duration_ms":100},{"id":"42dafb46-f861-497b-ae89-f2bec54f4966","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","endpoint_id":"ep-steep-bush-777093","action":"suspend_compute","status":"scheduling","failures_count":0,"created_at":"2022-12-01T19:51:41Z","updated_at":"2022-12-01T19:51:41Z","total_duration_ms":100}]}}}},"204":{"description":"Returned if the database doesn't exist or has already been deleted"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/roles":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List roles","description":"Retrieves a list of Postgres roles from the specified branch.\nFor related information, see [Manage roles](https://neon.com/docs/manage/roles/).\n","tags":["Branch"],"operationId":"listProjectBranchRoles","responses":{"200":{"description":"Returned a list of roles from the specified branch.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolesResponse"},"example":{"roles":[{"branch_id":"br-aged-salad-637688","name":"casey","protected":false,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:25Z"},{"branch_id":"br-aged-salad-637688","name":"thomas","protected":false,"created_at":"2022-10-22T17:38:21Z","updated_at":"2022-10-22T17:38:21Z"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Create role","description":"Creates a Postgres role in the specified branch.\nFor related information, see [Manage roles](https://neon.com/docs/manage/roles/).\n\nConnections established to the active compute endpoint will be dropped.\nIf the compute endpoint is idle, the endpoint becomes active for a short period of time and is suspended afterward.\n","tags":["Branch"],"operationId":"createProjectBranchRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleCreateRequest"},"example":{"role":{"name":"sally"}}}},"required":true},"responses":{"201":{"description":"Created a role in the specified branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOperations"},"example":{"role":{"branch_id":"br-noisy-sunset-458773","name":"sally","password":"Onf1AjayKwe0","protected":false,"created_at":"2022-12-03T11:58:29Z","updated_at":"2022-12-03T11:58:29Z"},"operations":[{"id":"2c2be371-d5ac-4db5-8b68-79f05e8bc287","project_id":"shiny-wind-028834","branch_id":"br-noisy-sunset-458773","endpoint_id":"ep-small-pine-767857","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-03T11:58:29Z","updated_at":"2022-12-03T11:58:29Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/roles/{role_name}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"role_name","in":"path","description":"The role name","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieve role details","description":"Retrieves details about the specified role.\nIn Neon, the terms \"role\" and \"user\" are synonymous.\nFor related information, see [Manage roles](https://neon.com/docs/manage/roles/).\n","tags":["Branch"],"operationId":"getProjectBranchRole","responses":{"200":{"description":"Returned details for the specified role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"},"example":{"role":{"branch_id":"br-noisy-sunset-458773","name":"casey","protected":false,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:25Z"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete role","description":"Deletes the specified Postgres role from the branch.\nFor related information, see [Manage roles](https://neon.com/docs/manage/roles/).\n","tags":["Branch"],"operationId":"deleteProjectBranchRole","responses":{"200":{"description":"Deleted the specified role from the branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOperations"},"example":{"role":{"branch_id":"br-raspy-hill-832856","name":"thomas","protected":false,"created_at":"2022-12-01T14:36:23Z","updated_at":"2022-12-01T14:36:23Z"},"operations":[{"id":"db646be3-eace-4910-9f60-8150823c5cb8","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","endpoint_id":"ep-steep-bush-777093","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-01T19:48:11Z","updated_at":"2022-12-01T19:48:11Z","total_duration_ms":100},{"id":"ab94cdad-7630-4943-a55e-5a0952d2e598","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","endpoint_id":"ep-steep-bush-777093","action":"suspend_compute","status":"scheduling","failures_count":0,"created_at":"2022-12-01T19:48:11Z","updated_at":"2022-12-01T19:48:11Z","total_duration_ms":100}]}}}},"204":{"description":"Returned if the role doesn't exist or has already been deleted"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reveal_password":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"role_name","in":"path","description":"The role name","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieve role password","description":"Retrieves the password for the specified Postgres role, if possible.\nFor related information, see [Manage roles](https://neon.com/docs/manage/roles/).\n","tags":["Branch"],"operationId":"getProjectBranchRolePassword","responses":{"200":{"description":"Returned password for the specified role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolePasswordResponse"},"example":{"password":"mypass"}}}},"404":{"description":"Role not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"412":{"description":"Storing passwords is disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reset_password":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"role_name","in":"path","description":"The role name","required":true,"schema":{"type":"string"}}],"post":{"summary":"Reset role password","description":"Resets the password for the specified Postgres role.\nReturns a new password and operations. The new password is ready to use when the last operation finishes.\nThe old password remains valid until last operation finishes.\nConnections to the compute endpoint are dropped. If idle,\nthe compute endpoint becomes active for a short period of time.\n\nFor related information, see [Manage roles](https://neon.com/docs/manage/roles/).\n","tags":["Branch"],"operationId":"resetProjectBranchRolePassword","responses":{"200":{"description":"Reset the password for the specified role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOperations"},"example":{"role":{"branch_id":"br-noisy-sunset-458773","name":"sally","password":"ClfD0aVuK3eK","protected":false,"created_at":"2022-12-03T12:39:39Z","updated_at":"2022-12-03T12:58:18Z"},"operations":[{"id":"6bef07a0-ebca-40cd-9100-7324036cfff2","project_id":"shiny-wind-028834","branch_id":"br-noisy-sunset-458773","endpoint_id":"ep-small-pine-767857","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-03T12:58:18Z","updated_at":"2022-12-03T12:58:18Z","total_duration_ms":100},{"id":"16b5bfca-4697-4194-a338-d2cdc9aca2af","project_id":"shiny-wind-028834","branch_id":"br-noisy-sunset-458773","endpoint_id":"ep-small-pine-767857","action":"suspend_compute","status":"scheduling","failures_count":0,"created_at":"2022-12-03T12:58:18Z","updated_at":"2022-12-03T12:58:18Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/vpc_endpoints":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List VPC endpoint restrictions","description":"Lists VPC endpoint restrictions for the specified Neon project.\n","tags":["Project"],"operationId":"listProjectVPCEndpoints","responses":{"200":{"description":"Returned VPC endpoint restrictions for the specified project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPCEndpointsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/vpc_endpoints/{vpc_endpoint_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"vpc_endpoint_id","in":"path","description":"The VPC endpoint ID","required":true,"schema":{"type":"string"}}],"post":{"summary":"Set VPC endpoint restriction","description":"Sets or updates a VPC endpoint restriction for a Neon project.\nWhen a VPC endpoint restriction is set, the project only accepts connections\nfrom the specified VPC.\nA VPC endpoint can be set as a restriction only after it is assigned to the\nparent organization of the Neon project.\n","tags":["Project"],"operationId":"assignProjectVPCEndpoint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPCEndpointAssignment"}}},"required":true},"responses":{"200":{"description":"Configured the specified VPC endpoint as a restriction for the specified project."},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete VPC endpoint restriction","description":"Removes the specified VPC endpoint restriction from a Neon project.\n","tags":["Project"],"operationId":"deleteProjectVPCEndpoint","responses":{"200":{"description":"Removed the VPC endpoint restriction from the specified Neon project"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/endpoints":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create compute endpoint","description":"Creates a compute endpoint for the specified branch.\nA compute endpoint is a Neon compute instance.\nThere is a maximum of one read-write compute endpoint per branch.\nIf the specified branch already has a read-write compute endpoint, the operation fails.\nA branch can have multiple read-only compute endpoints.\n\nFor more information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"createProjectEndpoint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointCreateRequest"},"examples":{"required_attributes_only":{"summary":"Required attributes only","value":{"endpoint":{"branch_id":"br-floral-mountain-251143","type":"read_write"}}},"with_region_attribute":{"summary":"With region attribute","value":{"endpoint":{"branch_id":"br-floral-mountain-251143","type":"read_write","region_id":"aws-us-east-2"}}},"with_pooler_attribute":{"summary":"With pooler attribute","value":{"endpoint":{"branch_id":"br-floral-mountain-251143","type":"read_write","pooler_enabled":true}}}}}},"required":true},"responses":{"201":{"description":"Created a compute endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointOperations"},"example":{"endpoint":{"host":"ep-shrill-thunder-454069.us-east-2.aws.neon.tech","id":"ep-shrill-thunder-454069","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"init","pending_state":"active","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:37:07Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","suspend_timeout_seconds":10800,"provisioner":"k8s-pod"},"operations":[{"id":"874f8bfe-f51d-4c61-85af-a29bea73e0e2","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"start_compute","status":"running","failures_count":0,"created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:37:07Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"get":{"summary":"List compute endpoints","description":"Retrieves a list of compute endpoints for the specified project.\nA compute endpoint is a Neon compute instance.\nFor information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"listProjectEndpoints","responses":{"200":{"description":"Returned a list of endpoints for the specified project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointsResponse"},"example":{"endpoints":[{"host":"ep-little-smoke-851426.us-east-2.aws.neon.tech","creation_source":"console","suspend_timeout_seconds":10800,"provisioner":"k8s-pod","id":"ep-little-smoke-851426","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-11-23T17:00:00Z","created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-30T18:25:21Z","proxy_host":"us-east-2.aws.neon.tech"},{"host":"ep-steep-bush-777093.us-east-2.aws.neon.tech","creation_source":"console","suspend_timeout_seconds":10800,"provisioner":"k8s-pod","id":"ep-steep-bush-777093","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-11-30T17:00:00Z","created_at":"2022-11-30T17:36:57Z","updated_at":"2022-11-30T18:42:58Z","proxy_host":"us-east-2.aws.neon.tech"},{"host":"ep-soft-violet-752733.us-east-2.aws.neon.tech","creation_source":"console","suspend_timeout_seconds":10800,"provisioner":"k8s-pod","id":"ep-soft-violet-752733","project_id":"shiny-wind-028834","branch_id":"br-sweet-breeze-497520","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-11-30T19:00:00Z","created_at":"2022-11-30T19:09:48Z","updated_at":"2022-11-30T19:14:51Z","proxy_host":"us-east-2.aws.neon.tech"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/endpoints/{endpoint_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"endpoint_id","in":"path","description":"The endpoint ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve compute endpoint details","description":"Retrieves information about the specified compute endpoint.\nA compute endpoint is a Neon compute instance.\nAn `endpoint_id` has an `ep-` prefix.\nFor information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"getProjectEndpoint","responses":{"200":{"description":"Returned information about the specified endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointResponse"},"example":{"endpoint":{"host":"ep-little-smoke-851426.us-east-2.aws.neon.tech","id":"ep-little-smoke-851426","project_id":"shiny-wind-028834","branch_id":"br-aged-salad-637688","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-11-23T17:00:00Z","created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-30T18:25:21Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete compute endpoint","description":"Deletes the specified compute endpoint.\nA compute endpoint is a Neon compute instance.\nDeleting a compute endpoint drops existing network connections to the compute endpoint.\nThe deletion is completed when the last operation in the chain finishes successfully.\n\nAn `endpoint_id` has an `ep-` prefix.\nFor information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"deleteProjectEndpoint","responses":{"200":{"description":"Deleted the specified compute endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointOperations"},"example":{"endpoint":{"host":"ep-steep-bush-777093.us-east-2.aws.neon.tech","id":"ep-steep-bush-777093","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-12-03T15:00:00Z","created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:49:10Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800},"operations":[{"id":"fd11748e-3c68-458f-b9e3-66d409e3eef0","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"suspend_compute","status":"running","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100}]}}}},"204":{"description":"Returned if the endpoint doesn't exist or has already been deleted"},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"tags":["Endpoint"],"summary":"Update compute endpoint","description":"Updates the specified compute endpoint.\n\nAn `endpoint_id` has an `ep-` prefix. A `branch_id` has a `br-` prefix.\nFor more information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n\nIf the returned list of operations is not empty, the compute endpoint is not ready to use.\nThe client must wait for the last operation to finish before using the compute endpoint.\nIf the compute endpoint was idle before the update, it becomes active for a short period of time,\nand the control plane suspends it again after the update.\n","operationId":"updateProjectEndpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointUpdateRequest"},"example":{"endpoint":{"suspend_timeout_seconds":300}}}}},"responses":{"200":{"description":"Updated the specified compute endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointOperations"},"example":{"endpoint":{"host":"ep-steep-bush-777093.us-east-2.aws.neon.tech","id":"ep-steep-bush-777093","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-12-03T15:00:00Z","created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:49:10Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800},"operations":[{"id":"3fc98ab8-f191-47b8-a427-5eb668ccc5b9","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"apply_config","status":"running","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100},{"id":"9ffda74b-a582-4cff-b0f0-aaa8d14b8e6a","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"suspend_compute","status":"scheduling","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/endpoints/{endpoint_id}/start":{"post":{"summary":"Start compute endpoint","description":"Starts a compute endpoint.\nThe compute endpoint is ready to use after the last operation in the chain finishes successfully.\n\nAn `endpoint_id` has an `ep-` prefix.\nFor information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"startProjectEndpoint","parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"endpoint_id","in":"path","description":"The endpoint ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"responses":{"200":{"description":"Started the specified compute endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointOperations"},"example":{"endpoint":{"host":"ep-steep-bush-777093.us-east-2.aws.neon.tech","id":"ep-steep-bush-777093","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-12-03T15:00:00Z","created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:49:10Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800},"operations":[{"id":"e061087e-3c99-4856-b9c8-6b7751a253af","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"start_compute","status":"running","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/endpoints/{endpoint_id}/suspend":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"endpoint_id","in":"path","description":"The endpoint ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Suspend compute endpoint","description":"Suspends the specified compute endpoint.\nAn `endpoint_id` has an `ep-` prefix.\nFor information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"suspendProjectEndpoint","responses":{"200":{"description":"Suspended the specified endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointOperations"},"example":{"endpoint":{"host":"ep-steep-bush-777093.us-east-2.aws.neon.tech","id":"ep-steep-bush-777093","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-12-03T15:00:00Z","created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:49:10Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800},"operations":[{"id":"e061087e-3c99-4856-b9c8-6b7751a253af","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"suspend_compute","status":"running","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/endpoints/{endpoint_id}/restart":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"endpoint_id","in":"path","description":"The endpoint ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Restart compute endpoint","description":"Restarts the specified compute endpoint by immediately suspending it and then starting it again.\nAn `endpoint_id` has an `ep-` prefix.\nFor information about compute endpoints, see [Manage computes](https://neon.com/docs/manage/endpoints/).\n","tags":["Endpoint"],"operationId":"restartProjectEndpoint","responses":{"200":{"description":"Restarted endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointOperations"},"example":{"endpoint":{"host":"ep-steep-bush-777093.us-east-2.aws.neon.tech","id":"ep-steep-bush-777093","project_id":"shiny-wind-028834","branch_id":"br-raspy-hill-832856","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"idle","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"last_active":"2022-12-03T15:00:00Z","created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:49:10Z","proxy_host":"us-east-2.aws.neon.tech","creation_source":"console","provisioner":"k8s-pod","suspend_timeout_seconds":10800},"operations":[{"id":"e061087e-3c99-4856-b9c8-6b7751a253af","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"suspend_compute","status":"running","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100},{"id":"e061087e-3c99-4856-b9c8-6b7751a253af","project_id":"bitter-meadow-966132","branch_id":"br-proud-paper-090813","endpoint_id":"ep-shrill-thunder-454069","action":"start_compute","status":"running","failures_count":0,"created_at":"2022-12-03T15:51:06Z","updated_at":"2022-12-03T15:51:06Z","total_duration_ms":100}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/consumption_history/projects":{"get":{"summary":"Retrieve project consumption metrics (legacy plans)","description":"Retrieves consumption metrics for Scale, Business, and Enterprise plan projects. History begins at the time of upgrade.\nResults are ordered by time in ascending order (oldest to newest).\nIssuing a call to this API does not wake a project's compute endpoint.\n","tags":["Consumption"],"operationId":"getConsumptionHistoryPerProject","parameters":[{"name":"cursor","description":"Specify the cursor value from the previous response to get the next batch of projects.","in":"query","schema":{"type":"string"}},{"name":"limit","description":"Specify a value from 1 to 100 to limit number of projects in the response.","in":"query","schema":{"type":"integer","minimum":1,"default":10,"maximum":100}},{"name":"project_ids","description":"Specify a list of project IDs to filter the response.\nIf omitted, the response will contain all projects.\nA list of project IDs can be specified as an array of parameter values or as a comma-separated list in a single parameter value.\n- As an array of parameter values: `project_ids=cold-poetry-09157238%20&project_ids=quiet-snow-71788278`\n- As a comma-separated list in a single parameter value: `project_ids=cold-poetry-09157238,quiet-snow-71788278`\n","in":"query","schema":{"type":"array","items":{"pattern":"^([a-z0-9-]{1,60}(,[a-z0-9-]{1,60}){0,99})?$","type":"string"},"minItems":0,"maxItems":100}},{"name":"from","description":"Specify the start `date-time` for the consumption period.\nThe `date-time` value is rounded according to the specified `granularity`.\nFor example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`.\nThe specified `date-time` value must respect the specified `granularity`:\n- For `hourly`, consumption metrics are limited to the last 168 hours.\n- For `daily`, consumption metrics are limited to the last 60 days.\n- For `monthly`, consumption metrics are limited to the last year.\n\nThe consumption history is available starting from `March 1, 2024, at 00:00:00 UTC`.\n","in":"query","schema":{"type":"string","format":"date-time"},"required":true},{"name":"to","description":"Specify the end `date-time` for the consumption period.\nThe `date-time` value is rounded according to the specified granularity.\nFor example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`.\nThe specified `date-time` value must respect the specified `granularity`:\n- For `hourly`, consumption metrics are limited to the last 168 hours.\n- For `daily`, consumption metrics are limited to the last 60 days.\n- For `monthly`, consumption metrics are limited to the last year.\n","in":"query","schema":{"type":"string","format":"date-time"},"required":true},{"name":"granularity","description":"Specify the granularity of consumption metrics.\nHourly, daily, and monthly metrics are available for the last 168 hours, 60 days,\nand 1 year, respectively.\n","in":"query","schema":{"$ref":"#/components/schemas/ConsumptionHistoryGranularity"},"required":true},{"name":"org_id","description":"Specify the organization for which the project consumption metrics should be returned.\nIf this parameter is not provided, the endpoint will return the metrics for the\nauthenticated user's projects.\n","in":"query","schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"include_v1_metrics","description":"The field is deprecated. Please use `metrics` instead.\nIf `metrics` is specified, this field is ignored.\nInclude metrics utilized in previous pricing models.\n- **data_storage_bytes_hour**: The sum of the maximum observed storage values for each hour,\n  which never decreases.\n","in":"query","deprecated":true,"schema":{"type":"boolean"}},{"name":"metrics","description":"Specify a list of metrics to include in the response.\nIf omitted, active_time, compute_time, written_data, synthetic_storage_size are returned.\nPossible values:\n- `active_time_seconds`\n- `compute_time_seconds`\n- `written_data_bytes`\n- `synthetic_storage_size_bytes`\n- `data_storage_bytes_hour`\n- `logical_size_bytes`\n- `logical_size_bytes_hour`\n\nA list of metrics can be specified as an array of parameter values or as a comma-separated list in a single parameter value.\n- As an array of parameter values: `metrics=cpu_seconds&metrics=ram_bytes`\n- As a comma-separated list in a single parameter value: `metrics=cpu_seconds,ram_bytes`\n","in":"query","schema":{"$ref":"#/components/schemas/ConsumptionHistoryQueryMetrics"}}],"responses":{"200":{"description":"Returned project consumption metrics for the Neon account","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ConsumptionHistoryPerProjectResponse"},{"$ref":"#/components/schemas/PaginationResponse"}]}}}},"403":{"description":"This endpoint is not available. It is only supported with Scale, Business, and Enterprise plan accounts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"404":{"description":"Account is not a member of the organization specified by `org_id`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"406":{"description":"The specified `date-time` range is outside the boundaries of the specified `granularity`.\nAdjust your `from` and `to` values or select a different `granularity`.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/consumption_history/v2/projects":{"get":{"summary":"Retrieve project consumption metrics","description":"Returns consumption metrics for up to `limit` projects per page. If `project_ids` is omitted,\nprojects in the organization are included across pages (use `cursor`). If `project_ids` is\nprovided, the response is limited to those projects (up to 100). Available for accounts on\nLaunch, Scale, Agent, Business, and Enterprise plans.\n\nHistory starts when the account upgrades to an eligible plan.\n\nThe `metrics` query parameter is required. Supported values:\n`compute_unit_seconds`, `root_branch_bytes_month`, `child_branch_bytes_month`,\n`instant_restore_bytes_month`, `public_network_transfer_bytes`, `private_network_transfer_bytes`,\n`extra_branches_month`, `snapshot_storage_bytes_month`.\n\nConsumption metrics within each project are returned in ascending time order (oldest first).\nThis request does not wake project computes.\n","tags":["Consumption"],"operationId":"getConsumptionHistoryPerProjectV2","parameters":[{"name":"cursor","description":"Cursor from the previous response (`pagination.cursor`). Pass it to fetch the next page\nof projects. Pages are ordered by project creation order (newest first).\n","in":"query","schema":{"type":"string"}},{"name":"limit","description":"Maximum number of projects per page. Allowed range: 1 to 100. Default: 10.\n","in":"query","schema":{"type":"integer","minimum":1,"default":10,"maximum":100}},{"name":"project_ids","description":"Optional project IDs to filter the response (up to 100). If omitted, projects in the\norganization are included across pages (use `cursor` and `limit`).\n\nPass multiple IDs as repeated query parameters or a comma-separated list:\n- `project_ids=cold-poetry-09157238&project_ids=quiet-snow-71788278`\n- `project_ids=cold-poetry-09157238,quiet-snow-71788278`\n","in":"query","schema":{"type":"array","items":{"pattern":"^([a-z0-9-]{1,60}(,[a-z0-9-]{1,60}){0,99})?$","type":"string"},"minItems":0,"maxItems":100}},{"name":"from","description":"Specify the start `date-time` for the consumption period.\nThe `date-time` value is rounded according to the specified `granularity`.\nFor example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`.\nThe specified `date-time` value must respect the specified `granularity`:\n- For `hourly`, consumption metrics are limited to the last 168 hours.\n- For `daily`, consumption metrics are limited to the last 60 days.\n- For `monthly`, consumption metrics are limited to the last year.\n\nThe earliest allowed `from` value is `March 1, 2024, at 00:00:00 UTC`.\nMetrics are returned from when the account upgraded to an eligible plan, which may be\nlater than that date.\n","in":"query","schema":{"type":"string","format":"date-time"},"required":true},{"name":"to","description":"Specify the end `date-time` for the consumption period.\nThe `date-time` value is rounded according to the specified `granularity`.\nFor example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`.\nThe specified `date-time` value must respect the specified `granularity`:\n- For `hourly`, consumption metrics are limited to the last 168 hours.\n- For `daily`, consumption metrics are limited to the last 60 days.\n- For `monthly`, consumption metrics are limited to the last year.\n","in":"query","schema":{"type":"string","format":"date-time"},"required":true},{"name":"granularity","description":"Specify the granularity of consumption metrics.\nHourly, daily, and monthly metrics are available for the last 168 hours, 60 days,\nand 1 year, respectively.\n","in":"query","schema":{"$ref":"#/components/schemas/ConsumptionHistoryGranularity"},"required":true},{"name":"org_id","description":"Organization ID. Metrics are returned for projects in this organization.\n","in":"query","schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"},"required":true},{"name":"metrics","required":true,"description":"Required. List the metrics to return. Supported values:\n- `compute_unit_seconds`\n- `root_branch_bytes_month`\n- `child_branch_bytes_month`\n- `instant_restore_bytes_month`\n- `public_network_transfer_bytes`\n- `private_network_transfer_bytes`\n- `extra_branches_month`\n- `snapshot_storage_bytes_month`\n\nPass multiple values as repeated query parameters or a comma-separated list:\n- `metrics=compute_unit_seconds&metrics=extra_branches_month`\n- `metrics=compute_unit_seconds,extra_branches_month`\n","in":"query","schema":{"$ref":"#/components/schemas/ConsumptionHistoryQueryMetrics"}}],"responses":{"200":{"description":"Project consumption metrics for the Neon account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ConsumptionHistoryPerProjectV2Response"},{"$ref":"#/components/schemas/PaginationResponse"}]}}}},"403":{"description":"Not available for this account. Project consumption history requires a Launch, Scale,\nAgent, Business, or Enterprise plan.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"404":{"description":"Account is not a member of the organization specified by `org_id`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"406":{"description":"The `from` and `to` range is not valid for the selected `granularity`. Adjust the range or\nchoose a different granularity.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/consumption_history/v2/branches":{"get":{"summary":"Retrieve branch consumption metrics","description":"Returns consumption metrics for each branch across one or more projects listed in\n`project_ids` (1 to 100 projects). Available for accounts on paid usage-based Launch, Scale,\nAgent, and Enterprise plans.\n\nHistory starts when the account first ingests branch-level consumption data.\n\nThe `metrics` query parameter is required. Only these six values are supported on this\nendpoint:\n`compute_unit_seconds`, `root_branch_bytes_month`, `child_branch_bytes_month`,\n`instant_restore_bytes_month`, `public_network_transfer_bytes`, `private_network_transfer_bytes`.\n\nThis endpoint does not support `extra_branches_month` or `snapshot_storage_bytes_month`.\nUse `GET /consumption_history/v2/projects` for those.\n\nConsumption metrics within each branch are returned in ascending time order (oldest first).\nThis request does not wake project computes.\n","tags":["Consumption"],"x-stability-level":"beta","operationId":"getConsumptionHistoryPerBranchV2","parameters":[{"name":"cursor","description":"Cursor from the previous response (`pagination.cursor`). Pass it to fetch the next page\nof branches. Pages are ordered by project ID, then branch ID.\n","in":"query","schema":{"type":"string"}},{"name":"limit","description":"Maximum number of branches per page. Allowed range: 1 to 1000. Default: 100.\n","in":"query","schema":{"type":"integer","minimum":1,"default":100,"maximum":1000}},{"name":"project_ids","description":"Project IDs to include (required, 1 to 100). Returns metrics for branches in these projects.\n\nPass multiple IDs as repeated query parameters or a comma-separated list:\n- `project_ids=cold-poetry-09157238&project_ids=quiet-snow-71788278`\n- `project_ids=cold-poetry-09157238,quiet-snow-71788278`\n","in":"query","required":true,"schema":{"type":"array","items":{"pattern":"^([a-z0-9-]{1,60}(,[a-z0-9-]{1,60}){0,99})?$","type":"string"},"minItems":1,"maxItems":100}},{"name":"branch_ids","description":"Optional branch IDs to filter the response (up to 100). If omitted, all branches in the\nlisted projects are included.\n\nPass multiple IDs as repeated query parameters or a comma-separated list:\n- `branch_ids=br-aged-salad-637688&branch_ids=br-sweet-breeze-497520`\n- `branch_ids=br-aged-salad-637688,br-sweet-breeze-497520`\n","in":"query","schema":{"type":"array","items":{"pattern":"^([a-z0-9-]{1,60}(,[a-z0-9-]{1,60}){0,99})?$","type":"string"},"minItems":0,"maxItems":100}},{"name":"from","description":"Specify the start `date-time` for the consumption period.\nThe `date-time` value is rounded according to the specified `granularity`.\nFor example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`.\nThe specified `date-time` value must respect the specified `granularity`:\n- For `hourly`, consumption metrics are limited to the last 168 hours.\n- For `daily`, consumption metrics are limited to the last 60 days.\n- For `monthly`, consumption metrics are limited to the last year.\n\nBranch-level metrics are returned from when the account first ingests branch-level\nconsumption data. Periods before that time contain no branch metrics.\n","in":"query","schema":{"type":"string","format":"date-time"},"required":true},{"name":"to","description":"Specify the end `date-time` for the consumption period.\nThe `date-time` value is rounded according to the specified `granularity`.\nFor example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`.\nThe specified `date-time` value must respect the specified `granularity`:\n- For `hourly`, consumption metrics are limited to the last 168 hours.\n- For `daily`, consumption metrics are limited to the last 60 days.\n- For `monthly`, consumption metrics are limited to the last year.\n","in":"query","schema":{"type":"string","format":"date-time"},"required":true},{"name":"granularity","description":"Specify the granularity of consumption metrics.\nHourly, daily, and monthly metrics are available for the last 168 hours, 60 days,\nand 1 year, respectively.\n","in":"query","schema":{"$ref":"#/components/schemas/ConsumptionHistoryGranularity"},"required":true},{"name":"org_id","description":"Organization ID. Metrics are returned for projects in this organization.\n","in":"query","schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"},"required":true},{"name":"metrics","required":true,"description":"Required. List the metrics to return. Only these values are supported:\n- `compute_unit_seconds`\n- `root_branch_bytes_month`\n- `child_branch_bytes_month`\n- `instant_restore_bytes_month`\n- `public_network_transfer_bytes`\n- `private_network_transfer_bytes`\n\nNot supported on this endpoint: `extra_branches_month`, `snapshot_storage_bytes_month`.\nUse `GET /consumption_history/v2/projects` for those.\n\nPass multiple values as repeated query parameters or a comma-separated list:\n- `metrics=compute_unit_seconds&metrics=public_network_transfer_bytes`\n- `metrics=compute_unit_seconds,public_network_transfer_bytes`\n","in":"query","schema":{"$ref":"#/components/schemas/ConsumptionHistoryQueryMetrics"}}],"responses":{"200":{"description":"Branch consumption metrics for the Neon account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ConsumptionHistoryPerBranchV2Response"},{"$ref":"#/components/schemas/PaginationResponse"}]}}}},"403":{"description":"Not available for this account. Branch consumption history requires a paid usage-based\nLaunch, Scale, Agent, or Enterprise plan.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"404":{"description":"Account is not a member of the organization specified by `org_id`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"406":{"description":"The `from` and `to` range is not valid for the selected `granularity`. Adjust the range or\nchoose a different granularity.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve organization details","description":"Retrieves details for the specified organization, including its name, plan, and configuration.\n","tags":["Organizations"],"operationId":"getOrganization","responses":{"200":{"description":"Returned information about the organization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"},"example":{"id":"my-organization-morning-bread-81040908","name":"my-organization","handle":"my-organization-my-organization-morning-bread-81040908","plan":"scale","managed_by":"console","created_at":"2024-02-23T17:42:25Z","updated_at":"2024-02-26T20:41:25Z","require_mfa":false}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/api_keys":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List organization API keys","description":"Retrieves the API keys for the specified organization.\nThe response does not include API key tokens. A token is only provided when creating an API key.\nAPI keys can also be managed in the Neon Console.\nFor more information, see [Manage API keys](https://neon.com/docs/manage/api-keys/).\n","tags":["Organizations"],"operationId":"listOrgApiKeys","responses":{"200":{"description":"Returned the API keys for the specified organization","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgApiKeysListResponseItem"},"example":[{"id":165432,"name":"orgkey_1","created_at":"2022-11-15T20:13:35Z","created_by":{"id":"629982cc-de05-43db-ae16-28f2399c4910","name":"John Smith","image":"http://link.to.image"},"last_used_at":"2022-11-15T20:22:51Z","last_used_from_addr":"192.0.2.255"},{"id":165433,"name":"orgkey_2","created_at":"2022-11-15T20:12:36Z","created_by":{"id":"629982cc-de05-43db-ae16-28f2399c4910","name":"John Smith","image":"http://link.to.image"},"last_used_at":"2022-11-15T20:15:04Z","last_used_from_addr":"192.0.2.255"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Create organization API key","description":"Creates an API key for the specified organization.\nThe `key_name` is a user-specified name for the key.\nReturns an `id` and `key`; the `key` is a randomly generated, 64-bit token required to access the Neon API.\nStore the key securely — it is only returned once.\nAPI keys can also be managed in the Neon Console.\nSee [Manage API keys](https://neon.com/docs/manage/api-keys/).\n","tags":["Organizations"],"operationId":"createOrgApiKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgApiKeyCreateRequest"},"example":{"key_name":"orgkey"}}},"required":true},"responses":{"200":{"description":"Created an organization API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgApiKeyCreateResponse"},"example":{"id":165434,"key":"9v1faketcjbl4sn1013keyd43n2a8qlfakeog8yvp40hx16keyjo1bpds4y2dfms3","name":"orgkey","created_at":"2022-11-15T20:13:35Z","created_by":"629982cc-de05-43db-ae16-28f2399c4910"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/api_keys/{key_id}":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"delete":{"summary":"Revoke organization API key","description":"Revokes the specified organization API key.\nAn API key that is no longer needed can be revoked.\nThis action cannot be reversed.\nAPI keys can also be managed in the Neon Console.\nSee [Manage API keys](https://neon.com/docs/manage/api-keys/).\n","tags":["Organizations"],"operationId":"revokeOrgApiKey","parameters":[{"name":"key_id","in":"path","description":"The API key ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Revoked the specified organization API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgApiKeyRevokeResponse"},"example":{"id":165435,"name":"orgkey","created_at":"2022-11-15T20:13:35Z","created_by":"629982cc-de05-43db-ae16-28f2399c4910","last_used_at":"2022-11-15T20:15:04Z","last_used_from_addr":"192.0.2.255","revoked":true}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/billing/spending_limit":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve organization spending limit","description":"Returns the configured monthly spending limit for the specified organization.\n`spending_limit_cents: null` indicates that no limit is currently set.\nAvailable to organization members with read access on Launch and Scale plans only.\n","tags":["Organizations"],"x-stability-level":"beta","operationId":"getOrganizationSpendingLimit","responses":{"200":{"description":"The organization's current spending limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendingLimitResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"put":{"summary":"Set organization spending limit","description":"Sets the monthly spending limit for the specified organization.\nTo remove a previously configured limit, send a DELETE request to this endpoint.\nWhen a limit is configured, email notifications are sent at 80% and 100% of the limit.\nComputes are not suspended when the limit is reached.\nAvailable to organization admins on Launch and Scale plans only.\n","tags":["Organizations"],"x-stability-level":"beta","operationId":"setOrganizationSpendingLimit","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendingLimitUpdateRequest"}}}},"responses":{"200":{"description":"The updated spending limit value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendingLimitResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Remove organization spending limit","description":"Removes the configured monthly spending limit for the specified organization.\nIdempotent — removing an already-unset limit still succeeds.\nAvailable to organization admins on Launch and Scale plans only.\n","tags":["Organizations"],"x-stability-level":"beta","operationId":"deleteOrganizationSpendingLimit","responses":{"200":{"description":"The spending limit has been cleared.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/members":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List organization members","description":"Retrieves a paginated list of members for the specified organization.\n","tags":["Organizations"],"operationId":"getOrganizationMembers","parameters":[{"name":"sort_by","description":"Sort the members by the specified field. Defaults to `joined_at`.","in":"query","schema":{"type":"string","default":"joined_at","enum":["email","role","joined_at"]}},{"$ref":"#/components/parameters/CursorParam"},{"$ref":"#/components/parameters/SortOrderParam"},{"name":"limit","description":"The maximum number of members to return in the response","in":"query","schema":{"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"Returned information about organization members","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/OrganizationMembersResponse"},{"$ref":"#/components/schemas/CursorPaginationResponse"}]},"example":{"members":[{"member":{"id":"d57833f2-d308-4ede-9d2e-468d9d013d1b","user_id":"b107d689-6dd2-4c9a-8b9e-0b25e457cf56","org_id":"my-organization-morning-bread-81040908","role":"admin","joined_at":"2024-02-23T17:42:25Z"},"user":{"email":"user1@email.com"}},{"member":{"id":"5fee13ac-957b-40cd-8de0-4d494cc28e28","user_id":"6df052ac-ca9a-4321-8963-b6507b2d7dee","org_id":"my-organization-morning-bread-81040908","role":"member","joined_at":"2024-02-21T16:42:25Z"},"user":{"email":"user2@email.com"}}],"pagination":{"next":"eyJtZW1iZXJfaWQiOiI1ZmVlMTNhYy05NTdiLTQwY2QtOGRlMC00ZDQ5NGNjMjhlMjgiLCJzb3J0X2J5Ijoiam9pbmVkX2F0In0=","sort_by":"joined_at","sort_order":"desc"}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/members/{member_id}":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"member_id","in":"path","description":"The Neon organization member ID","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"summary":"Retrieve organization member details","description":"Retrieves information about the specified organization member.\n","tags":["Organizations"],"operationId":"getOrganizationMember","responses":{"200":{"description":"Returned information about the organization member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"},"example":{"id":"d57833f2-d308-4ede-9d2e-468d9d013d1b","user_id":"b107d689-6dd2-4c9a-8b9e-0b25e457cf56","org_id":"my-organization-morning-bread-81040908","role":"admin","joined_at":"2024-02-23T17:42:25Z"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update role for organization member","description":"Updates the role of an existing member in the specified organization.\nThe requested role must be valid for the organization.\nOnly organization admins can call this endpoint.\n","tags":["Organizations"],"operationId":"updateOrganizationMember","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberUpdateRequest"},"example":{"role":"member"}}}},"responses":{"200":{"description":"The updated organization member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Remove organization member","description":"Removes the specified member from the organization.\nOnly organization admins can perform this action.\nThe last admin in an organization cannot be removed.\n","tags":["Organizations"],"operationId":"removeOrganizationMember","responses":{"200":{"description":"Removed organization member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/invitations":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List organization invitations","description":"Retrieves pending and accepted invitations for the specified organization.\n","tags":["Organizations"],"operationId":"getOrganizationInvitations","responses":{"200":{"description":"Returned information about the organization invitations","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInvitationsResponse"},"example":{"invitations":[{"id":"db8faf32-b07f-4b0f-94c8-5c288909f5d3","email":"invited1@email.com","org_id":"my-organization-morning-bread-81040908","invited_by":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","role":"admin","invited_at":"2024-02-23T17:42:25Z"},{"id":"c52f0d22-ebd9-4708-ae44-2872cae49a83","email":"invited2@email.com","org_id":"my-organization-morning-bread-81040908","invited_by":"a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","role":"member","invited_at":"2024-02-23T12:42:25Z"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Create organization invitations","description":"Creates invitations for a specific organization.\nIf the invited user has an existing account, they automatically join as a member.\nIf they don't yet have an account, they are invited to create one, after which they become a member.\nEach invited user receives an email notification.\n","tags":["Organizations"],"operationId":"createOrganizationInvitations","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInvitesCreateRequest"},"example":{"invitations":[{"email":"invited-user@email.com","role":"member"}]}}}},"responses":{"200":{"description":"The created organization invitation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInvitationsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{source_org_id}/projects/transfer":{"parameters":[{"name":"source_org_id","in":"path","description":"The Neon organization ID (source org, which currently owns the project)","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Transfer projects between organizations","description":"Transfers selected projects, identified by their IDs, from your organization to another specified organization.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferProjectsToOrganizationRequest"}}}},"tags":["Organizations"],"operationId":"transferProjectsFromOrgToOrg","responses":{"200":{"description":"Projects successfully transferred from organization to organization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"406":{"description":"Transfer failed. The target organization has too many projects or an incompatible plan. Reduce projects or upgrade the target organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitsUnsatisfiedResponse"}}}},"422":{"description":"Transfer failed. Projects with active integrations (for example, GitHub or Vercel) cannot be transferred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectsWithIntegrationResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/vpc/vpc_endpoints":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List VPC endpoints across all regions","description":"Retrieves the list of VPC endpoints for the specified Neon organization across all regions.\n","tags":["Organizations"],"operationId":"listOrganizationVPCEndpointsAllRegions","responses":{"200":{"description":"The list of configured VPC endpoint IDs for the specified organization across all regions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPCEndpointsWithRegionResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"region_id","in":"path","description":"The Neon region ID","required":true,"schema":{"type":"string"}}],"get":{"summary":"List VPC endpoints","description":"Retrieves the list of VPC endpoints for the specified Neon organization.\n","tags":["Organizations"],"operationId":"listOrganizationVPCEndpoints","responses":{"200":{"description":"The list of configured VPC endpoint IDs for the specified organization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPCEndpointsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/organizations/{org_id}/vpc/region/{region_id}/vpc_endpoints/{vpc_endpoint_id}":{"parameters":[{"name":"org_id","in":"path","description":"The Neon organization ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"region_id","in":"path","description":"The Neon region ID.\nAzure regions are currently not supported.\n","required":true,"schema":{"type":"string"}},{"name":"vpc_endpoint_id","in":"path","description":"The VPC endpoint ID","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieve VPC endpoint details","description":"Retrieves the current state and configuration details of a specified VPC endpoint.\n","tags":["Organizations"],"operationId":"getOrganizationVPCEndpointDetails","responses":{"200":{"description":"Returned the current status and configuration details of the specified VPC endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPCEndpointDetails"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"post":{"summary":"Assign or update VPC endpoint","description":"Assigns a VPC endpoint to a Neon organization or updates its existing assignment.\n","tags":["Organizations"],"operationId":"assignOrganizationVPCEndpoint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPCEndpointAssignment"}}},"required":true},"responses":{"200":{"description":"Assigned the VPC endpoint to the specified Neon organization"},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete VPC endpoint","description":"Deletes the VPC endpoint from the specified Neon organization.\nIf you delete a VPC endpoint from a Neon organization, that VPC endpoint cannot\nbe added back to the Neon organization.\n","tags":["Organizations"],"operationId":"deleteOrganizationVPCEndpoint","responses":{"200":{"description":"Deleted the VPC endpoint from the specified Neon organization"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/regions":{"get":{"summary":"List supported regions","description":"Lists supported Neon regions.\n\n**Note:** Not all regions are available to all organizations. Pass the `org_id`\nparameter to get an accurate list of regions available to your organization.\n","tags":["Region"],"operationId":"getActiveRegions","parameters":[{"name":"org_id","description":"Organization ID. When provided, returns only regions available to this organization.\nRecommended for accurate region availability.\n","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"responses":{"200":{"description":"The list of active regions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveRegionsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/users/me":{"get":{"summary":"Retrieve current user details","description":"Retrieves information about the currently authenticated Neon user,\nincluding account identifiers, plan details, and linked auth accounts.\n","tags":["Users"],"operationId":"getCurrentUserInfo","responses":{"200":{"description":"Returned information about the current user\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentUserInfoResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/users/me/organizations":{"get":{"summary":"List organizations for the current user","description":"Retrieves the organizations that the currently authenticated user belongs to.\n\nWhen called with an organization- or project-scoped API key (which is not\ntied to a user), this returns the single organization that owns the key.\n","operationId":"getCurrentUserOrganizations","tags":["Users","Organizations"],"responses":{"200":{"description":"Returned information about the current user organizations\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/users/me/projects/transfer":{"post":{"deprecated":true,"x-sunset":"2026-07-01","summary":"Transfer projects from personal account to organization","description":"Deprecated. Personal accounts have been migrated to organizations, so this operation no longer applies. Removal scheduled for July 1, 2026.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferProjectsToOrganizationRequest"}}}},"tags":["Users"],"operationId":"transferProjectsFromUserToOrg","responses":{"200":{"description":"Projects successfully transferred from personal account to organization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"406":{"description":"Transfer failed. The target organization has too many projects or an incompatible plan. Reduce projects or upgrade the target organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitsUnsatisfiedResponse"}}}},"422":{"description":"Transfer failed. Projects with active integrations (for example, GitHub or Vercel) cannot be transferred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectsWithIntegrationResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/auth":{"get":{"summary":"Retrieve request authentication details","description":"Returns authentication details for the credentials used in the request,\nincluding the credential type (API key, Bearer token, or OAuth session)\nand the associated identity.\n","tags":["Users"],"operationId":"getAuthDetails","responses":{"200":{"description":"Returned auth information about the current auth entity\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthDetailsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/snapshot":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create snapshot","description":"Creates a snapshot from the specified branch.\nThis operation may initiate an asynchronous process.\n","tags":["Snapshot"],"operationId":"createSnapshot","parameters":[{"name":"lsn","in":"query","description":"The target Log Sequence Number (LSN) to take the snapshot from.\nMust fall within the restore window. Cannot be used with `timestamp`\n","required":false,"schema":{"type":"string"}},{"name":"timestamp","in":"query","description":"The target timestamp for the snapshot. Must fall within the restore window. RFC 3339 format. Cannot be used with `lsn`.\n","required":false,"schema":{"type":"string","example":"2025-08-05T22:00:00Z"}},{"name":"name","in":"query","description":"A name for the snapshot.","required":false,"schema":{"type":"string"}},{"name":"expires_at","in":"query","description":"The time at which the snapshot will be automatically deleted. RFC 3339 format.\n","required":false,"schema":{"type":"string","example":"2025-08-05T22:00:00Z"}}],"responses":{"200":{"description":"Successfully created the snapshot","content":{"application/json":{"schema":{"required":["snapshot","operations"],"type":"object","properties":{"snapshot":{"$ref":"#/components/schemas/Snapshot"},"operations":{"type":"array","items":{"$ref":"#/components/schemas/Operation"}}}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/snapshots":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List project snapshots","description":"Lists the snapshots for the specified project.\nEach snapshot represents a point-in-time backup of the project data.\n","tags":["Snapshot"],"operationId":"listSnapshots","responses":{"200":{"description":"Projects snapshots","content":{"application/json":{"schema":{"required":["snapshots"],"type":"object","properties":{"snapshots":{"type":"array","items":{"$ref":"#/components/schemas/Snapshot"}}}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/snapshots/{snapshot_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"snapshot_id","in":"path","description":"The snapshot ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"delete":{"summary":"Delete snapshot","description":"Deletes the specified snapshot.\n","tags":["Snapshot"],"operationId":"deleteSnapshot","responses":{"202":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update snapshot","description":"Updates the specified snapshot.\n","tags":["Snapshot"],"operationId":"updateSnapshot","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotUpdateRequest"}}}},"responses":{"200":{"description":"Successfully updated the snapshot","content":{"application/json":{"schema":{"required":["snapshot"],"type":"object","properties":{"snapshot":{"$ref":"#/components/schemas/Snapshot"}}}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/snapshots/{snapshot_id}/restore":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"snapshot_id","in":"path","description":"The snapshot ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"x-stability-level":"beta","summary":"Restore snapshot","description":"Restores the specified snapshot to a new branch,\nand optionally finalizes the restore operation to replace the original branch.\n","parameters":[{"name":"name","in":"query","description":"Deprecated. Use the `name` field in the request body instead. Removal scheduled for November 29, 2025.\nA name for the newly restored branch. If omitted, a default name will be generated.\n","required":false,"deprecated":true,"x-sunset":"2025-11-29","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"A name for the newly restored branch. If not provided, the server generates a unique name for the branch automatically.\n","type":"string"},"target_branch_id":{"description":"ID of the branch to restore the snapshot into. Defaults to the snapshot's source branch (`snapshot.source_branch_id`); fails if that cannot be determined.\n","type":"string"},"finalize_restore":{"description":"Set to `true` to finalize the restore operation immediately.\nThis will complete the restore and move any associated computes to the new branch,\nsimilar to the `finalizeRestoreBranch` operation.\nDefaults to `false` to allow previewing the restored snapshot data first.\n","type":"boolean","default":false}}}}}},"tags":["Snapshot"],"operationId":"restoreSnapshot","responses":{"200":{"$ref":"#/components/responses/RestoredSnapshot"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/backup_schedule":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Retrieve backup schedule","description":"Returns the backup schedule for the specified branch, including the configured snapshot frequencies.\n","tags":["Snapshot"],"operationId":"getSnapshotSchedule","responses":{"200":{"$ref":"#/components/responses/SnapshotSchedule"},"default":{"$ref":"#/components/responses/GeneralError"}}},"put":{"summary":"Update backup schedule","description":"Updates the backup schedule for the specified branch.\nThe schedule defines how often automatic snapshots are created (for example, `daily` or `weekly`). Requires a paid plan.\n","tags":["Snapshot"],"operationId":"setSnapshotSchedule","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupSchedule"}}}},"responses":{"200":{"$ref":"#/components/responses/EmptyResponse"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Create a bucket on the branch","description":"Creates a new branchable object storage bucket on the specified branch.\nBuckets are managed by the Neon Platform branchable object storage service.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"createProjectBranchBucket","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BucketCreateRequest"}}}},"responses":{"201":{"description":"Bucket created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BucketResponse"}}}},"410":{"description":"The project has been deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"get":{"summary":"List buckets on the branch","description":"Lists branchable object storage buckets visible on the specified branch,\nincluding those inherited from ancestor branches.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"listProjectBranchBuckets","responses":{"200":{"description":"The list of buckets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BucketsListResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"bucket_name","in":"path","description":"The bucket name","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}}],"delete":{"summary":"Delete a bucket on the branch","description":"Deletes the named bucket from the specified branch.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"deleteProjectBranchBucket","responses":{"204":{"description":"Bucket deleted"},"404":{"description":"Bucket not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/storage":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Get branch object storage state","description":"Returns whether branchable object storage is usable for the specified\nbranch. A 200 response means the branch is registered in the object storage\nservice and the S3 data plane will accept requests for it. A 404\nresponse includes a `reason` field indicating why object storage is unavailable.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Storage"],"x-stability-level":"beta","operationId":"getProjectBranchStorage","responses":{"200":{"description":"Object storage is enabled for this branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchStorage"}}}},"404":{"description":"Object storage is not enabled for this branch, or the project/branch was not\nfound. The body is always `BranchStorageNotEnabled` — see `reason` for\nthe exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchStorageNotEnabled"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/ai_gateway":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"Get branch AI Gateway endpoint","description":"Returns the AI Gateway endpoint host for the specified branch, used to\nrender code-snippet base URLs. A 200 response means the branch is\nregistered and this region serves the AI gateway. A 404 response\nincludes a `reason` field indicating why the gateway is unavailable.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["AI Gateway"],"x-stability-level":"beta","operationId":"getProjectBranchAiGateway","responses":{"200":{"description":"AI Gateway is enabled for this branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchAiGateway"}}}},"404":{"description":"AI Gateway is not available for this branch, or the project/branch\nwas not found. The body is always `BranchAiGatewayNotEnabled` — see\n`reason` for the exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BranchAiGatewayNotEnabled"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/logs/query":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Query branch logs","description":"Returns logs emitted by services running on the specified branch,\nordered by timestamp according to `sort_order`.\n\nAll supplied filters are combined with `AND`: a record is returned only\nwhen it matches every filter. `minimum_severity` and `severity_text` are\nindependent filters, so setting both requires a record to clear the\nseverity floor *and* match the exact severity text.\n\nSupply `logql` instead of the structured filters to run a raw LogQL\nexpression. Combining it with any structured filter is rejected rather\nthan silently ignored; `limit`, `sort_order`, and the time window still\napply, because those bound the query rather than form part of the\nexpression.\n\nGive the window either as `since` — a duration ending at `end_time`, or\nat the current time when `end_time` is omitted — or as an explicit\n`start_time`. Supplying both is rejected.\n\nA single response holds at most 1,000 records. When `is_truncated` is\n`true`, pass the returned `next_cursor` back as `cursor` to fetch the\nnext page, repeating the time range and every filter unchanged.\n\nIf no time range is supplied, the query covers the previous hour. The\nmaximum supported time range is seven days. `end_time` is exclusive.\n\n**Note**: This endpoint is currently in Private Beta.\n","tags":["Logs"],"x-stability-level":"beta","operationId":"queryProjectBranchLogs","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsQueryRequest"}}}},"responses":{"200":{"description":"Logs matching the supplied filters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsQueryResponse"}}}},"400":{"description":"The query could not be served as written. The body is always\n`ProjectBranchLogsInvalidQuery` — see `reason` for the exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsInvalidQuery"}}}},"404":{"description":"Logs are not available for this branch, or the project/branch was\nnot found. The body is always `ProjectBranchLogsNotAvailable` — see\n`reason` for the exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsNotAvailable"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/logs/fields":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List branch log fields","description":"Lists the low-cardinality log fields observed on this branch whose\ndistinct values can be discovered with the log field-values endpoint.\n\nThe set is computed per branch and grows as new fields are observed, so\ntreat it as data rather than a fixed list: discover a field here, then\npass it as `field_name` to the field-values endpoint.\n\n**Note**: This endpoint is currently in Private Beta.\n","tags":["Logs"],"x-stability-level":"beta","operationId":"listProjectBranchLogFields","responses":{"200":{"description":"Log fields available for value discovery on this branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogFieldsResponse"}}}},"404":{"description":"Logs are not available for this branch, or the project/branch was\nnot found. The body is always `ProjectBranchLogsNotAvailable` — see\n`reason` for the exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsNotAvailable"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/logs/fields/{field_name}/values":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"field_name","in":"path","description":"The log field whose distinct values should be returned. Must be one of\nthe names returned by the log fields endpoint for this branch.\n","required":true,"schema":{"type":"string","minLength":1}}],"get":{"summary":"List branch log field values","description":"Lists the distinct values observed for a low-cardinality log field in\nthe requested time range. Call the log fields endpoint first to learn\nwhich `field_name` values this branch supports; a field that branch has\nnever emitted is rejected with `unknown_field`.\n\nGive the window either as `since` or as an explicit `start_time`;\nsupplying both is rejected. If neither is given, the previous six hours\nare used. The maximum supported time range is seven days.\n\n**Note**: This endpoint is currently in Private Beta.\n","tags":["Logs"],"x-stability-level":"beta","operationId":"listProjectBranchLogFieldValues","parameters":[{"name":"since","description":"Length of the lookup window, ending at `end_time` or at the current\ntime when `end_time` is omitted. Mutually exclusive with\n`start_time`. Defaults to six hours.\n","in":"query","schema":{"$ref":"#/components/schemas/ProjectBranchLogDuration"}},{"name":"start_time","description":"Inclusive beginning of the lookup window. Mutually exclusive with\n`since`.\n","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"end_time","description":"Exclusive end of the lookup window. Defaults to the current time.","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"source","description":"Only consider records emitted by this Neon service.","in":"query","schema":{"$ref":"#/components/schemas/ProjectBranchLogSource"}},{"name":"limit","description":"Maximum number of distinct values to return. The response sets\n`is_truncated` when this bound, or the server's own scan cap, cut the\nlist short.\n","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}}],"responses":{"200":{"description":"Distinct values for the requested log field","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogFieldValuesResponse"}}}},"400":{"description":"The lookup could not be served as written. The body is always\n`ProjectBranchLogsInvalidQuery` — see `reason` for the exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsInvalidQuery"}}}},"404":{"description":"Logs are not available for this branch, or the project/branch was\nnot found. The body is always `ProjectBranchLogsNotAvailable` — see\n`reason` for the exact cause.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBranchLogsNotAvailable"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"bucket_name","in":"path","description":"The bucket name","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}}],"get":{"summary":"List objects in a bucket","description":"Lists objects visible in the named bucket on the specified branch,\nincluding those inherited from ancestor branches. Listing is served by\nthe user's session (no customer S3 credentials required).\n\nWhen `delimiter` is supplied (typically `/`), keys are collapsed into\ncommon prefixes (`folders`) so callers can render a folder-style\nbrowser; keys that do not contain the delimiter after `prefix` are\nreturned as `objects`.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"listProjectBranchBucketObjects","parameters":[{"name":"prefix","in":"query","description":"Only list objects whose key starts with this prefix.","required":false,"schema":{"type":"string"}},{"name":"delimiter","in":"query","description":"Collapse keys sharing a common prefix up to the first occurrence of\nthis delimiter (typically `/`) into the `folders` array.\n","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","description":"Opaque pagination cursor returned as `next_cursor` by a previous\ncall. Resume listing after the last item of the previous page.\n","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of items (objects + folders) to return.","required":false,"schema":{"type":"integer","format":"int32","minimum":1,"maximum":1000,"default":1000}}],"responses":{"200":{"description":"The list of objects and folders","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BucketObjectsListResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"bucket_name","in":"path","description":"The bucket name","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}},{"name":"object_key","in":"path","description":"The object key. Keys may contain `/`; the `/` characters of nested\nkeys must be percent-encoded (`%2F`) in the path segment.\n","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024}}],"delete":{"summary":"Delete an object in a bucket","description":"Deletes the named object from the bucket on the specified branch.\nServed by the user's session (no customer S3 credentials required).\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"deleteProjectBranchBucketObject","responses":{"204":{"description":"Object deleted"},"404":{"description":"Object not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}/download":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"bucket_name","in":"path","description":"The bucket name","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}},{"name":"object_key","in":"path","description":"The object key. Keys may contain `/`; the `/` characters of nested\nkeys must be percent-encoded (`%2F`) in the path segment.\n","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024}}],"get":{"summary":"Download an object's bytes","description":"Streams the raw bytes of the named object from the bucket on the\nspecified branch, including objects inherited from ancestor branches.\nServed by the user's session (no customer S3 credentials required).\n\nThe body is returned as `application/octet-stream` so a browser treats\nit as a download; the `Content-Length` and `ETag` response headers echo\nthe stored object metadata.\n\nBINARY-STREAM EXCEPTION TO THE BUILD-GENERATED-TYPES RULE (#7029): the\nsuccessful 200 body is the raw object stream, proxied verbatim from the\nplatform object storage admin endpoint. It is modeled as an\n`application/octet-stream` binary body (not a JSON response schema) and\nis streamed without buffering the whole object in memory. Error\nresponses still use the generated `GeneralError` shape.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"getProjectBranchBucketObject","responses":{"200":{"description":"The object's raw bytes, streamed verbatim. `Content-Length` and\n`ETag` headers are set from the stored object metadata;\n`X-Content-Type-Options` and `Content-Disposition` harden the\nbrowser against the caller-controlled bytes.\n","headers":{"Content-Length":{"description":"The object size in bytes.","schema":{"type":"integer","format":"int64"}},"ETag":{"description":"The object's entity tag (content hash).","schema":{"type":"string"}},"X-Content-Type-Options":{"description":"Always `nosniff`. Stops the browser from MIME-sniffing the\ncaller-controlled bytes into an executable type.\n","schema":{"type":"string"}},"Content-Disposition":{"description":"Always `attachment`. Forces a download rather than inline\nrendering, neutralizing stored-XSS via the object body.\n","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects-by-prefix":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"bucket_name","in":"path","description":"The bucket name","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}}],"delete":{"summary":"Delete every object under a key prefix (folder) in a bucket","description":"Soft-deletes every object on the specified branch whose key starts with\n`prefix`, in a single call. Intended to back a \"delete folder\" action in\nan object browser: a `prefix` of `app/avatars/` removes every object\nbeneath that folder. Served by the user's session (no customer S3\ncredentials required).\n\n`prefix` must be non-empty, end with `/`, be at most 1024 bytes, and\ncontain no control characters - a partial-segment prefix cannot\naccidentally delete sibling keys. Returns the number of objects\nsoft-deleted (`deleted`), which may be 0 when no live object matched the\nprefix on this branch.\n\nOnly objects physically present on this branch are tombstoned; objects\ninherited from an ancestor branch via copy-on-write (not materialized on\nthis branch) are out of scope.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"deleteProjectBranchBucketObjectsByPrefix","parameters":[{"name":"prefix","in":"query","description":"The key prefix (folder) to delete. Must be non-empty and end with\n`/`. Every object on this branch whose key starts with this prefix\nis soft-deleted.\n","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024}}],"responses":{"200":{"description":"The prefix was soft-deleted. `deleted` is the number of objects\ntombstoned (may be 0 when nothing live matched on this branch).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BucketObjectsDeletePrefixResponse"}}}},"404":{"description":"Bucket not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}/presign":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"bucket_name","in":"path","description":"The bucket name","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}},{"name":"object_key","in":"path","description":"The object key. Keys may contain `/`; the `/` characters of nested\nkeys must be percent-encoded (`%2F`) in the path segment.\n","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024}}],"post":{"summary":"Presign an upload or download for an object in a bucket","description":"Returns a presigned URL that transfers bytes directly to or from the\nobject's bucket on the specified branch, without the caller ever\nhandling S3 credentials. The `operation` field selects the direction:\n\n- `upload` returns a presigned `PUT` URL (the caller `PUT`s the file\n  bytes straight to `url` with the returned `headers`). Authorized with\n  project write access.\n- `download` returns a presigned `GET` URL (the caller `GET`s the\n  bytes straight from `url`). Authorized with project read access.\n\nThe platform mints a short-lived credential and builds the SigV4-signed\nURL against the branch's S3 data-plane host, returning it together with\nthe HTTP method, any headers the caller must echo, and the URL's expiry.\n\nServed by the user's session (no customer S3 credentials required).\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Buckets"],"x-stability-level":"beta","operationId":"presignProjectBranchBucketObject","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignRequest"}}}},"responses":{"200":{"description":"A presigned URL valid until `expires_at`. The caller transfers the\nobject bytes by issuing `method url` with the returned `headers`.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignResponse"}}}},"404":{"description":"Bucket or branch not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/credentials":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"post":{"summary":"Issue a scoped credential on the branch","description":"Issues a new scoped service credential anchored to the specified\nbranch. The response carries `api_token` and `s3_secret_access_key`\nexactly once — they are not stored server-side.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Credentials"],"x-stability-level":"beta","operationId":"createCredential","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCredentialRequest"}}}},"responses":{"201":{"description":"Credential issued — secrets shown once.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCredentialResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"get":{"summary":"List credentials on the branch","description":"Returns metadata for customer-issued credentials on the branch.\nSecrets are never included.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Credentials"],"x-stability-level":"beta","operationId":"listCredentials","responses":{"200":{"description":"The list of credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCredentialsResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/credentials/{token_id}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"token_id","in":"path","description":"The opaque credential id (e.g. nak_live_\u003c32hex>).","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Revoke a credential","description":"Soft-deletes the credential.  Idempotent.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Credentials"],"x-stability-level":"beta","operationId":"revokeCredential","responses":{"204":{"description":"Credential revoked"},"404":{"description":"Credential not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/functions":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}],"get":{"summary":"List functions on the branch","description":"Lists functions on the specified branch.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Functions"],"x-stability-level":"beta","operationId":"listProjectBranchFunctions","parameters":[{"$ref":"#/components/parameters/CursorParam"},{"name":"limit","description":"Specify a value from 1 to 1000 to limit number of functions in the response","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000}}],"responses":{"200":{"description":"The list of functions","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/NeonFunctionsListResponse"},{"$ref":"#/components/schemas/CursorPaginationResponse"}]}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/functions/{slug}":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"slug","in":"path","description":"The function slug","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{1,20}$"}}],"get":{"summary":"Get function details","description":"Returns the function identified by its slug.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Functions"],"x-stability-level":"beta","operationId":"getProjectBranchFunction","responses":{"200":{"description":"The function details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonFunctionResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"patch":{"summary":"Update a function","description":"Updates the function's mutable metadata — currently only the display\n`name`. A string sets the display name; `null` clears it, after which\nthe function's `name` falls back to its slug. Leading and trailing\nwhitespace is trimmed; a whitespace-only name is rejected. Acts only\non a function owned by the branch: a slug that is only inherited from\nan ancestor branch returns 404 — rename it on the branch that owns\nit. Like every other change on a branch, a rename is isolated per\nbranch: a branch forked before the rename keeps the name it had at\nfork time.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Functions"],"x-stability-level":"beta","operationId":"updateProjectBranchFunction","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonFunctionUpdateRequest"}}}},"responses":{"200":{"description":"The updated function","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonFunctionResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}},"delete":{"summary":"Delete a function on the branch","description":"Deletes the function identified by its slug.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Functions"],"x-stability-level":"beta","operationId":"deleteProjectBranchFunction","responses":{"204":{"description":"Function deleted"},"default":{"$ref":"#/components/responses/GeneralError"}}}},"/projects/{project_id}/branches/{branch_id}/functions/{slug}/deployments":{"parameters":[{"name":"project_id","in":"path","description":"The Neon project ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"branch_id","in":"path","description":"The Neon branch ID","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}},{"name":"slug","in":"path","description":"The function slug","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{1,20}$"}}],"post":{"summary":"Deploy code to a function","description":"Creates a deployment for the function. Supply any subset of zip,\nenvironment, and runtime; omitted fields inherit the\nfunction's latest version. At least one field must be supplied. The\nfirst deployment of a function must include zip. The newest deployment\nbecomes active.\n\n**Note**: This endpoint is currently in Beta.\n","tags":["Functions"],"x-stability-level":"beta","operationId":"createProjectBranchFunctionDeployment","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/FunctionDeployRequest"}}}},"responses":{"201":{"description":"The created deployment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NeonFunctionDeploymentResponse"}}}},"default":{"$ref":"#/components/responses/GeneralError"}}}}},"components":{"responses":{"EmptyResponse":{"description":"Empty response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"ListOperations":{"description":"Returned a list of operations\n","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/OperationsResponse"},{"$ref":"#/components/schemas/PaginationResponse"}]}}}},"CreatedProject":{"description":"Created a project.\nThe project includes a connection URI with a database, password, and role.\nAt least one non-protected role is created with a password.\nWait until the operations are finished before attempting to connect to a project database.\n","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ProjectResponse"},{"$ref":"#/components/schemas/ConnectionURIsResponse"},{"$ref":"#/components/schemas/RolesResponse"},{"$ref":"#/components/schemas/DatabasesResponse"},{"$ref":"#/components/schemas/OperationsResponse"},{"$ref":"#/components/schemas/BranchResponse"},{"$ref":"#/components/schemas/EndpointsResponse"}]}}}},"CreatedBranch":{"description":"Created a branch. An endpoint is only created if it was specified in the request.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/BranchResponse"},{"$ref":"#/components/schemas/EndpointsResponse"},{"$ref":"#/components/schemas/OperationsResponse"},{"$ref":"#/components/schemas/RolesResponse"},{"$ref":"#/components/schemas/DatabasesResponse"},{"$ref":"#/components/schemas/ConnectionURIsOptionalResponse"}]}}}},"RestoredSnapshot":{"description":"Branch restored from snapshot and its operations.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/BranchResponse"},{"$ref":"#/components/schemas/EndpointsOptionalResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]}}}},"SnapshotSchedule":{"description":"Schedule of frequencies to create snapshots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupSchedule"}}}},"GeneralError":{"description":"General Error.\n\nThe request may or may not be safe to retry, depending on the HTTP method, response status code,\nand whether a response was received.\n\n- If no response is returned from the API, a network error or timeout likely occurred.\n- In some cases, the request may have reached the server and been successfully processed, but the response failed to reach the client. As a result, retrying non-idempotent requests can lead to unintended results.\n\nThe following HTTP methods are considered non-idempotent: `POST`, `PATCH`, `DELETE`, and `PUT`. Retrying these methods is generally **not safe**.\nThe following methods are considered idempotent: `GET`, `HEAD`, and `OPTIONS`. Retrying these methods is **safe** in the event of a network error or timeout.\n\nAny request that returns a `503 Service Unavailable` response is always safe to retry.\n\nAny request that returns a `423 Locked` response is safe to retry. `423 Locked` indicates that the resource is temporarily locked, for example, due to another operation in progress.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"The Neon API requires an API key to authorize your requests, which you can enter below.\nRefer to our documentation to find out how to generate and use [API keys](https://neon.com/docs/manage/api-keys).\n"},"CookieAuth":{"type":"apiKey","in":"cookie","name":"zenith"},"TokenCookieAuth":{"type":"apiKey","in":"cookie","name":"keycloak_token"}},"schemas":{"ComputeUnit":{"type":"number","minimum":0.25},"Provisioner":{"type":"string","description":"","example":"k8s-neonvm"},"PaginationResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Pagination":{"description":"Cursor-based pagination. The `cursor` value reflects the endpoint's sort field (for example, an ID or timestamp), so pass it back unchanged.","type":"object","required":["cursor"],"properties":{"cursor":{"type":"string","minLength":1,"description":"Cursor marking the last item in this response. Pass it unchanged as the `cursor` query parameter to fetch the next page."}},"example":{"cursor":"2022-12-07T00:45:05.262011Z"}},"EmptyResponse":{"type":"object","description":"Empty response.","properties":{}},"PlanDetails":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Plan name, for example `free`, `launch`, or `scale`."},"version":{"$ref":"#/components/schemas/PlanVersion","description":"Version of the plan, expressed as `major` and `minor` components."}}},"PlanVersion":{"type":"object","required":["major","minor"],"properties":{"major":{"type":"integer"},"minor":{"type":"integer"}}},"AddProjectJWKSRequest":{"description":"Add a new JWKS to a specific endpoint of a project","type":"object","required":["jwks_url","provider_name"],"properties":{"jwks_url":{"description":"URL of the provider's JWKS endpoint used to verify JWTs.","type":"string"},"provider_name":{"description":"The name of the authentication provider (e.g., Clerk, Stytch, Auth0)","type":"string"},"branch_id":{"description":"The Neon branch ID. Returned as `id` from `GET /projects/{project_id}/branches`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"jwt_audience":{"description":"Expected `aud` claim in incoming JWTs. When set, tokens with a different audience are rejected; tokens with no audience are still accepted. Omit to skip audience validation.","type":"string"},"role_names":{"type":"array","description":"Deprecated. The roles the JWKS should be mapped to. By default, the JWKS is mapped to the `authenticator`, `authenticated`, and `anonymous` roles.","deprecated":true,"minItems":0,"maxItems":10,"items":{"type":"string"}},"skip_role_creation":{"type":"boolean","description":"Deprecated. Only used with Neon RLS. If true, role creation is skipped.","default":false}}},"JWKS":{"type":"object","required":["id","project_id","jwks_url","provider_name","created_at","updated_at"],"properties":{"id":{"description":"The JWKS configuration's ID.","type":"string"},"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"branch_id":{"description":"The Neon branch ID. Returned as `id` from `GET /projects/{project_id}/branches`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"jwks_url":{"description":"URL of the provider's JWKS endpoint used to verify JWTs.","type":"string"},"provider_name":{"description":"The name of the authentication provider (e.g., Clerk, Stytch, Auth0)","type":"string"},"created_at":{"description":"The date and time when the JWKS was created","type":"string","format":"date-time"},"updated_at":{"description":"The date and time when the JWKS was last modified","type":"string","format":"date-time"},"jwt_audience":{"description":"Expected JWT `aud` claim value configured for this JWKS.","type":"string"},"role_names":{"type":"array","items":{"type":"string"},"description":"Database role names that are permitted to authenticate using this JWKS configuration."}}},"ProjectJWKSResponse":{"description":"The list of configured JWKS definitions for a project","type":"object","required":["jwks"],"properties":{"jwks":{"type":"array","items":{"$ref":"#/components/schemas/JWKS"},"description":"JWKS configurations associated with the project."}}},"AdvisorCategory":{"type":"string","description":"Category of an advisor issue","enum":["SECURITY","PERFORMANCE"]},"AdvisorIssue":{"type":"object","required":["name","title","level","facing","categories","description","detail","remediation","metadata","cache_key"],"properties":{"name":{"type":"string","description":"Unique identifier for the issue type","example":"rls_disabled_in_public"},"title":{"type":"string","description":"Human-readable title","example":"RLS Disabled in Public"},"level":{"type":"string","description":"Severity level of the issue","example":"ERROR"},"facing":{"type":"string","description":"Whether this issue affects external API exposure or is internal only","enum":["EXTERNAL","INTERNAL"],"example":"EXTERNAL"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/AdvisorCategory"},"description":"Categories this issue belongs to","example":["SECURITY"]},"description":{"type":"string","description":"Detailed description of what this check detects"},"detail":{"type":"string","description":"Specific details about this instance of the issue","example":"Table `public.users` is public, but RLS has not been enabled."},"remediation":{"type":"string","description":"URL to documentation on how to fix this issue","example":"https://neon.com/docs/data-api/database-advisor"},"metadata":{"type":"object","description":"Additional context-specific metadata","additionalProperties":true},"cache_key":{"type":"string","description":"Unique key for caching this issue result"}}},"ApiKeyCreateRequest":{"type":"object","required":["key_name"],"properties":{"key_name":{"type":"string","description":"A user-specified API key name. This value is required when creating an API key.","maxLength":64}}},"OrgApiKeyCreateRequest":{"allOf":[{"$ref":"#/components/schemas/ApiKeyCreateRequest"},{"type":"object","properties":{"project_id":{"description":"If set, the API key can access only this project","type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}]},"ApiKeyCreateResponse":{"type":"object","required":["key","id","name","created_at","created_by"],"x-sensitive":["key","name"],"properties":{"id":{"description":"The API key's unique numeric ID. Distinct from the API key token (`key`).","type":"integer","format":"int64"},"key":{"description":"The generated 64-bit token required to access the Neon API","type":"string"},"name":{"description":"The user-specified API key name","type":"string"},"created_at":{"description":"A timestamp indicating when the API key was created","type":"string","format":"date-time"},"created_by":{"description":"ID of the user who created this API key","type":"string","format":"uuid"}}},"OrgApiKeyCreateResponse":{"allOf":[{"$ref":"#/components/schemas/ApiKeyCreateResponse"},{"type":"object","properties":{"project_id":{"description":"If set, the API key can access only this project","type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}]},"ApiKeyRevokeResponse":{"type":"object","required":["id","name","created_at","created_by","last_used_from_addr","revoked"],"properties":{"id":{"description":"The API key's unique numeric ID. Distinct from the API key token (`key`).","type":"integer","format":"int64"},"name":{"description":"The user-specified API key name","type":"string"},"created_at":{"description":"A timestamp indicating when the API key was created","type":"string","format":"date-time"},"created_by":{"description":"ID of the user who created this API key","type":"string","format":"uuid"},"last_used_at":{"description":"A timestamp indicating when the API was last used","type":"string","format":"date-time","nullable":true},"last_used_from_addr":{"description":"The IP address from which the API key was last used","type":"string"},"revoked":{"description":"A `true` or `false` value indicating whether the API key is revoked","type":"boolean"}}},"OrgApiKeyRevokeResponse":{"allOf":[{"$ref":"#/components/schemas/ApiKeyRevokeResponse"},{"type":"object","properties":{"project_id":{"description":"If set, the API key can access only this project","type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}]},"ApiKeysListResponseItem":{"type":"object","required":["id","name","created_at","created_by","last_used_from_addr"],"properties":{"id":{"description":"The API key's unique numeric ID. Distinct from the API key token (`key`).","type":"integer","format":"int64"},"name":{"description":"The user-specified API key name","type":"string"},"created_at":{"description":"A timestamp indicating when the API key was created","type":"string","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ApiKeyCreatorData"},"last_used_at":{"description":"A timestamp indicating when the API was last used","type":"string","format":"date-time","nullable":true},"last_used_from_addr":{"description":"The IP address from which the API key was last used","type":"string"}}},"OrgApiKeysListResponseItem":{"allOf":[{"$ref":"#/components/schemas/ApiKeysListResponseItem"},{"type":"object","properties":{"project_id":{"description":"If set, the API key can access only this project","type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}]},"ApiKeyCreatorData":{"description":"The user data of the user that created this API key.","type":"object","required":["id","name","image"],"properties":{"id":{"type":"string","format":"uuid","description":"ID of the user who created this API key"},"name":{"type":"string","description":"Display name of the user who created the API key."},"image":{"type":"string","description":"The URL to the user's avatar image."}}},"Operation":{"type":"object","description":"An asynchronous action Neon performs on your resources (for example, starting a compute or creating a branch). Fields such as `action`, `status`, and `total_duration_ms` describe the operation and its progress.","required":["id","project_id","action","status","failures_count","created_at","updated_at","total_duration_ms"],"properties":{"id":{"description":"The operation ID","type":"string","format":"uuid"},"project_id":{"description":"The ID of the project this operation ran on.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"branch_id":{"description":"The ID of the branch this operation ran on.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"endpoint_id":{"description":"The ID of the compute endpoint this operation ran on.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"action":{"$ref":"#/components/schemas/OperationAction"},"status":{"$ref":"#/components/schemas/OperationStatus","description":"Current lifecycle state of the operation. On `failed`, see `failures_count` and `retry_at` for retry detail."},"error":{"description":"Human-readable message describing why the operation failed.","type":"string"},"failures_count":{"description":"The number of times the operation failed","type":"integer","format":"int32"},"retry_at":{"description":"A timestamp indicating when the operation was last retried","type":"string","format":"date-time"},"created_at":{"description":"A timestamp indicating when the operation was created","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the operation status was last updated","type":"string","format":"date-time"},"total_duration_ms":{"description":"The total duration of the operation in milliseconds","type":"integer","format":"int32"}},"example":{"id":"d8ac46eb-a757-42b1-9907-f78322ee394e","project_id":"spring-example-302709","branch_id":"br-wispy-meadow-118737","endpoint_id":"ep-silent-smoke-806639","action":"start_compute","status":"finished","failures_count":0,"created_at":"2022-11-15T20:02:00Z","updated_at":"2022-11-15T20:02:02Z","total_duration_ms":200}},"OperationResponse":{"type":"object","required":["operation"],"properties":{"operation":{"$ref":"#/components/schemas/Operation"}}},"OperationsResponse":{"type":"object","required":["operations"],"properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/Operation"}}}},"OperationAction":{"description":"The action performed by the operation","type":"string","enum":["create_compute","create_timeline","start_compute","suspend_compute","apply_config","check_availability","delete_timeline","create_branch","import_data","tenant_ignore","tenant_attach","tenant_detach","tenant_detach_safekeepers","tenant_attach_safekeepers","tenant_reattach","replace_safekeeper","disable_maintenance","apply_storage_config","prepare_secondary_pageserver","switch_pageserver","detach_parent_branch","timeline_archive","timeline_unarchive","start_reserved_compute","sync_dbs_and_roles_from_compute","apply_schema_from_branch","timeline_mark_invisible","timeline_update_protected_config","prewarm_replica","promote_replica","set_storage_non_dirty","swap_binding_id","finalize_migration","mark_migration_prepared","update_catalog","epc_sync"]},"OperationStatus":{"description":"Lifecycle state of the operation. `scheduling`: queued, not yet started. `running`: actively executing. `finished`: completed successfully. `failed`: ended with a failure. `error`: ended with a terminal error. `cancelling`: cancellation requested but not yet complete. `cancelled`: stopped before completion. `skipped`: bypassed without executing.","type":"string","enum":["scheduling","running","finished","failed","error","cancelling","cancelled","skipped"]},"ProjectListItem":{"description":"Essential data about the project. Full data is available at `GET /projects/{project_id}`.\n","type":"object","required":["active_time","id","platform_id","region_id","name","pg_version","proxy_host","branch_logical_size_limit","branch_logical_size_limit_bytes","provisioner","store_passwords","cpu_used_sec","creation_source","created_at","updated_at","owner_id"],"properties":{"id":{"description":"The Neon project ID. Use as the `project_id` path parameter in other endpoints.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"platform_id":{"description":"The cloud platform identifier. Currently, only AWS is supported, for which the identifier is `aws`.\n","type":"string"},"region_id":{"description":"Cloud region where the project's Postgres compute and storage reside (for example, `aws-us-east-2`). Valid values are returned by `GET /regions`.\n","type":"string","example":"aws-us-east-2"},"name":{"description":"The project name\n","type":"string"},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"default_endpoint_settings":{"$ref":"#/components/schemas/DefaultEndpointSettings"},"settings":{"$ref":"#/components/schemas/ProjectSettingsData","description":"Project-level settings, for example `quota`, `allowed_ips`, `enable_logical_replication`, and `maintenance_window`."},"pg_version":{"$ref":"#/components/schemas/PgVersion"},"proxy_host":{"description":"The proxy host for the project. This value combines the `region_id`, the `platform_id`, and the Neon domain (`neon.tech`).\n","type":"string"},"branch_logical_size_limit":{"description":"The logical size limit for a branch. The value is in MiB.\n","type":"integer","format":"int64"},"branch_logical_size_limit_bytes":{"description":"The logical size limit for a branch. The value is in B.\n","type":"integer","format":"int64"},"store_passwords":{"description":"Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n","type":"boolean"},"active_time":{"description":"Control plane observed endpoints of this project being active this amount of wall-clock time.\n","type":"integer","format":"int64","minimum":0},"cpu_used_sec":{"deprecated":true,"description":"Deprecated. Use `compute_time_seconds` from `GET /projects/{project_id}` instead.\n","type":"integer","format":"int64"},"maintenance_starts_at":{"description":"A timestamp indicating when project maintenance begins. If set, the project is placed into maintenance mode at this time.\n","type":"string","format":"date-time"},"creation_source":{"description":"The project creation source\n","type":"string"},"created_at":{"description":"A timestamp indicating when the project was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the project was last updated\n","type":"string","format":"date-time"},"synthetic_storage_size":{"description":"The current space occupied by the project in Postgres storage, in bytes. Synthetic Postgres storage size combines the logical data size and Write-Ahead Log (WAL) size for all branches in a project.\n","type":"integer","format":"int64"},"quota_reset_at":{"deprecated":true,"description":"Deprecated. Use `consumption_period_end` from `GET /projects/{project_id}` instead. A timestamp indicating when the project quota resets.\n","type":"string","format":"date-time"},"owner_id":{"type":"string","description":"ID of the organization that owns the project."},"compute_last_active_at":{"description":"The most recent time when any endpoint of this project was active.\n\nOmitted when observed no activity for endpoints of this project.\n","type":"string","format":"date-time"},"org_id":{"description":"ID of the organization that owns the project. Project permissions are granted to organization members as configured by the organization's admins, independent of which member created the project.\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"org_name":{"type":"string","description":"Name of the organization that owns the project.\n"},"history_retention_seconds":{"description":"The number of seconds to retain the shared history for all branches in this project.\n","type":"integer","format":"int32"},"hipaa_enabled_at":{"description":"A timestamp indicating when HIPAA was enabled for this project","type":"string","format":"date-time"},"deleted_at":{"description":"A timestamp indicating when the project was deleted","type":"string","format":"date-time"},"recoverable_until":{"description":"A timestamp indicating the project will be recoverable until this date and time.","type":"string","format":"date-time"},"effective_project_permission":{"type":"string","allOf":[{"$ref":"#/components/schemas/ProjectPermissionLevel"}],"nullable":true}},"example":{"active_time":750111,"branch_logical_size_limit":10,"branch_logical_size_limit_bytes":10485760,"cpu_used_sec":523011,"id":"spring-example-302709","owner_id":"629982cc-de05-43db-ae16-28f2399c4910","platform_id":"aws","region_id":"aws-us-east-2","name":"spring-example-302709","provisioner":"k8s-pod","pg_version":15,"proxy_host":"us-east-2.aws.neon.tech","store_passwords":true,"creation_source":"console","created_at":"2022-12-13T01:30:55Z","updated_at":"2022-12-13T01:30:55Z"}},"Project":{"type":"object","required":["consumption_period_end","consumption_period_start","active_time_seconds","compute_time_seconds","written_data_bytes","data_transfer_bytes","data_storage_bytes_hour","id","platform_id","region_id","name","pg_version","proxy_host","branch_logical_size_limit","branch_logical_size_limit_bytes","store_passwords","cpu_used_sec","provisioner","creation_source","history_retention_seconds","created_at","updated_at","owner_id"],"properties":{"data_storage_bytes_hour":{"description":"Bytes-Hour. Project consumed that much Postgres storage hourly during the billing period. The value has some lag.\nThe value is reset at the beginning of each billing period.\n","type":"integer","format":"int64","minimum":0},"data_transfer_bytes":{"description":"Bytes. Egress traffic from the Neon cloud to the client for given project over the billing period.\nIncludes deleted endpoints. The value has some lag. The value is reset at the beginning of each billing period.\n","type":"integer","format":"int64","minimum":0},"written_data_bytes":{"description":"Bytes. Amount of WAL that travelled through Postgres storage for given project across all branches.\nThe value has some lag. The value is reset at the beginning of each billing period.\n","type":"integer","format":"int64","minimum":0},"compute_time_seconds":{"description":"Seconds. The number of CPU seconds used by the project's compute endpoints, including compute endpoints that have been deleted.\nThe value has some lag. The value is reset at the beginning of each billing period.\nExamples:\n1. An endpoint that uses 1 CPU for 1 second is equal to `compute_time=1`.\n2. An endpoint that uses 2 CPUs simultaneously for 1 second is equal to `compute_time=2`.\n","type":"integer","format":"int64","minimum":0},"active_time_seconds":{"description":"Seconds. Control plane observed endpoints of this project being active this amount of wall-clock time.\nThe value has some lag.\nThe value is reset at the beginning of each billing period.\n","type":"integer","format":"int64","minimum":0},"cpu_used_sec":{"description":"Deprecated. Use `compute_time_seconds` instead.\n","type":"integer","format":"int64","deprecated":true},"id":{"description":"The Neon project ID. Use as the `project_id` path parameter in other endpoints.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"platform_id":{"description":"The cloud platform identifier. Currently, only AWS is supported, for which the identifier is `aws`.\n","type":"string"},"region_id":{"description":"Cloud region where the resource's Postgres compute and storage reside (for example, `aws-us-east-1`). Valid values are returned by `GET /regions`.\n","type":"string","example":"aws-us-east-1"},"name":{"description":"The project name\n","type":"string"},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"default_endpoint_settings":{"$ref":"#/components/schemas/DefaultEndpointSettings"},"settings":{"$ref":"#/components/schemas/ProjectSettingsData","description":"Project-level settings, for example `quota`, `allowed_ips`, `enable_logical_replication`, and `maintenance_window`."},"pg_version":{"$ref":"#/components/schemas/PgVersion"},"proxy_host":{"description":"The proxy host for the project. This value combines the `region_id`, the `platform_id`, and the Neon domain (`neon.tech`).\n","type":"string"},"branch_logical_size_limit":{"description":"The logical size limit for a branch. The value is in MiB.\n","type":"integer","format":"int64"},"branch_logical_size_limit_bytes":{"description":"The logical size limit for a branch. The value is in B.\n","type":"integer","format":"int64"},"store_passwords":{"description":"Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n","type":"boolean"},"maintenance_starts_at":{"description":"A timestamp indicating when project maintenance begins. If set, the project is placed into maintenance mode at this time.\n","type":"string","format":"date-time"},"creation_source":{"description":"The project creation source\n","type":"string"},"history_retention_seconds":{"description":"The number of seconds to retain the shared history for all branches in this project.\n","type":"integer","format":"int32"},"created_at":{"description":"A timestamp indicating when the project was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the project was last updated\n","type":"string","format":"date-time"},"synthetic_storage_size":{"description":"The current space occupied by the project in Postgres storage, in bytes. Synthetic Postgres storage size combines the logical data size and Write-Ahead Log (WAL) size for all branches in a project.\n","type":"integer","format":"int64"},"consumption_period_start":{"description":"A date-time indicating when Neon Cloud started measuring consumption for current consumption period.\n","type":"string","format":"date-time"},"consumption_period_end":{"description":"A date-time indicating when Neon Cloud plans to stop measuring consumption for current consumption period.\n","type":"string","format":"date-time"},"quota_reset_at":{"deprecated":true,"description":"Deprecated. Use the `consumption_period_end` field instead. A timestamp indicating when the project quota resets.\n","type":"string","format":"date-time"},"owner_id":{"type":"string","description":"ID of the organization that owns the project.","example":"org-cool-darkness-12345678"},"owner":{"$ref":"#/components/schemas/ProjectOwnerData","description":"Ownership details for the project, including the owner's name and email."},"compute_last_active_at":{"description":"The most recent time when any endpoint of this project was active.\n\nOmitted when observed no activity for endpoints of this project.\n","type":"string","format":"date-time"},"org_id":{"description":"The Neon organization ID. Returned as `id` from `GET /users/me/organizations`.","example":"org-cool-darkness-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"maintenance_scheduled_for":{"description":"A timestamp indicating when project update begins. If set, computes might experience a brief restart around this time.\n","type":"string","format":"date-time"},"hipaa_enabled_at":{"description":"A timestamp indicating when HIPAA was enabled for this project","type":"string","format":"date-time"},"effective_project_permission":{"type":"string","allOf":[{"$ref":"#/components/schemas/ProjectPermissionLevel"}],"nullable":true}},"example":{"id":"spring-example-302709","platform_id":"aws","region_id":"aws-us-east-2","name":"spring-example-302709","provisioner":"k8s-pod","pg_version":15,"proxy_host":"us-east-2.aws.neon.tech","store_passwords":true,"creation_source":"console","history_retention_seconds":604800,"created_at":"2022-12-13T01:30:55Z","updated_at":"2022-12-13T01:30:55Z","owner":{"name":"John Smith","email":"some@email.com","branches_limit":10,"subscription_type":"scale"},"org_id":"org-morning-bread-81040908","owner_id":"629982cc-de05-43db-ae16-28f2399c4910","data_storage_bytes_hour":2831928,"branch_logical_size_limit":10,"branch_logical_size_limit_bytes":10485760,"data_transfer_bytes":1000,"written_data_bytes":193990002,"compute_time_seconds":2485760,"active_time_seconds":621440,"cpu_used_sec":155350,"consumption_period_start":"2022-11-01T00:00:00Z","consumption_period_end":"2022-12-01T00:00:00Z"}},"ProjectCreateRequest":{"type":"object","required":["project"],"properties":{"project":{"type":"object","description":"Configuration for the new project, including name, region, and Postgres compute and storage settings.","properties":{"settings":{"$ref":"#/components/schemas/ProjectSettingsData","description":"Project-level settings applied at creation."},"name":{"description":"The project name. If not specified, the name will be identical to the generated project ID","type":"string","minLength":1,"maxLength":256},"branch":{"type":"object","description":"Configuration for the initial branch created with the project.","properties":{"name":{"description":"The default branch name. If not specified, the default branch name, `main`, will be used.\n","type":"string","minLength":1,"maxLength":256},"role_name":{"description":"The role name. If not specified, the default role name, `{database_name}_owner`, will be used.\n","type":"string"},"database_name":{"description":"The database name. If not specified, the default database name, `neondb`, will be used.\n","type":"string"},"annotations":{"description":"Arbitrary key-value metadata to attach to the branch.\n","$ref":"#/components/schemas/AnnotationValueData"}}},"autoscaling_limit_min_cu":{"deprecated":true,"description":"Deprecated. Use `default_endpoint_settings.autoscaling_limit_min_cu` instead.\n\nThe minimum number of Compute Units. The minimum value is `0.25`.\nSee [Compute size and Autoscaling configuration](https://neon.com/docs/manage/endpoints#compute-size-and-autoscaling-configuration)\nfor more information.\n","$ref":"#/components/schemas/ComputeUnit"},"autoscaling_limit_max_cu":{"deprecated":true,"description":"Deprecated. Use `default_endpoint_settings.autoscaling_limit_max_cu` instead.\n\nThe maximum number of Compute Units. See [Compute size and Autoscaling configuration](https://neon.com/docs/manage/endpoints#compute-size-and-autoscaling-configuration)\nfor more information.\n","$ref":"#/components/schemas/ComputeUnit"},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"region_id":{"description":"The region identifier. Refer to our [Regions](https://neon.com/docs/introduction/regions) documentation for supported regions. Values are specified in this format: `aws-us-east-1`\n","type":"string"},"default_endpoint_settings":{"$ref":"#/components/schemas/DefaultEndpointSettings"},"pg_version":{"$ref":"#/components/schemas/PgVersion"},"store_passwords":{"description":"Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n","type":"boolean"},"history_retention_seconds":{"description":"History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n","type":"integer","format":"int32","minimum":0,"maximum":2592000},"org_id":{"description":"ID of the organization that will own the project. If omitted when using an organization API key, it is inferred from the key.\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}}},"ProjectUpdateRequest":{"type":"object","required":["project"],"properties":{"project":{"type":"object","properties":{"settings":{"$ref":"#/components/schemas/ProjectSettingsData","description":"Project-level settings, for example `quota`, `allowed_ips`, `enable_logical_replication`, and `maintenance_window`."},"name":{"description":"The project name","type":"string","minLength":1,"maxLength":256},"default_endpoint_settings":{"$ref":"#/components/schemas/DefaultEndpointSettings"},"history_retention_seconds":{"description":"History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n","type":"integer","format":"int32","minimum":0,"maximum":2592000}}}}},"ProjectTransferRequestResponse":{"type":"object","required":["id","project_id","created_at","expires_at"],"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier for the transfer request"},"project_id":{"description":"The ID of the project that is being transferred","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"created_at":{"type":"string","format":"date-time","description":"The timestamp when the transfer request was created"},"expires_at":{"type":"string","format":"date-time","description":"The timestamp when the transfer request will expire"}}},"AcceptProjectTransferRequestSatisfiesPlanError":{"type":"object","required":["reasons"],"properties":{"reasons":{"type":"array","items":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","description":"Description of why the plan is not satisfied"},"code":{"type":"string","description":"A short code identifying the reason"}}},"description":"List of reasons why the target account's plan cannot satisfy the transfer requirements. Each item contains a `code` identifying the constraint and a `message` with a human-readable explanation."}}},"ProjectSettingsData":{"type":"object","properties":{"quota":{"$ref":"#/components/schemas/ProjectQuota"},"allowed_ips":{"$ref":"#/components/schemas/AllowedIps"},"enable_logical_replication":{"description":"Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n","type":"boolean"},"maintenance_window":{"$ref":"#/components/schemas/MaintenanceWindow"},"block_public_connections":{"description":"When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n","type":"boolean"},"block_vpc_connections":{"description":"When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n","type":"boolean"},"audit_log_level":{"$ref":"#/components/schemas/ProjectAuditLogLevel","description":"Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`."},"hipaa":{"type":"boolean","description":"Enables HIPAA compliance mode for the project, including audit logging."},"preload_libraries":{"$ref":"#/components/schemas/PreloadLibraries"}}},"ProjectResponse":{"type":"object","required":["project"],"properties":{"project":{"$ref":"#/components/schemas/Project","description":"Full details of the project, including configuration, consumption metrics, and ownership."}}},"ProjectRecoverResponse":{"allOf":[{"$ref":"#/components/schemas/ProjectResponse"},{"$ref":"#/components/schemas/BranchesResponse"}]},"ProjectsResponse":{"type":"object","required":["projects"],"properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListItem"},"description":"List of projects accessible to the caller. Projects that exist but could not be retrieved are identified in `unavailable_project_ids`."},"unavailable_project_ids":{"description":"A list of project IDs indicating which projects are known to exist, but whose details could not\nbe fetched within the requested (or implicit) time limit\n","type":"array","items":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"}}}},"ProjectPermission":{"type":"object","required":["id","granted_to_email","granted_at"],"x-sensitive":["granted_to_email"],"properties":{"id":{"type":"string","description":"The project permission's ID."},"granted_to_email":{"type":"string","format":"email","minLength":1,"maxLength":256,"description":"Email address of the user who has been granted access to the project."},"granted_at":{"type":"string","format":"date-time","description":"Timestamp when the permission was granted."},"revoked_at":{"type":"string","format":"date-time","description":"Timestamp when the permission was revoked. Null if the permission is still active."}}},"ProjectPermissions":{"type":"object","required":["project_permissions"],"properties":{"project_permissions":{"type":"array","items":{"$ref":"#/components/schemas/ProjectPermission"}}}},"GrantPermissionToProjectRequest":{"type":"object","required":["email"],"x-sensitive":["email"],"properties":{"email":{"description":"Email address of the user to grant project access to.","type":"string","format":"email","minLength":1,"maxLength":256}}},"ProjectRole":{"type":"string","enum":["viewer","editor","admin"],"description":"Per-project role. `viewer` maps to `VIEWER`, `editor` maps to `EDITOR`,\nand `admin` maps to `ADMIN`.\n"},"ProjectPermissionLevel":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"],"description":"The caller's effective permission for a project when\nper-project permissions are enabled. `VIEWER` grants read access,\n`EDITOR` adds update access, and `ADMIN` grants full management.\nOmitted for personal projects, flag-off organizations, and non-user\nsubjects.\n"},"ProjectMemberGrantSource":{"type":"string","enum":["explicit","org_role_default","org_admin_override","unassigned"],"description":"How a member's project access is granted.\n"},"ProjectMemberOrgRole":{"type":"string","enum":["admin","member","editor","viewer","collaborator"],"description":"Organization-level role used by project member role management.\n"},"ProjectMember":{"type":"object","required":["member_id","user_id","org_role"],"x-sensitive":["email","name"],"properties":{"member_id":{"type":"string","format":"uuid","description":"The organization member ID."},"user_id":{"type":"string","format":"uuid","description":"The user ID for the organization member."},"email":{"type":"string","format":"email","minLength":1,"maxLength":256,"description":"Email address of the user who has been granted access to the project."},"name":{"type":"string","description":"The user's display name."},"org_role":{"$ref":"#/components/schemas/ProjectMemberOrgRole"},"project_role":{"$ref":"#/components/schemas/ProjectRole"},"org_default_project_permission":{"$ref":"#/components/schemas/ProjectPermissionLevel"},"explicit_project_permission":{"$ref":"#/components/schemas/ProjectPermissionLevel"},"effective_project_permission":{"$ref":"#/components/schemas/ProjectPermissionLevel"},"grant_source":{"$ref":"#/components/schemas/ProjectMemberGrantSource"}}},"ProjectMembers":{"type":"object","required":["project_members"],"properties":{"project_members":{"type":"array","items":{"$ref":"#/components/schemas/ProjectMember"}},"pagination":{"$ref":"#/components/schemas/CursorPagination"}}},"SetProjectMemberRoleRequest":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/ProjectRole"}}},"ProjectMemberRoleResponse":{"type":"object","required":["project_id","member_id","user_id","org_role"],"x-sensitive":["email","name"],"properties":{"project_id":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"},"member_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email","minLength":1,"maxLength":256,"description":"Email address of the user who has been granted access to the project."},"name":{"type":"string","description":"The user's display name."},"org_role":{"$ref":"#/components/schemas/ProjectMemberOrgRole"},"project_role":{"$ref":"#/components/schemas/ProjectRole","description":"The resulting effective project role after applying org-admin default access, explicit grants, and creator fallback. Null only when the member has no remaining effective project access."},"org_default_project_permission":{"$ref":"#/components/schemas/ProjectPermissionLevel"},"explicit_project_permission":{"$ref":"#/components/schemas/ProjectPermissionLevel"},"effective_project_permission":{"$ref":"#/components/schemas/ProjectPermissionLevel"},"credential_rotation_recommended":{"type":"boolean","description":"Hint that database credentials may need rotation after the role change.\n"},"org_api_key_rotation_recommended":{"type":"boolean","description":"Hint that project-scoped org API keys created by the target user may need rotation.\n"}}},"ConsumptionHistoryPerProjectResponse":{"type":"object","properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerProject"},"description":"Per-project consumption history records included in the response."}},"required":["projects"]},"ConsumptionHistoryPerProjectV2Response":{"type":"object","properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerProjectV2"},"description":"Per-project consumption history entries for the requested time range."}},"required":["projects"]},"ConsumptionHistoryPerProject":{"type":"object","properties":{"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"periods":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerPeriod"},"description":"Consumption periods for the project, each covering a discrete billing interval."}},"required":["project_id","periods"]},"ConsumptionHistoryPerProjectV2":{"type":"object","properties":{"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"periods":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerPeriodV2"},"description":"Consumption periods recorded for this project."}},"required":["project_id","periods"]},"ConsumptionHistoryPerBranchV2Response":{"type":"object","properties":{"branches":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerBranchV2"},"description":"Per-branch consumption history records returned for the requested time range."}},"required":["branches"]},"ConsumptionHistoryPerBranchV2":{"type":"object","properties":{"project_id":{"description":"The ID of the project that owns this branch.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"branch_id":{"description":"The Neon branch ID. Returned as `id` from `GET /projects/{project_id}/branches`.","example":"br-cool-darkness-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"periods":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerPeriodV2"},"description":"Consumption history records for the branch, grouped by billing period."}},"required":["project_id","branch_id","periods"]},"ConsumptionHistoryPerPeriod":{"type":"object","properties":{"period_id":{"description":"The ID assigned to the specified billing period.","type":"string","format":"uuid"},"period_plan":{"description":"The billing plan applicable during the billing period.","type":"string"},"period_start":{"description":"The start date-time of the billing period.\n","type":"string","format":"date-time"},"period_end":{"description":"The end date-time of the billing period, available for the past periods only.\n","type":"string","format":"date-time"},"consumption":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerTimeframe"},"description":"Consumption metric records for the billing period."}},"required":["period_id","period_plan","period_start","consumption"],"example":{"period_id":"79ec829f-1828-4006-ac82-9f1828a0067d","period_plan":"scale","period_start":"2024-03-01T00:00:00Z","consumption":[{"timeframe_start":"2024-03-22T00:00:00Z","timeframe_end":"2024-03-23T00:00:00Z","active_time_seconds":27853,"compute_time_seconds":18346,"written_data_bytes":1073741824,"synthetic_storage_size_bytes":5368709120},{"timeframe_start":"2024-03-23T00:00:00Z","timeframe_end":"2024-03-24T00:00:00Z","active_time_seconds":17498,"compute_time_seconds":3378,"written_data_bytes":5741824,"synthetic_storage_size_bytes":2370912}]}},"ConsumptionHistoryPerPeriodV2":{"type":"object","properties":{"period_id":{"description":"The ID assigned to the specified billing period.","type":"string","format":"uuid"},"period_plan":{"description":"The billing plan applicable during the billing period.","type":"string"},"period_start":{"description":"The start date-time of the billing period.\n","type":"string","format":"date-time"},"period_end":{"description":"The end date-time of the billing period, available for the past periods only.\n","type":"string","format":"date-time"},"consumption":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionHistoryPerTimeframeV2"},"description":"Consumption metric records for the billing period."}},"required":["period_id","period_plan","period_start","consumption"],"example":{"period_id":"79ec829f-1828-4006-ac82-9f1828a0067d","period_plan":"scale","period_start":"2024-03-01T00:00:00Z","consumption":[{"timeframe_start":"2024-03-22T00:00:00Z","timeframe_end":"2024-03-23T00:00:00Z","metrics":[{"metric_name":"compute_unit_seconds","value":100},{"metric_name":"root_branch_bytes_month","value":1000000},{"metric_name":"child_branch_bytes_month","value":1000000}]}]}},"ConsumptionHistoryPerTimeframe":{"type":"object","properties":{"timeframe_start":{"description":"The specified start date-time for the reported consumption.\n","type":"string","format":"date-time"},"timeframe_end":{"description":"The specified end date-time for the reported consumption.\n","type":"string","format":"date-time"},"active_time_seconds":{"description":"Seconds. The amount of time the compute endpoints have been active.\n","type":"integer","format":"uint64"},"compute_time_seconds":{"description":"Seconds. The number of CPU seconds used by compute endpoints, including compute endpoints that have been deleted.\n","type":"integer","format":"uint64"},"written_data_bytes":{"description":"Bytes. The amount of written data for all branches.\n","type":"integer","format":"uint64"},"synthetic_storage_size_bytes":{"description":"Bytes. The space occupied in Postgres storage. Synthetic Postgres storage size combines the logical data size and Write-Ahead Log (WAL) size for all branches.\n","type":"integer","format":"uint64"},"data_storage_bytes_hour":{"description":"Bytes-Hour. The amount of Postgres storage consumed hourly.\n","type":"integer","format":"uint64"},"logical_size_bytes":{"description":"Bytes. The amount of logical size consumed.\n","type":"integer","format":"uint64"},"logical_size_bytes_hour":{"description":"Bytes-Hour. The amount of logical size consumed hourly.\n","type":"integer","format":"uint64"}},"required":["timeframe_start","timeframe_end","active_time_seconds","compute_time_seconds","written_data_bytes","synthetic_storage_size_bytes"]},"ConsumptionHistoryPerTimeframeV2":{"type":"object","properties":{"timeframe_start":{"description":"The specified start date-time for the reported consumption.\n","type":"string","format":"date-time"},"timeframe_end":{"description":"The specified end date-time for the reported consumption.\n","type":"string","format":"date-time"},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionMetricValue"},"description":"Consumption metric values recorded for the timeframe."}}},"ConsumptionMetricValue":{"type":"object","properties":{"metric_name":{"type":"string","description":"Name of the consumption metric, such as compute_time or data_storage_bytes_hour."},"value":{"type":"integer","description":"Measured quantity for the metric named by `metric_name`."}},"required":["metric_name","value"]},"ConsumptionHistoryGranularity":{"type":"string","enum":["hourly","daily","monthly"]},"ConsumptionHistoryQueryMetrics":{"type":"array","items":{"type":"string"}},"ProjectAuditLogLevel":{"type":"string","enum":["base","extended","full"]},"AvailablePreloadLibrary":{"type":"object","required":["library_name","description","is_default","is_experimental","version"],"properties":{"library_name":{"type":"string","description":"Name of the Postgres shared preload library as it appears in the `shared_preload_libraries` parameter (for example, `pg_stat_statements`)."},"description":{"type":"string","description":"Human-readable explanation of the library's purpose and behavior."},"is_default":{"type":"boolean","description":"Whether this library is loaded by default in the `shared_preload_libraries` configuration for new compute endpoints."},"is_experimental":{"type":"boolean","description":"Marks the library as experimental. Experimental libraries may be unstable, subject to breaking changes, or not recommended for production use."},"version":{"type":"string","description":"Version of the preload library."}}},"AvailablePreloadLibraries":{"type":"object","properties":{"libraries":{"type":"array","items":{"$ref":"#/components/schemas/AvailablePreloadLibrary"},"description":"Preload libraries available for the project's Postgres version. Each entry includes `library_name`, `description`, `is_default`, `is_experimental`, and `version`."}}},"Branch":{"type":"object","required":["id","project_id","name","current_state","state_changed_at","creation_source","created_at","updated_at","default","protected","cpu_used_sec","active_time_seconds","compute_time_seconds","written_data_bytes","data_transfer_bytes"],"properties":{"id":{"description":"The branch ID. This value is generated when a branch is created. A `branch_id` value has a `br` prefix. For example: `br-small-term-683261`.\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"project_id":{"description":"The ID of the project this branch belongs to.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"parent_id":{"description":"The `branch_id` of the parent branch\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"parent_lsn":{"description":"The Log Sequence Number (LSN) on the parent branch from which this branch was created.\nWhen restoring a branch using the `POST /projects/{project_id}/branches/{branch_id}/restore` endpoint,\nthis value isn’t finalized until all operations related to the restore have completed successfully.\n","type":"string"},"parent_timestamp":{"description":"The point in time on the parent branch from which this branch was created.\nWhen restoring a branch using the `POST /projects/{project_id}/branches/{branch_id}/restore` endpoint,\nthis value isn’t finalized until all operations related to the restore have completed successfully.\nAfter all the operations completed, this value might stay empty.\n","type":"string","format":"date-time"},"name":{"description":"The branch name\n","type":"string"},"current_state":{"$ref":"#/components/schemas/BranchState"},"pending_state":{"$ref":"#/components/schemas/BranchState"},"state_changed_at":{"description":"A UTC timestamp indicating when the `current_state` began\n","type":"string","format":"date-time"},"logical_size":{"description":"The logical size of the branch, in bytes\n","type":"integer","format":"int64"},"creation_source":{"description":"The branch creation source\n","type":"string"},"primary":{"deprecated":true,"description":"Deprecated. Use the `default` field. Whether the branch is the project's primary branch.\n","type":"boolean"},"default":{"description":"Whether the branch is the project's default branch\n","type":"boolean"},"protected":{"description":"Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project.\n","type":"boolean"},"cpu_used_sec":{"deprecated":true,"description":"Deprecated. Use `compute_time_seconds` instead. CPU seconds used by all of the branch's compute endpoints, including deleted ones. This value is reset at the beginning of each billing period.\n","type":"integer","format":"int64"},"compute_time_seconds":{"type":"integer","format":"int64","description":"Total Postgres compute time consumed by this branch during the current billing period, in CU-seconds (weighted by compute size). Divide by 3600 for CU-hours."},"active_time_seconds":{"type":"integer","format":"int64","description":"Total time this branch's compute has been active during the current billing period, in seconds (not weighted by compute size). Distinct from `compute_time_seconds`, which is CU-weighted."},"written_data_bytes":{"type":"integer","format":"int64","description":"Data written by this branch during the current billing period, in bytes."},"data_transfer_bytes":{"type":"integer","format":"int64","description":"Total data transferred out of the branch, in bytes. Used as a consumption metric."},"created_at":{"description":"A timestamp indicating when the branch was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the branch was last updated\n","type":"string","format":"date-time"},"ttl_interval_seconds":{"description":"The time-to-live (TTL) duration originally configured for the branch, in seconds. This read-only value represents the interval between the time `expires_at` was set and the expiration timestamp itself. It is preserved to ensure the same TTL duration is reapplied when resetting the branch from its parent, and only updates when a new `expires_at` value is set.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n","type":"integer","example":3600},"expires_at":{"description":"The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n","type":"string","format":"date-time","example":"2025-06-09T18:02:16Z"},"last_reset_at":{"description":"A timestamp indicating when the branch was last reset\n","type":"string","format":"date-time"},"created_by":{"description":"The resolved user model that contains details of the user/org/integration/api_key used for branch creation. This field is filled only in listing/get/create/get/update/delete methods, if it is empty when calling other handlers, it does not mean that it is empty in the system.\n","type":"object","properties":{"name":{"type":"string","description":"Display name of the user who created the branch."},"image":{"type":"string","description":"The URL to the user's avatar image."}}},"init_source":{"description":"Source of initialization for the branch. `parent-data` (default) copies schema and data from the parent. `parent-schema` copies schema only from the parent. `schema-only` creates a root branch with schema only. `import` initializes from an external import.\n","type":"string","example":"parent-data"},"restore_status":{"$ref":"#/components/schemas/BranchRestoreStatus"},"restored_from":{"description":"ID of the snapshot that was the restore source for this branch\n","type":"string"},"restored_as":{"description":"ID of the target branch which was replaced when this branch was restored\n","type":"string"},"restricted_actions":{"description":"A list of actions that are currently restricted for this branch and the reason why.\n","type":"array","items":{"$ref":"#/components/schemas/BranchRestrictedAction"}},"recovery":{"$ref":"#/components/schemas/BranchRecoveryInfo"}},"example":{"id":"br-wispy-meadow-118737","project_id":"spring-example-302709","parent_id":"br-aged-salad-637688","parent_lsn":"0/1DE2850","name":"dev2","protected":false,"current_state":"ready","state_changed_at":"2022-11-30T20:09:48Z","creation_source":"console","created_at":"2022-11-30T19:09:48Z","updated_at":"2022-12-01T19:53:05Z","default":true,"init_source":"parent-data","data_transfer_bytes":72911987,"written_data_bytes":542998300,"compute_time_seconds":823880990,"active_time_seconds":922200,"cpu_used_sec":461100}},"BranchState":{"description":"The branch’s state, indicating if it is initializing, ready for use, or archived.\n  * 'init' - the branch is being created but is not available for querying.\n  * 'resetting' - the branch is being reset to a specific point in time or LSN and is not yet available for querying.\n  * 'ready' - the branch is fully operational and ready for querying. Expect normal query response times.\n  * 'archived' - the branch is stored in cost-effective archival Postgres storage. Expect slow query response times.\n","type":"string"},"BranchRestoreStatus":{"description":"Could be `restored`, `finalized` or `detaching`.\nA `restored` branch becomes permanently `finalized` when you call `finalizeRestoreBranch`\nA `restored` or `finalized` branch may begin `detaching` as a one-time performance optimisation, after which it will continue in its original state\n","type":"string"},"BranchRestrictedAction":{"description":"An action that is currently restricted for the branch and the reason why.\n","type":"object","required":["name","reason"],"properties":{"name":{"description":"The name of a restricted action on a branch. `restore`: the branch cannot be used as a restore target. `delete-rw-endpoint`: the read-write endpoint for the branch cannot be deleted.\n","type":"string","example":"restore"},"reason":{"description":"A human-readable explanation of why the action is restricted.\n","type":"string"}}},"BranchRecoveryInfo":{"description":"Recovery information for a deleted branch. Only present when listing deleted branches\nwith `include_deleted=true`.\n\nThis is part of the Branch Recovery feature, which is in preview and not available to all users.\n","type":"object","required":["deleted_at","recoverable_until","deletion_method"],"properties":{"deleted_at":{"description":"Timestamp when the branch was deleted\n","type":"string","format":"date-time"},"recoverable_until":{"description":"Timestamp when the recovery window expires and the branch will be permanently deleted\n","type":"string","format":"date-time"},"deletion_method":{"description":"How the branch was deleted: 'user' for manual deletion, 'ttl' for TTL expiration\n","type":"string","enum":["user","ttl"]}}},"BranchCreateRequestEndpointOptions":{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/EndpointType"},"settings":{"$ref":"#/components/schemas/EndpointSettingsData","description":"Compute endpoint settings: `pg_settings` (Postgres parameter overrides such as `work_mem`, `max_connections`) and `preload_libraries`."},"autoscaling_limit_min_cu":{"description":"Minimum number of Compute Units the endpoint can scale down to. Minimum 0.25.\n","$ref":"#/components/schemas/ComputeUnit"},"autoscaling_limit_max_cu":{"description":"Maximum number of Compute Units the endpoint can scale up to. Minimum 0.25.\n","$ref":"#/components/schemas/ComputeUnit"},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"suspend_timeout_seconds":{"$ref":"#/components/schemas/SuspendTimeoutSeconds","description":"Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value."}}},"BranchAnonymizedCreateRequest":{"allOf":[{"$ref":"#/components/schemas/AnnotationCreateValueRequest"},{"type":"object","properties":{"branch_create":{"$ref":"#/components/schemas/BranchCreateRequest"},"masking_rules":{"type":"array","items":{"$ref":"#/components/schemas/MaskingRule"},"description":"List of masking rules to apply to the branch.\n"},"start_anonymization":{"description":"If true, automatically start anonymization after the branch is created.\nDefaults to false.\n","type":"boolean","default":false}}}]},"BranchCreateRequest":{"type":"object","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/BranchCreateRequestEndpointOptions"},"description":"Compute endpoints to create together with the branch. If omitted, the branch is created without any compute endpoint. Endpoints can be added to the branch separately after creation."},"branch":{"type":"object","description":"Optional configuration for the new branch, for example `name`, `parent_id` (fork from a branch), `parent_lsn` or `parent_timestamp` (point-in-time branching), and `protected`.","properties":{"parent_id":{"description":"The `branch_id` of the parent branch. If omitted or empty, the branch will be created from the project's default branch.\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"name":{"description":"The branch name\n","type":"string","minLength":1,"maxLength":256},"parent_lsn":{"description":"A Log Sequence Number (LSN) on the parent branch. The branch will be created with data from this LSN.\n","type":"string"},"parent_timestamp":{"description":"A timestamp identifying a point in time on the parent branch. The branch will be created with data starting from this point in time. RFC 3339 format.\n","type":"string","format":"date-time","example":"2024-02-26T12:00:00Z"},"protected":{"description":"Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n","type":"boolean","default":false},"archived":{"description":"Whether to create the branch in the archived state. When omitted, the branch is created as a normal (non-archived) branch.\n","type":"boolean"},"init_source":{"example":"parent-data","description":"Source of initialization for the branch. `parent-data` copies schema and data from the parent branch. `parent-schema` copies schema only from the parent branch. `schema-only` creates a new root branch containing schema only, using `parent_id` as the source; optionally, `parent_lsn` or `parent_timestamp` can narrow the source point. `import` initializes the branch from an external import.","type":"string"},"expires_at":{"description":"The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n","type":"string","format":"date-time","example":"2025-06-09T18:02:16Z"}}}}},"BranchUpdateRequest":{"type":"object","required":["branch"],"properties":{"branch":{"type":"object","description":"Branch attributes to update. Supply only the fields you want to change, for example `name` or `protected`.","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"New display name for the branch."},"protected":{"type":"boolean","description":"Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n"},"expires_at":{"description":"The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time. If this field is set to null, the expiration timestamp is removed.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n","type":"string","format":"date-time","nullable":true,"example":"2025-06-09T18:02:16Z"}}}}},"BranchRestoreRequest":{"type":"object","required":["source_branch_id"],"properties":{"source_branch_id":{"description":"The `branch_id` of the restore source branch.\nIf `source_timestamp` and `source_lsn` are omitted, the branch will be restored to head.\nIf `source_branch_id` is equal to the branch's id, `source_timestamp` or `source_lsn` is required.\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"source_lsn":{"description":"A Postgres LSN (for example, `0/1A2B3C4`) on the source branch to restore from.\nMutually exclusive with `source_timestamp`. Omit both to restore to head.\n","type":"string"},"source_timestamp":{"description":"A point in time on the source branch to restore from, in RFC 3339 format. When omitted alongside `source_lsn`, the branch is restored to the latest available state of the source branch.\n","type":"string","format":"date-time","example":"2024-02-26T12:00:00Z"},"preserve_under_name":{"description":"Name under which to save the current branch state before restoring. Required when the branch has children or when `source_branch_id` equals the branch being restored; in those cases all existing child branches are moved to the newly created branch. If omitted and not required, the previous state is not preserved.\n","type":"string"}}},"BranchResponse":{"type":"object","required":["branch"],"properties":{"branch":{"$ref":"#/components/schemas/Branch","description":"Branch returned by the request."}}},"BranchSchemaResponse":{"type":"object","properties":{"sql":{"type":"string","description":"Branch schema expressed as SQL DDL statements."},"json":{"$ref":"#/components/schemas/BranchSchemaJSON","description":"Branch schema represented as a structured JSON object, parallel to the SQL DDL in `sql`."}}},"BranchSchemaCompareResponse":{"type":"object","properties":{"diff":{"type":"string","description":"Unified diff of the SQL schema changes between the compared branches."}}},"BranchesResponse":{"type":"object","required":["branches"],"properties":{"branches":{"type":"array","items":{"$ref":"#/components/schemas/Branch"},"description":"Branches in the project. Each includes `id`, `name`, `current_state`, and `created_at`."}}},"BranchesCountResponse":{"type":"object","required":["count"],"properties":{"count":{"type":"integer","format":"int","description":"Total number of branches in the project."}}},"MaskingRule":{"type":"object","required":["database_name","schema_name","table_name","column_name"],"x-sensitive":["database_name","schema_name","table_name","column_name","masking_function","masking_value"],"properties":{"database_name":{"description":"The name of the database containing the table to be masked\n","type":"string"},"schema_name":{"description":"The name of the schema containing the table to be masked\n","type":"string"},"table_name":{"description":"The name of the table containing the column to be masked\n","type":"string"},"column_name":{"description":"The name of the column to be masked\n","type":"string"},"masking_function":{"description":"The PostgreSQL Anonymizer masking function to apply.\nCan be a predefined function (e.g., 'anon.random_string(10)', 'anon.fake_email()')\nor a custom function definition (e.g., 'anon.hash(column_name)')\n","type":"string"},"masking_value":{"description":"A literal value to set on the column when masking.\n","type":"string"}},"example":{"database_name":"neondb","schema_name":"public","table_name":"users","column_name":"email","masking_function":"anon.fake_email()"}},"MaskingRulesResponse":{"type":"object","required":["masking_rules"],"properties":{"masking_rules":{"type":"array","items":{"$ref":"#/components/schemas/MaskingRule"},"description":"List of masking rules for the branch\n"}}},"MaskingRulesUpdateRequest":{"type":"object","required":["masking_rules"],"properties":{"masking_rules":{"type":"array","items":{"$ref":"#/components/schemas/MaskingRule"},"description":"List of masking rules to apply to the branch.\nThis will replace all existing masking rules for the branch.\n"}}},"AnonymizedBranchStatusResponse":{"type":"object","required":["project_id","branch_id","state","created_at","updated_at"],"x-sensitive":["state"],"properties":{"project_id":{"description":"The ID of the project this branch belongs to.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"branch_id":{"description":"The ID of the anonymized branch.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"state":{"description":"The current state of the anonymized branch. `created`: branch record exists but setup has not started. `initialized`: setup is complete and the branch is ready for anonymization. `initialization_error`: an error occurred during setup. `anonymizing`: the anonymization process is currently running. `anonymized`: anonymization completed successfully. `error`: an error occurred during anonymization.\n","type":"string","example":"created"},"status_message":{"description":"A descriptive message about the current status or any errors\n","type":"string"},"created_at":{"description":"A timestamp indicating when the anonymized branch was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the anonymized branch status was last updated\n","type":"string","format":"date-time"},"failed_at":{"description":"A timestamp indicating when the anonymized branch operation failed (if applicable)\n","type":"string","format":"date-time"},"last_run":{"$ref":"#/components/schemas/AnonymizationRunMetadata"}},"example":{"branch_id":"br-aged-salad-637688","project_id":"simple-truth-637688","state":"anonymizing","status_message":"Anonymizing table mydb.public.users (3/5)","created_at":"2022-11-30T18:25:15Z","updated_at":"2022-11-30T18:30:22Z","last_run":{"started_at":"2022-11-30T18:25:15Z","completed_at":"2022-11-30T18:30:22Z","triggered_by":"df6c5f70-6cbf-4c8c-9e7a-74c3ddbd8f9f","masked_columns":12}}},"AnonymizationRunMetadata":{"type":"object","description":"Metadata about the most recent anonymization attempt for the branch.","properties":{"started_at":{"description":"Timestamp indicating when the latest anonymization attempt started.\n","type":"string","format":"date-time"},"completed_at":{"description":"Timestamp indicating when the latest anonymization attempt completed.\nPopulated even if the attempt failed.\n","type":"string","format":"date-time"},"triggered_by":{"description":"UUID of the user who triggered the latest anonymization attempt.\n","type":"string","format":"uuid"},"triggered_by_username":{"description":"Username of the user who triggered the latest anonymization attempt.\n","type":"string"},"masked_columns":{"description":"Number of columns that had masking rules applied during the attempt.\n","type":"integer"}}},"ConnectionParameters":{"type":"object","required":["database","password","role","host","pooler_host"],"x-sensitive":["database","host","pooler_host","password"],"properties":{"database":{"description":"Name of the Postgres database used in the connection URI.\n","type":"string"},"password":{"description":"Authentication password for the role, used in the connection URI.\n","type":"string"},"role":{"description":"Postgres role used to authenticate the database connection.\n","type":"string"},"host":{"description":"Hostname of the compute endpoint. Use `pooler_host` for the pooled connection hostname.\n","type":"string"},"pooler_host":{"description":"PgBouncer (transaction mode) pooled host, the `-pooler` variant of `host`. Connect through it to work around the Postgres `max_connections` limit for serverless or connection-per-request workloads.\n","type":"string"}}},"ConnectionDetails":{"type":"object","required":["connection_uri","connection_parameters"],"x-sensitive":["connection_uri"],"properties":{"connection_uri":{"description":"The connection URI is defined as specified here: [Connection URIs](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS)\nThe connection URI can be used to connect to a Postgres database with psql or defined in a DATABASE_URL environment variable.\nWhen creating a branch from a parent with more than one role or database, the response body does not include a connection URI.\n","type":"string"},"connection_parameters":{"$ref":"#/components/schemas/ConnectionParameters","description":"Individual components of the connection URI (host, port, database, role, and password) as discrete fields, for programmatic use rather than parsing the sibling `connection_uri` string."}}},"ConnectionURIResponse":{"type":"object","required":["uri"],"properties":{"uri":{"description":"The connection URI.\n","type":"string"}}},"Endpoint":{"type":"object","required":["host","id","project_id","branch_id","region_id","autoscaling_limit_max_cu","autoscaling_limit_min_cu","type","current_state","pooler_enabled","pooler_mode","disabled","passwordless_access","creation_source","created_at","updated_at","settings","proxy_host","suspend_timeout_seconds","provisioner"],"x-sensitive":["host"],"properties":{"host":{"description":"The hostname of the compute endpoint. This is the hostname specified when connecting to a Neon database.\n","type":"string"},"id":{"description":"The compute endpoint ID. Compute endpoint IDs have an `ep-` prefix. For example: `ep-little-smoke-851426`\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"name":{"type":"string","description":"Optional name of the compute endpoint\n"},"project_id":{"description":"The ID of the project this compute endpoint belongs to.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"branch_id":{"description":"The ID of the branch this compute endpoint belongs to.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"autoscaling_limit_min_cu":{"description":"The minimum number of Compute Units\n","$ref":"#/components/schemas/ComputeUnit"},"autoscaling_limit_max_cu":{"description":"The maximum number of Compute Units\n","$ref":"#/components/schemas/ComputeUnit"},"region_id":{"type":"string","description":"Cloud region where the resource's Postgres compute and storage reside (for example, `aws-us-east-1`). Valid values are returned by `GET /regions`.\n","example":"aws-us-east-1"},"type":{"$ref":"#/components/schemas/EndpointType"},"current_state":{"$ref":"#/components/schemas/EndpointState"},"pending_state":{"$ref":"#/components/schemas/EndpointState","description":"Target state the compute endpoint is transitioning to. Omitted when no transition is in progress."},"settings":{"$ref":"#/components/schemas/EndpointSettingsData"},"pooler_enabled":{"deprecated":true,"description":"Deprecated. To use connection pooling, append `-pooler` to the endpoint ID in the connection string.\n","type":"boolean"},"pooler_mode":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n","$ref":"#/components/schemas/EndpointPoolerMode"},"disabled":{"description":"Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action.\n","type":"boolean"},"passwordless_access":{"description":"Whether to permit passwordless access to the compute endpoint\n","type":"boolean"},"last_active":{"description":"A timestamp indicating when the compute endpoint was last active\n","type":"string","format":"date-time"},"creation_source":{"description":"The compute endpoint creation source\n","type":"string"},"created_at":{"description":"A timestamp indicating when the compute endpoint was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the compute endpoint was last updated\n","type":"string","format":"date-time"},"started_at":{"type":"string","format":"date-time","description":"A timestamp indicating when the compute endpoint was last started\n"},"suspended_at":{"type":"string","format":"date-time","description":"A timestamp indicating when the compute endpoint was last suspended\n"},"proxy_host":{"description":"Deprecated. Use the `host` property instead.\n","type":"string"},"suspend_timeout_seconds":{"$ref":"#/components/schemas/SuspendTimeoutSeconds","description":"Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` means the plan default applies; `-1` means scale-to-zero is disabled (never suspends)."},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"compute_release_version":{"description":"Attached compute's release version number.\n","type":"string"}},"example":{"host":"ep-silent-smoke-806639.us-east-2.aws.neon.tech","id":"ep-silent-smoke-806639","name":"My cool compute","project_id":"spring-example-302709","branch_id":"br-wispy-meadow-118737","autoscaling_limit_min_cu":1,"autoscaling_limit_max_cu":1,"region_id":"aws-us-east-2","type":"read_write","current_state":"init","pending_state":"active","settings":{"pg_settings":{}},"pooler_enabled":false,"pooler_mode":"transaction","disabled":false,"passwordless_access":true,"creation_source":"console","created_at":"2022-12-03T15:37:07Z","updated_at":"2022-12-03T15:37:07Z","proxy_host":"us-east-2.aws.neon.tech","suspend_timeout_seconds":0,"provisioner":"k8s-neonvm"}},"EndpointState":{"description":"Lifecycle state of the compute endpoint. `init`: being initialized. `active`: running and accepting connections. `idle`: suspended (scaled to zero).","type":"string","enum":["init","active","idle"]},"EndpointType":{"description":"Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).","type":"string","enum":["read_only","read_write"]},"EndpointPoolerMode":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. The connection pooler mode. Neon supports PgBouncer in `transaction` mode only. Removal scheduled for June 20, 2026.\n","type":"string","enum":["transaction"]},"SuspendTimeoutSeconds":{"description":"Duration of inactivity in seconds after which the compute endpoint is\nautomatically suspended. The value `0` means use the default value.\nThe value `-1` means never suspend. The default value is `300` seconds (5 minutes).\nThe minimum value is `60` seconds (1 minute).\nThe maximum value is `604800` seconds (1 week). For more information, see\n[Scale to zero configuration](https://neon.com/docs/manage/endpoints#scale-to-zero-configuration).\n","type":"integer","format":"int64","minimum":-1,"maximum":604800},"AllowedIps":{"description":"A list of IP addresses that are allowed to connect to the compute endpoint.\nIf the list is empty or not set, all IP addresses are allowed.\nIf protected_branches_only is true, the list will be applied only to protected branches.\n","type":"object","properties":{"ips":{"description":"A list of IP addresses that are allowed to connect to the endpoint.","type":"array","items":{"type":"string"}},"protected_branches_only":{"description":"If true, the list will be applied only to protected branches.","type":"boolean"}}},"MaintenanceWindow":{"description":"A maintenance window is a time period during which Neon may perform maintenance on the project's infrastructure.\nDuring this time, the project's compute endpoints may be unavailable and existing connections can be\ninterrupted.\n","type":"object","required":["weekdays","start_time","end_time"],"properties":{"weekdays":{"description":"A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n","type":"array","items":{"type":"integer"}},"start_time":{"description":"Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n","type":"string"},"end_time":{"description":"End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n","type":"string"}}},"PreloadLibraries":{"description":"The shared libraries to preload into the project's compute instances.\n","type":"object","properties":{"use_defaults":{"type":"boolean","description":"When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`."},"enabled_libraries":{"type":"array","items":{"type":"string"},"description":"Names of shared preload libraries to enable for the project."}}},"EndpointCreateRequest":{"type":"object","required":["endpoint"],"properties":{"endpoint":{"type":"object","description":"Configuration for the compute endpoint to create.","required":["branch_id","type"],"properties":{"branch_id":{"description":"The ID of the branch the compute endpoint will be associated with\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"region_id":{"description":"The region where the compute endpoint will be created. Only the project's `region_id` is permitted.\n","type":"string"},"type":{"$ref":"#/components/schemas/EndpointType"},"settings":{"$ref":"#/components/schemas/EndpointSettingsData"},"autoscaling_limit_min_cu":{"description":"The minimum number of Compute Units. The minimum value is `0.25`.\nSee [Compute size and Autoscaling configuration](https://neon.com/docs/manage/endpoints#compute-size-and-autoscaling-configuration)\nfor more information.\n","$ref":"#/components/schemas/ComputeUnit"},"autoscaling_limit_max_cu":{"description":"The maximum number of Compute Units.\nSee [Compute size and Autoscaling configuration](https://neon.com/docs/manage/endpoints#compute-size-and-autoscaling-configuration)\nfor more information.\n","$ref":"#/components/schemas/ComputeUnit"},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"pooler_enabled":{"deprecated":true,"description":"Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n","type":"boolean"},"pooler_mode":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n","$ref":"#/components/schemas/EndpointPoolerMode"},"disabled":{"type":"boolean","description":"Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n"},"passwordless_access":{"type":"boolean","description":"NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n"},"suspend_timeout_seconds":{"$ref":"#/components/schemas/SuspendTimeoutSeconds","description":"Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value."},"name":{"type":"string","minLength":1,"maxLength":64,"description":"Optional name of the compute endpoint\n"}}}}},"EndpointUpdateRequest":{"type":"object","required":["endpoint"],"properties":{"endpoint":{"type":"object","description":"Parameters for the compute endpoint update.","properties":{"branch_id":{"deprecated":true,"description":"Deprecated. The destination branch ID; must not have an existing read-write endpoint.\n","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"autoscaling_limit_min_cu":{"description":"The minimum number of Compute Units. The minimum value is `0.25`.\nSee [Compute size and Autoscaling configuration](https://neon.com/docs/manage/endpoints#compute-size-and-autoscaling-configuration)\nfor more information.\n","$ref":"#/components/schemas/ComputeUnit"},"autoscaling_limit_max_cu":{"description":"The maximum number of Compute Units.\nSee [Compute size and Autoscaling configuration](https://neon.com/docs/manage/endpoints#compute-size-and-autoscaling-configuration)\nfor more information.\n","$ref":"#/components/schemas/ComputeUnit"},"provisioner":{"$ref":"#/components/schemas/Provisioner","description":"Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`."},"settings":{"$ref":"#/components/schemas/EndpointSettingsData"},"pooler_enabled":{"deprecated":true,"description":"Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n","type":"boolean"},"pooler_mode":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n","$ref":"#/components/schemas/EndpointPoolerMode"},"disabled":{"description":"Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n","type":"boolean"},"passwordless_access":{"description":"NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n","type":"boolean"},"suspend_timeout_seconds":{"$ref":"#/components/schemas/SuspendTimeoutSeconds","description":"Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value."},"name":{"type":"string","minLength":1,"maxLength":64,"description":"Optional name of the compute endpoint\n"}}}}},"EndpointResponse":{"type":"object","required":["endpoint"],"properties":{"endpoint":{"$ref":"#/components/schemas/Endpoint","description":"Compute endpoint created or retrieved, including its current lifecycle state."}}},"ConnectionURIsResponse":{"type":"object","required":["connection_uris"],"x-sensitive":["connection_uris"],"properties":{"connection_uris":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionDetails"},"description":"Connection URIs for the project. Each entry contains credentials and should be treated as sensitive."}}},"ConnectionURIsOptionalResponse":{"type":"object","properties":{"connection_uris":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionDetails"},"description":"Connection URIs for the compute endpoint, including credentials."}}},"VPCEndpointsResponse":{"type":"object","required":["endpoints"],"properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/VPCEndpoint"},"description":"List of VPC endpoints returned by the request."}}},"VPCEndpointsWithRegionResponse":{"type":"object","required":["endpoints"],"properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/VPCEndpointWithRegion"},"description":"VPC endpoints associated with the region."}}},"VPCEndpoint":{"type":"object","required":["vpc_endpoint_id","label"],"properties":{"vpc_endpoint_id":{"description":"Cloud provider identifier for the VPC endpoint.","type":"string"},"label":{"description":"A descriptive label for the VPC endpoint","type":"string"}}},"VPCEndpointWithRegion":{"allOf":[{"$ref":"#/components/schemas/VPCEndpoint"},{"type":"object","required":["region_id"],"properties":{"region_id":{"description":"The region where the VPC endpoint is located","type":"string"}}}]},"VPCEndpointDetails":{"type":"object","required":["vpc_endpoint_id","label","state","num_restricted_projects","example_restricted_projects"],"x-sensitive":["state"],"properties":{"vpc_endpoint_id":{"description":"Cloud provider identifier for the VPC endpoint.","type":"string"},"label":{"description":"A descriptive label for the VPC endpoint","type":"string"},"state":{"description":"The current state of the VPC endpoint. `new` means the endpoint has just been configured and is pending acceptance by Neon. `accepted` means the VPC connection has been accepted by Neon.\n","type":"string","example":"new"},"num_restricted_projects":{"description":"The number of projects that are restricted to use this VPC endpoint.\n","type":"integer"},"example_restricted_projects":{"description":"A list of example projects that are restricted to use this VPC endpoint.\nThere are at most 3 projects in the list, even if more projects are restricted.\n","type":"array","items":{"type":"string"}}}},"VPCEndpointAssignment":{"type":"object","required":["label"],"properties":{"label":{"type":"string","description":"Human-readable name for the VPC endpoint assignment, used to identify it within the organization."}}},"EndpointsResponse":{"type":"object","required":["endpoints"],"properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/Endpoint"},"description":"Compute endpoints in the project. Each includes `id`, `branch_id`, `host`, and `type`."}}},"EndpointsOptionalResponse":{"type":"object","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/Endpoint"},"description":"Compute endpoints associated with the project."}}},"Role":{"type":"object","required":["branch_id","name","created_at","updated_at"],"x-sensitive":["password"],"properties":{"branch_id":{"description":"The ID of the branch this role belongs to.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"name":{"description":"Postgres role name within the branch.\n","type":"string"},"password":{"description":"The role password\n","type":"string"},"protected":{"description":"Whether or not the role is system-protected\n","type":"boolean"},"authentication_method":{"description":"Authentication method configured for this role: `password`, `oauth`, or `no_login`.\n","type":"string","example":"password"},"created_at":{"description":"A timestamp indicating when the role was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the role was last updated\n","type":"string","format":"date-time"}},"example":{"branch_id":"br-wispy-meadow-118737","name":"casey","protected":false,"created_at":"2022-11-23T17:42:25Z","updated_at":"2022-11-23T17:42:25Z"}},"RoleCreateRequest":{"type":"object","required":["role"],"properties":{"role":{"type":"object","description":"Properties of the role to create.","required":["name"],"properties":{"name":{"description":"The role name. Cannot exceed 63 bytes in length.\n","type":"string"},"no_login":{"description":"Whether to create a role that cannot login.\n","type":"boolean"}}}}},"RoleResponse":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/Role","description":"Role details for the requested database role. The `password` field is included in the response when a role is created or its password is reset, and is not returned in subsequent read requests. Store it securely at that time."}}},"JWKSResponse":{"type":"object","required":["jwks"],"properties":{"jwks":{"$ref":"#/components/schemas/JWKS","description":"JWKS configuration associated with the project."}}},"RolesResponse":{"type":"object","required":["roles"],"x-sensitive":["roles"],"properties":{"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"description":"Roles belonging to the branch. Each role includes fields such as `branch_id`, `name`, `protected`, `created_at`, and `updated_at`.\n"}}},"RolePasswordResponse":{"type":"object","required":["password"],"x-sensitive":["password"],"properties":{"password":{"description":"The role password\n","type":"string"}}},"PaymentSourceBankCard":{"type":"object","required":["last4"],"properties":{"last4":{"type":"string","description":"Last 4 digits of the card.\n"},"brand":{"type":"string","description":"Card network reported by the payment processor. Set to `unknown` when the network cannot be determined.\n","enum":["amex","diners","discover","jcb","mastercard","unionpay","unknown","visa"]},"exp_month":{"type":"integer","format":"int64","description":"Credit card expiration month\n"},"exp_year":{"type":"integer","format":"int64","description":"Credit card expiration year\n"}}},"PaymentSource":{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Type of payment source. E.g. \"card\".\n"},"card":{"$ref":"#/components/schemas/PaymentSourceBankCard","description":"Bank card details for this payment source."}}},"BillingAccount":{"type":"object","required":["state","payment_source","subscription_type","payment_method","quota_reset_at_last","name","email","address_city","address_country","address_line1","address_line2","address_postal_code","address_state"],"x-sensitive":["name","email","state","tax_id","address_city","address_country","address_line1","address_line2","address_postal_code","address_state"],"properties":{"state":{"$ref":"#/components/schemas/BillingAccountState","description":"State of the billing account. `UNKNOWN`: state is not determined. `active`: the account is active and in normal operation. `suspended`: the account has been suspended. `deactivated`: the account has been deactivated. `deleted`: the account has been deleted.\n"},"payment_source":{"$ref":"#/components/schemas/PaymentSource","description":"Payment source attached to the billing account, such as a credit card on file."},"subscription_type":{"$ref":"#/components/schemas/BillingSubscriptionType"},"payment_method":{"$ref":"#/components/schemas/BillingPaymentMethod"},"quota_reset_at_last":{"description":"Timestamp of the last quota reset. Set to the account creation time when the account is first created.\n","type":"string","format":"date-time"},"name":{"description":"The full name of the individual or entity that owns the billing account. This name appears on invoices.","type":"string"},"email":{"description":"Billing email, to receive emails related to invoices and subscriptions.\n","type":"string","format":"email","minLength":1,"maxLength":256},"address_city":{"description":"Billing address city.\n","type":"string"},"address_country":{"description":"Billing address country code defined by ISO 3166-1 alpha-2.\n","type":"string"},"address_country_name":{"description":"Billing address country name.\n","type":"string"},"address_line1":{"description":"Billing address line 1.\n","type":"string"},"address_line2":{"description":"Billing address line 2.\n","type":"string"},"address_postal_code":{"description":"Billing address postal code.\n","type":"string"},"address_state":{"description":"Billing address state or region.\n","type":"string"},"orb_portal_url":{"description":"Orb user portal url\n","type":"string"},"tax_id":{"description":"The tax identification number for the billing account, displayed on invoices.\n","type":"string"},"tax_id_type":{"description":"The type of the tax identification number based on the country.\n","type":"string"},"plan_details":{"$ref":"#/components/schemas/PlanDetails","description":"Details of the subscription plan associated with the billing account."},"spending_limit_cents":{"description":"Monthly spending cap in cents for V3 paid plans. When set,\nnotifications are sent at 80% and 100% of this limit. `null`\nmeans no limit is configured.\n","type":"integer","format":"int64","nullable":true}}},"SpendingLimitUpdateRequest":{"type":"object","required":["spending_limit_cents"],"properties":{"spending_limit_cents":{"description":"Monthly spending cap in cents. Must be positive. To remove a\npreviously configured limit, send a DELETE request to the\nspending_limit endpoint — `0` and `null` are rejected here.\nThe cap is alert-only: notifications fire at 80% and 100%, but\ncomputes are not suspended. Setting a cap below the period's\nalready-accrued spend is permitted and will trigger the\nover-limit notification on the next worker run.\n","type":"integer","format":"int64","minimum":1}}},"SpendingLimitResponse":{"type":"object","required":["spending_limit_cents"],"properties":{"spending_limit_cents":{"description":"Monthly spending cap in cents. `null` indicates that no limit\nis currently configured.\n","type":"integer","format":"int64","nullable":true}}},"BillingAccountState":{"type":"string","description":"State of the billing account.\n","enum":["UNKNOWN","active","suspended","deactivated","deleted"]},"BillingSubscriptionType":{"type":"string","description":"Type of subscription to Neon Cloud.\nNotice that for users without billing account this will be \"UNKNOWN\"\n","enum":["UNKNOWN","direct_sales","direct_sales_v3","aws_marketplace","free_v2","free_v3","launch","launch_v3","scale","scale_v3","business","vercel_pg_legacy"]},"BillingPaymentMethod":{"type":"string","description":"Indicates whether and how an account makes payments.\n","enum":["UNKNOWN","none","stripe","direct_payment","aws_mp","azure_mp","vercel_mp","staff","trial","sponsorship","shared_payment_token"]},"Database":{"type":"object","required":["id","branch_id","name","owner_name","created_at","updated_at"],"properties":{"id":{"description":"The database ID\n","type":"integer","format":"int64"},"branch_id":{"description":"The ID of the branch this database belongs to.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"name":{"description":"The database name\n","type":"string"},"owner_name":{"description":"The name of role that owns the database\n","type":"string"},"created_at":{"description":"A timestamp indicating when the database was created\n","type":"string","format":"date-time"},"updated_at":{"description":"A timestamp indicating when the database was last updated\n","type":"string","format":"date-time"}},"example":{"id":834686,"branch_id":"br-wispy-meadow-118737","name":"neondb","owner_name":"casey","created_at":"2022-11-30T18:25:15Z","updated_at":"2022-11-30T18:25:15Z"}},"DatabaseCreateRequest":{"type":"object","required":["database"],"x-sensitive":["database"],"properties":{"database":{"type":"object","description":"Configuration for the new Postgres database.","required":["name","owner_name"],"properties":{"name":{"description":"Name of the database to create.\n","type":"string"},"owner_name":{"description":"The name of the role that owns the database\n","type":"string"}}}}},"DatabaseUpdateRequest":{"type":"object","required":["database"],"x-sensitive":["database"],"properties":{"database":{"type":"object","description":"Properties to update on the database.","properties":{"name":{"description":"Name of the database to update.\n","type":"string"},"owner_name":{"description":"The name of the role that owns the database\n","type":"string"}}}}},"DatabaseResponse":{"type":"object","required":["database"],"x-sensitive":["database"],"properties":{"database":{"$ref":"#/components/schemas/Database","description":"Database object returned by the operation."}}},"DatabasesResponse":{"type":"object","required":["databases"],"properties":{"databases":{"type":"array","items":{"$ref":"#/components/schemas/Database"},"description":"Databases on the branch. Each includes `id`, `name`, `owner_name`, and `created_at`."}}},"Invitation":{"type":"object","required":["id","email","org_id","invited_by","invited_at","role"],"x-sensitive":["email"],"properties":{"id":{"type":"string","format":"uuid","description":"The invitation ID."},"email":{"description":"Email of the invited user","type":"string","format":"email","minLength":1,"maxLength":256},"org_id":{"description":"Organization id as it is stored in Neon","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"invited_by":{"description":"UUID for the user_id who extended the invitation","type":"string","format":"uuid"},"invited_at":{"description":"Timestamp when the invitation was created","type":"string","format":"date-time"},"role":{"$ref":"#/components/schemas/MemberRole"}}},"MemberRole":{"description":"Organization member's role. `admin`: full administrative access. `editor` (and its legacy alias `member`): standard access governed by project permissions. `viewer` and `collaborator`: additional scoped project roles. Some values may not be available for all organizations.","type":"string","enum":["admin","member","editor","viewer","collaborator"]},"Member":{"type":"object","required":["id","user_id","org_id","role"],"properties":{"id":{"type":"string","format":"uuid","description":"The organization member's ID."},"user_id":{"type":"string","format":"uuid","description":"The Neon user ID."},"org_id":{"description":"The Neon organization ID. Returned as `id` from `GET /users/me/organizations`.","example":"org-cool-darkness-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"role":{"$ref":"#/components/schemas/MemberRole"},"joined_at":{"type":"string","format":"date-time","description":"Timestamp when the user joined the organization."}}},"MemberUserInfo":{"type":"object","required":["email"],"x-sensitive":["email"],"properties":{"email":{"description":"Email address of the organization member's user account.","type":"string","format":"email","minLength":1,"maxLength":256},"has_mfa":{"type":"boolean","description":"Whether the member has MFA (TOTP) enabled"},"deactivated_at":{"type":"string","format":"date-time","description":"Timestamp of when the user account was deactivated.\nAbsent for active users. When present, the UI should render a\n\"Deactivated\" badge inline next to the member.\n"}}},"MemberWithUser":{"type":"object","required":["member","user"],"properties":{"member":{"$ref":"#/components/schemas/Member","description":"Membership record for the user in the organization."},"user":{"$ref":"#/components/schemas/MemberUserInfo","description":"Profile information for the organization member."}}},"Organization":{"type":"object","required":["id","name","handle","plan","created_at","updated_at","managed_by"],"properties":{"id":{"description":"The Neon organization ID. Use as the `org_id` path parameter in other endpoints.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"name":{"type":"string","description":"Human-readable display name of the organization."},"handle":{"type":"string","description":"URL-safe identifier for the organization, used in API paths. Distinct from the display name."},"plan":{"type":"string","description":"Billing plan for the organization, for example `free`, `launch`, or `scale`."},"created_at":{"description":"A timestamp indicting when the organization was created\n","type":"string","format":"date-time"},"managed_by":{"description":"Organizations created via the Console or the API are managed by `console`.\nOrganizations created by other methods can't be deleted via the Console or the API.\n","type":"string"},"updated_at":{"description":"A timestamp indicating when the organization was updated\n","type":"string","format":"date-time"},"allow_hipaa_projects":{"description":"If true, allow account to mark projects as HIPAA","type":"boolean"},"require_mfa":{"description":"If true, all members must have MFA enabled to access this organization","type":"boolean"}}},"OrganizationsResponse":{"type":"object","required":["organizations"],"properties":{"organizations":{"type":"array","items":{"$ref":"#/components/schemas/Organization"},"description":"Organizations returned by the request. Each includes `id`, `name`, `handle`, and `plan`."}}},"OrganizationInvitationsResponse":{"type":"object","required":["invitations"],"properties":{"invitations":{"type":"array","items":{"$ref":"#/components/schemas/Invitation"},"description":"List of pending invitations for the organization."}}},"OrganizationInviteCreateRequest":{"type":"object","required":["email","role"],"x-sensitive":["email"],"properties":{"email":{"description":"Email address of the person to invite to the organization.","type":"string","format":"email","minLength":1,"maxLength":256},"role":{"$ref":"#/components/schemas/MemberRole"}}},"OrganizationInvitesCreateRequest":{"type":"object","required":["invitations"],"properties":{"invitations":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationInviteCreateRequest"},"description":"Invitations to create for the organization."}}},"OrganizationMemberUpdateRequest":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"}}},"OrganizationMembersResponse":{"type":"object","required":["members"],"properties":{"members":{"type":"array","items":{"$ref":"#/components/schemas/MemberWithUser"},"description":"Members of the organization, each combining membership details (role, status) with the associated user's identity."}}},"ActiveRegionsResponse":{"type":"object","required":["regions"],"properties":{"regions":{"type":"array","description":"The list of active regions","items":{"$ref":"#/components/schemas/RegionResponse"}}}},"RegionResponse":{"type":"object","required":["region_id","name","default","geo_lat","geo_long"],"properties":{"region_id":{"type":"string","description":"Cloud region where the resource's Postgres compute and storage reside (for example, `aws-us-east-1`). Valid values are returned by `GET /regions`.","example":"aws-us-east-1"},"name":{"type":"string","description":"A short description of the region."},"default":{"type":"boolean","description":"True if this region is selected by default when no region is specified during project creation."},"geo_lat":{"type":"string","description":"The geographical latitude (approximate) for the region. Empty if unknown."},"geo_long":{"type":"string","description":"The geographical longitude (approximate) for the region. Empty if unknown."}}},"CurrentUserAuthAccount":{"type":"object","required":["provider","email","name","login","image"],"x-sensitive":["email","name","login"],"properties":{"email":{"description":"Email address associated with this auth account.","type":"string","format":"email","minLength":1,"maxLength":256},"image":{"type":"string","description":"URL of the user's profile picture as provided by the identity provider."},"login":{"type":"string","deprecated":true,"description":"Deprecated. Use the `email` field.\n"},"name":{"type":"string","description":"Display name of the account as provided by the identity provider."},"provider":{"$ref":"#/components/schemas/IdentityProviderId"}}},"CurrentUserInfoResponse":{"type":"object","required":["active_seconds_limit","id","email","login","name","last_name","image","projects_limit","branches_limit","max_autoscaling_limit","auth_accounts","plan"],"x-sensitive":["email","name","last_name","login"],"properties":{"active_seconds_limit":{"description":"Control plane observes active endpoints of a user this amount of wall-clock time.\n","type":"integer","format":"int64"},"billing_account":{"$ref":"#/components/schemas/BillingAccount","description":"Billing account associated with the current user, including plan and subscription details."},"auth_accounts":{"type":"array","items":{"$ref":"#/components/schemas/CurrentUserAuthAccount"},"description":"Authentication provider accounts linked to the current user."},"email":{"description":"Email address of the authenticated user.","type":"string","format":"email","minLength":1,"maxLength":256},"id":{"type":"string","description":"The Neon user ID."},"image":{"type":"string","description":"URL of the user's profile avatar image."},"login":{"type":"string","deprecated":true,"description":"Deprecated. Use the `email` field.\n"},"name":{"type":"string","description":"First name of the current user."},"last_name":{"type":"string","description":"Last name of the current user."},"projects_limit":{"type":"integer","format":"int64","description":"Maximum number of projects the account is allowed to create under the current plan."},"branches_limit":{"type":"integer","format":"int64","description":"Maximum number of branches allowed for the account under the current plan."},"max_autoscaling_limit":{"type":"number","format":"double","description":"The maximum autoscaling limit in Compute Units.\nA value of 0 indicates no limit is configured.\n"},"compute_seconds_limit":{"type":"integer","format":"int64","description":"Maximum Postgres compute time, in seconds, allowed under the account's current plan."},"plan":{"type":"string","description":"Current billing plan for the user's account."}}},"AuthDetailsResponse":{"type":"object","required":["account_id","auth_method"],"properties":{"account_id":{"type":"string","description":"The ID of the account associated with this authentication record."},"auth_method":{"type":"string","enum":["keycloak","session_cookie","api_key_user","api_key_org","oauth"],"description":"Authentication method used for the request:\n- `keycloak`: Keycloak identity provider authentication.\n- `session_cookie`: Browser session cookie authentication.\n- `api_key_user`: API key scoped to a user account.\n- `api_key_org`: API key scoped to an organization.\n- `oauth`: OAuth-based authentication.\n"},"auth_data":{"type":"string"}}},"TransferProjectsToOrganizationRequest":{"type":"object","required":["destination_org_id","project_ids"],"properties":{"destination_org_id":{"description":"The destination organization identifier","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"project_ids":{"type":"array","minItems":1,"maxItems":400,"items":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"},"description":"The list of projects ids to transfer. Maximum of 400 project ids"}}},"IdentityProviderId":{"description":"Identity provider id from keycloak","type":"string","enum":["github","google","hasura","microsoft","microsoftv2","vercelmp","keycloak"]},"EndpointSettingsData":{"type":"object","description":"A collection of settings for a compute endpoint","properties":{"pg_settings":{"$ref":"#/components/schemas/PgSettingsData"},"pgbouncer_settings":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. PgBouncer settings for the compute endpoint. Removal scheduled for June 20, 2026.\n","$ref":"#/components/schemas/PgbouncerSettingsData"},"preload_libraries":{"$ref":"#/components/schemas/PreloadLibraries"}}},"ProjectQuota":{"type":"object","description":"Per-project consumption quotas. If a quota is exceeded, all active computes\nare automatically suspended and cannot be started via API calls or incoming connections.\n\nThe exception is `logical_size_bytes`, which is enforced per branch.\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n\nQuotas are enforced using per-project consumption metrics with the same names.\nThese metrics reset at the start of each billing period. `logical_size_bytes`\nis also an exception—it reflects the total data stored in a branch and does not reset.\n\nA zero or empty quota value means “unlimited.”\n","properties":{"active_time_seconds":{"description":"The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n","type":"integer","format":"int64","minimum":0},"compute_time_seconds":{"description":"The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n","type":"integer","format":"int64","minimum":0},"written_data_bytes":{"description":"Total amount of data written to all of a project's branches.\n","type":"integer","format":"int64","minimum":0},"data_transfer_bytes":{"description":"Total amount of data transferred from all of a project's branches using the proxy.\n","type":"integer","format":"int64","minimum":0},"logical_size_bytes":{"description":"Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n","type":"integer","format":"int64","minimum":0}}},"DefaultEndpointSettings":{"type":"object","description":"A collection of settings for a Neon endpoint","properties":{"pg_settings":{"$ref":"#/components/schemas/PgSettingsData"},"pgbouncer_settings":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. Use the endpoint-level connection pooler configuration instead. Removal scheduled for June 20, 2026.\n","$ref":"#/components/schemas/PgbouncerSettingsData"},"autoscaling_limit_min_cu":{"description":"Minimum number of Compute Units for this endpoint. At least 0.25 and no greater than `autoscaling_limit_max_cu`.\n","$ref":"#/components/schemas/ComputeUnit"},"autoscaling_limit_max_cu":{"description":"Default maximum number of Compute Units for endpoints created under this account. At least 0.25.\n","$ref":"#/components/schemas/ComputeUnit"},"suspend_timeout_seconds":{"$ref":"#/components/schemas/SuspendTimeoutSeconds","description":"Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value."}}},"PgSettingsData":{"description":"A raw representation of Postgres settings","type":"object","additionalProperties":{"type":"string"}},"PgbouncerSettingsData":{"deprecated":true,"x-sunset":"2026-06-20","description":"Deprecated. A raw representation of PgBouncer settings. Removal scheduled for June 20, 2026.\n","type":"object","additionalProperties":{"type":"string"}},"PgVersion":{"description":"The major Postgres version number. Supported versions are `14`, `15`, `16`, `17`, and `18`. `19` is rolling out and is accepted only in regions where it is enabled; requesting it elsewhere returns an error.","type":"integer","minimum":14,"maximum":19,"default":18,"example":18},"ProjectOwnerData":{"type":"object","required":["email","name","branches_limit","subscription_type"],"x-sensitive":["email","name"],"properties":{"email":{"description":"Email address of the project owner.","type":"string","format":"email","minLength":1,"maxLength":256},"name":{"type":"string","description":"Display name of the project owner."},"branches_limit":{"type":"integer","description":"Maximum number of branches the owner is allowed to create across their projects."},"subscription_type":{"$ref":"#/components/schemas/BillingSubscriptionType"}}},"LimitsUnsatisfiedResponse":{"type":"object","required":["limits"],"properties":{"limits":{"type":"array","items":{"type":"object","required":["name","expected","actual"],"properties":{"name":{"type":"string","description":"Identifier of the unsatisfied limit. Possible values are:\n- subscription_type\n- projects_count\n- project_region\n"},"expected":{"type":"string","description":"Required value for the limit named by `name`. Compare with `actual` to determine the shortfall."},"actual":{"type":"string","description":"Current value of the named limit, which does not satisfy the required `expected` value."}}},"description":"Plan limits that were not satisfied by the request."}},"example":{"limits":[{"name":"projects_count","actual":"2","expected":"1"},{"name":"subscription_type","actual":"launch","expected":"scale"}]}},"ProjectsWithIntegrationResponse":{"type":"object","required":["projects"],"properties":{"projects":{"type":"array","items":{"type":"object","required":["id","integration"],"properties":{"id":{"description":"The Neon project ID. Use as the `project_id` path parameter in other endpoints.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"integration":{"type":"string","description":"Name of the external integration associated with the project."}}},"description":"Projects that have the requested integration, each including the project details and associated integration metadata."}},"example":{"projects":[{"id":"round-frog-53611540","integration":"github"},{"id":"long-leaf-72329067","integration":"vercel"}]}},"DataAPISettings":{"x-tags":["DataAPI"],"description":"Configuration settings for the Neon Data API","type":"object","properties":{"db_aggregates_enabled":{"type":"boolean","description":"Enable aggregates feature","default":true},"db_anon_role":{"type":"string","description":"Database role to use for anonymous requests","default":"anonymous"},"db_extra_search_path":{"type":"string","description":"Extra schemas to add to the search path"},"db_max_rows":{"type":"integer","description":"Hard limit on the number of rows returned in a single Data API response. No limit when unset."},"db_schemas":{"type":"array","items":{"type":"string"},"description":"List of schemas to expose via the API. Default: [\"public\"]"},"jwt_role_claim_key":{"type":"string","description":"JWT claim key to use for role extraction","default":".role"},"jwt_cache_max_lifetime":{"type":"integer","description":"Maximum lifetime of the Data API's JWT cache, in seconds."},"openapi_mode":{"type":"string","description":"OpenAPI specification mode (ignore-privileges, disabled)","default":"disabled"},"server_cors_allowed_origins":{"type":"string","description":"CORS allowed origins"},"server_timing_enabled":{"type":"boolean","description":"When enabled, the Data API adds `Server-Timing` headers to each response showing database execution and internal processing time. Default: disabled."}}},"DataAPICreateRequest":{"x-tags":["DataAPI"],"description":"Create Neon Data API","type":"object","properties":{"auth_provider":{"type":"string","description":"Authentication provider for the Neon Data API. `neon_auth`: use Neon's built-in managed authentication (no JWKS configuration required). `external`: use an external JWT provider, which requires `jwks_url`. When omitted, no auth provider is configured (existing setup is kept).","enum":["neon_auth","external"]},"jwks_url":{"description":"URL of the JWKS endpoint used to verify JWTs for this Data API. Required when configuring JWT-based authentication; omit when using a non-JWT auth provider.","type":"string","format":"uri"},"provider_name":{"description":"Display name for the authentication provider. Accepted values include \"Clerk\", \"Stytch\", and \"Auth0\", but any non-empty string is valid. Optional field.","type":"string"},"jwt_audience":{"description":"Expected `aud` claim in incoming JWTs. When set, tokens with a different audience are rejected; tokens with no audience are still accepted. Omit to skip audience validation.\n","type":"string"},"add_default_grants":{"description":"Grant all permissions to the tables in the public schema to authenticated users","type":"boolean","default":false},"skip_auth_schema":{"description":"Skip creating the auth schema and RLS functions","type":"boolean","default":false},"settings":{"$ref":"#/components/schemas/DataAPISettings","description":"Auth and schema configuration for the Data API."}}},"DataAPICreateResponse":{"x-tags":["DataAPI"],"description":"Neon Data API created successfully","type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"URL of the created Data API endpoint."}}},"DataAPIReponse":{"x-tags":["DataAPI"],"description":"Neon Data API response","type":"object","required":["url","status"],"properties":{"url":{"type":"string","description":"The URL of the Neon Data API","format":"uri"},"status":{"type":"string","description":"The status of the Neon Data API deployment"},"settings":{"allOf":[{"$ref":"#/components/schemas/DataAPISettings"}],"type":"object","nullable":true,"description":"Configuration settings for the Data API (SubZero only)"},"available_schemas":{"type":"array","items":{"type":"string"},"nullable":true,"description":"List of available database schemas (SubZero only)"}}},"DataAPIUpdateRequest":{"x-tags":["DataAPI"],"description":"Update Neon Data API","type":"object","properties":{"settings":{"$ref":"#/components/schemas/DataAPISettings","description":"Configuration settings for the Neon Data API."}}},"NeonAuthSupportedAuthProvider":{"description":"Authentication provider integrated with this Neon Auth configuration. `better_auth` integrates with Better Auth (the current, recommended provider). `stack` integrates with Stack Auth (deprecated). `mock` is a simulated provider for local development and testing only.","type":"string","enum":["mock","stack","better_auth"]},"NeonAuthProviderProjectOwnedBy":{"type":"string","enum":["user","neon"]},"NeonAuthProviderProjectTransferStatus":{"type":"string","enum":["initiated","finished"]},"NeonAuthRedirectURIWhitelistDomain":{"type":"object","required":["domain","auth_provider"],"properties":{"domain":{"type":"string","description":"Allowed redirect URI domain for the auth provider."},"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"}}},"NeonAuthRedirectURIWhitelistResponse":{"type":"object","required":["domains"],"properties":{"domains":{"type":"array","items":{"$ref":"#/components/schemas/NeonAuthRedirectURIWhitelistDomain"},"description":"Domains permitted as redirect URI targets in the whitelist."}}},"NeonAuthAddDomainToRedirectURIWhitelistRequest":{"type":"object","required":["domain","auth_provider"],"properties":{"domain":{"type":"string","format":"uri","description":"URI to add to the redirect URI allowlist for the auth provider."},"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"}}},"NeonAuthDeleteDomainFromRedirectURIWhitelistRequest":{"type":"object","required":["domains","auth_provider"],"properties":{"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"},"domains":{"type":"array","items":{"$ref":"#/components/schemas/NeonAuthDeleteDomainFromRedirectURIWhitelistItem"},"description":"Domain names to remove from the redirect URI whitelist for the specified auth provider."}}},"NeonAuthDeleteDomainFromRedirectURIWhitelistItem":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","format":"uri","description":"URI to remove from the redirect URI whitelist."}}},"NeonAuthCreateIntegrationRequest":{"type":"object","required":["auth_provider","project_id","branch_id"],"x-sensitive":["database_name"],"properties":{"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"},"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","example":"wispy-forest-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"branch_id":{"description":"The Neon branch ID. Returned as `id` from `GET /projects/{project_id}/branches`.","example":"br-cool-darkness-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"database_name":{"type":"string","description":"Name of the database to associate with the Neon Auth integration. When omitted, the integration uses the project's default database."},"role_name":{"type":"string","deprecated":true,"description":"Deprecated. The database role for the auth integration. Omit this field; it is ignored."}}},"EnableNeonAuthIntegrationRequest":{"type":"object","required":["auth_provider"],"x-sensitive":["database_name"],"properties":{"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"},"database_name":{"type":"string","description":"Name of the database to enable Neon Auth on. When omitted, the integration uses the project's default database."}}},"NeonAuthCreateIntegrationResponse":{"type":"object","required":["auth_provider","auth_provider_project_id","pub_client_key","secret_server_key","jwks_url","schema_name","table_name"],"x-sensitive":["pub_client_key","secret_server_key"],"properties":{"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"},"auth_provider_project_id":{"type":"string","description":"Project ID assigned by the auth provider for this integration."},"pub_client_key":{"type":"string","description":"Publishable SDK key from the auth provider. Populated only for Stack Auth (deprecated); empty for Better Auth."},"secret_server_key":{"type":"string","description":"Secret server-side SDK key from the auth provider. Populated only for Stack Auth (deprecated); empty for Better Auth. Treat as a credential."},"jwks_url":{"type":"string","description":"URL of the provider's JWKS endpoint used to verify JWTs."},"schema_name":{"type":"string","description":"Postgres schema containing the auth integration tables. Defaults to `neon_auth`."},"table_name":{"type":"string","description":"Postgres table in the integration schema where synced user records are stored."},"base_url":{"type":"string","description":"Base URL of the Neon Auth service for this integration. Set as the NEON_AUTH_BASE_URL environment variable in your application."}}},"NeonAuthCreateAuthProviderSDKKeysRequest":{"type":"object","required":["project_id","auth_provider"],"properties":{"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","example":"wispy-forest-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"}}},"NeonAuthCreateNewUserRequest":{"type":"object","required":["project_id","auth_provider","email"],"x-sensitive":["email","name"],"properties":{"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"},"email":{"description":"Email address of the new user.","type":"string","format":"email","minLength":1,"maxLength":256},"name":{"type":"string","minLength":1,"maxLength":255,"description":"Display name for the new user. When omitted, the created user has no display name."}}},"CreateBranchNeonAuthNewUserRequest":{"type":"object","required":["email"],"x-sensitive":["email","name"],"properties":{"email":{"description":"Email address of the new Neon Auth user to create.","type":"string","format":"email","minLength":1,"maxLength":256},"name":{"type":"string","minLength":1,"maxLength":255,"description":"Display name for the new user. Optional. Pair with the required email field when creating a new user."}}},"NeonAuthCreateNewUserResponse":{"type":"object","required":["id"],"properties":{"id":{"description":"ID of newly created user","type":"string"}}},"UpdateNeonAuthUserRoleRequest":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","description":"Roles to assign to the user in the Neon Auth (Better Auth) directory. `user` and `admin` are the built-in roles; custom role strings are also supported.","items":{"type":"string"},"minItems":1,"example":["admin"]}}},"UpdateNeonAuthUserRoleResponse":{"type":"object","required":["id"],"properties":{"id":{"description":"ID of the updated user","type":"string"}}},"NeonAuthAllowLocalhostResponse":{"type":"object","required":["allow_localhost"],"properties":{"allow_localhost":{"type":"boolean","description":"Whether to allow localhost connections"}}},"UpdateNeonAuthAllowLocalhostRequest":{"type":"object","required":["allow_localhost"],"properties":{"allow_localhost":{"type":"boolean","description":"Whether to allow localhost connections"}}},"NeonAuthOrganizationConfig":{"type":"object","required":["enabled","organization_limit","membership_limit","creator_role","send_invitation_email"],"properties":{"enabled":{"type":"boolean","description":"Whether the organization plugin is enabled.","default":true},"organization_limit":{"type":"integer","format":"int32","minimum":1,"default":10,"description":"Maximum organizations a user can belong to (created or joined). At the limit, the user cannot create or join more."},"membership_limit":{"type":"integer","format":"int32","minimum":1,"default":100,"description":"Maximum number of members per organization."},"creator_role":{"type":"string","description":"Role of the organization's creator. `owner`: full control, including deleting the org and transferring ownership. `admin`: manage members and settings only.","default":"owner","enum":["admin","owner"]},"send_invitation_email":{"type":"boolean","description":"Whether to send invitation emails when inviting members to an organization.","default":false}}},"NeonAuthOrganizationConfigUpdate":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Controls whether the organization plugin is active for the organization."},"organization_limit":{"type":"integer","format":"int32","minimum":1,"description":"Maximum organizations a user can belong to (created or joined). At the limit, the user cannot create or join more."},"membership_limit":{"type":"integer","format":"int32","minimum":1,"description":"Maximum members per organization."},"creator_role":{"type":"string","description":"Role of the organization's creator. `owner`: full control, including deleting the org and transferring ownership. `admin`: manage members and settings only.","enum":["admin","owner"]},"send_invitation_email":{"type":"boolean","description":"When true, invited users receive an email containing an accept link. Requires that the invited user has a verified email address."}}},"NeonAuthMagicLinkConfig":{"type":"object","required":["enabled","expires_in","disable_sign_up"],"properties":{"enabled":{"type":"boolean","description":"Whether the magic link plugin is enabled.","default":false},"expires_in":{"type":"integer","format":"int32","minimum":5,"maximum":1440,"default":5,"description":"Minutes until the magic link expires."},"disable_sign_up":{"type":"boolean","default":false,"description":"Whether to disable sign-up via magic link."}}},"NeonAuthMagicLinkConfigUpdate":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether to enable the magic link plugin."},"expires_in":{"type":"integer","format":"int32","minimum":5,"maximum":1440,"description":"Minutes until the magic link expires."},"disable_sign_up":{"type":"boolean","description":"When true, sign-up via magic link is disabled."}}},"NeonAuthPhoneNumberConfig":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean","description":"Whether the phone number plugin is enabled.","default":false},"otp_expires_in":{"type":"integer","description":"Time in seconds before the OTP expires","default":300,"minimum":60,"maximum":600}}},"NeonAuthPhoneNumberConfigUpdate":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the phone number plugin is enabled."},"otp_expires_in":{"type":"integer","description":"Time in seconds before the OTP expires","minimum":60,"maximum":600}}},"NeonAuthTransferAuthProviderProjectRequest":{"type":"object","required":["project_id","auth_provider"],"properties":{"project_id":{"description":"The Neon project ID. Returned as `id` from `GET /projects`.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"}}},"NeonAuthTransferAuthProviderProjectResponse":{"type":"object","required":["url"],"properties":{"url":{"description":"URL for completing the process of ownership transfer","type":"string"}}},"ListNeonAuthIntegrationsResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NeonAuthIntegration"},"description":"Neon Auth integrations configured for the project."}}},"ListNeonAuthOauthProvidersResponse":{"type":"object","required":["providers"],"properties":{"providers":{"type":"array","items":{"$ref":"#/components/schemas/NeonAuthOauthProvider"},"description":"OAuth providers configured for Neon Auth on the project."}}},"NeonAuthPluginConfigs":{"type":"object","description":"Aggregated plugin configurations for Neon Auth","properties":{"organization":{"$ref":"#/components/schemas/NeonAuthOrganizationConfig","description":"Configuration for the Neon Auth organization plugin, which enables user organizations within the authentication system. This is distinct from a Neon platform organization."},"magic_link":{"$ref":"#/components/schemas/NeonAuthMagicLinkConfig","description":"Configuration for passwordless magic-link email authentication."},"phone_number":{"$ref":"#/components/schemas/NeonAuthPhoneNumberConfig","description":"Configuration for the phone number authentication plugin."},"email_provider":{"$ref":"#/components/schemas/NeonAuthEmailServerConfig","description":"Email server configuration used to send authentication emails."},"email_and_password":{"$ref":"#/components/schemas/NeonAuthEmailAndPasswordConfig","description":"Configuration for email and password authentication."},"oauth_providers":{"type":"array","items":{"$ref":"#/components/schemas/NeonAuthOauthProvider"},"description":"OAuth provider configurations enabled for this auth setup."},"allow_localhost":{"type":"boolean","description":"Permits authentication requests from localhost origins when true. Intended for local development; disable in production environments."}}},"NeonAuthWebhookConfig":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean","description":"Whether the webhook is active."},"webhook_url":{"type":"string","description":"Destination URL that receives webhook event payloads."},"enabled_events":{"type":"array","items":{"type":"string","enum":["user.before_create","user.created","send.otp","send.magic_link","organization.invitation.created","organization.invitation.accepted","phone_number.verified"]},"description":"Event types that trigger this webhook. Covers user lifecycle, email/OTP delivery, organization invitations, and phone verification events; see the enum for exact values."},"timeout_seconds":{"type":"integer","default":5,"minimum":1,"maximum":10,"description":"Maximum time, in seconds, to wait for a response from the webhook endpoint."}}},"NeonAuthOauthProvider":{"type":"object","required":["id","type"],"x-sensitive":["client_secret"],"properties":{"id":{"$ref":"#/components/schemas/NeonAuthOauthProviderId","description":"The OAuth provider's ID."},"type":{"$ref":"#/components/schemas/NeonAuthOauthProviderType","description":"OAuth provider key type. `standard` uses your own OAuth credentials. `shared` uses Neon-managed keys intended for development only; they display Neon branding on the OAuth consent screen and must not be used in production."},"client_id":{"type":"string","description":"Public identifier for the OAuth application, issued by the provider when the application is registered."},"client_secret":{"type":"string","description":"OAuth client secret for the provider."}}},"NeonAuthOauthProviderId":{"type":"string","enum":["google","github","microsoft","vercel"]},"NeonAuthOauthProviderType":{"type":"string","enum":["standard","shared"]},"NeonAuthAddOAuthProviderRequest":{"type":"object","required":["id"],"x-sensitive":["client_secret"],"properties":{"id":{"$ref":"#/components/schemas/NeonAuthOauthProviderId","description":"OAuth provider to configure for Neon Auth. Known values: `google`, `github`, `microsoft`, `vercel`.\n"},"client_id":{"type":"string","description":"The client ID issued by the OAuth provider for your application. Used to identify the application during the OAuth flow."},"client_secret":{"type":"string","description":"OAuth client secret for the provider."},"microsoft_tenant_id":{"type":"string","description":"Tenant ID for the Microsoft OAuth provider. Only relevant when the OAuth provider is Microsoft; omit or leave blank for other providers."}}},"NeonAuthUpdateOAuthProviderRequest":{"type":"object","x-sensitive":["client_secret"],"properties":{"client_id":{"type":"string","description":"The OAuth client ID registered with the provider. Omit to keep the currently configured value."},"client_secret":{"type":"string","description":"OAuth client secret for the provider. Omit to leave the existing secret unchanged."},"microsoft_tenant_id":{"type":"string","description":"The tenant ID scoping the Microsoft OAuth provider. Supply this field when the provider type is microsoft; it has no effect for other provider types."}}},"SharedEmailServer":{"type":"object","properties":{"sender_email":{"type":"string","description":"Email address used as the sender for outgoing messages from this shared email server."},"sender_name":{"type":"string","description":"Display name shown as the sender in outgoing emails."}}},"StandardEmailServer":{"type":"object","required":["host","port","username","password","sender_email","sender_name"],"x-sensitive":["host","password","username"],"properties":{"host":{"type":"string","description":"Hostname of the email server."},"port":{"type":"integer","description":"TCP port of the SMTP server. Common values: 25 (SMTP), 465 (SMTPS), 587 (submission)."},"username":{"type":"string","description":"Username for authenticating with the SMTP server."},"password":{"type":"string","description":"Password for authenticating with the SMTP server."},"sender_email":{"type":"string","description":"Email address used as the From address on outgoing auth emails."},"sender_name":{"type":"string","description":"Display name shown as the sender in outgoing emails."}}},"NeonAuthEmailServerConfig":{"type":"object","discriminator":{"propertyName":"type","mapping":{"standard":"#/components/schemas/StandardEmailServer","shared":"#/components/schemas/SharedEmailServer"}},"oneOf":[{"$ref":"#/components/schemas/StandardEmailServer"},{"$ref":"#/components/schemas/SharedEmailServer"}]},"SendNeonAuthTestEmailRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/StandardEmailServer"},{"type":"object","required":["recipient_email"],"properties":{"recipient_email":{"description":"The email address to send the test email to.","type":"string","format":"email","minLength":1,"maxLength":256}}}]},"SendNeonAuthTestEmailResponse":{"type":"object","required":["success"],"properties":{"success":{"type":"boolean","description":"Whether the test email was sent successfully."},"error_message":{"type":"string","description":"The error message from the email server."}}},"NeonAuthEmailVerificationMethod":{"type":"string","enum":["link","otp"],"description":"The email verification method to use.\n- `link`: Sends a verification link via email\n- `otp`: Sends a one-time password (OTP) via email\n"},"NeonAuthEmailAndPasswordConfig":{"type":"object","required":["enabled","email_verification_method","require_email_verification","auto_sign_in_after_verification","send_verification_email_on_sign_up","send_verification_email_on_sign_in","disable_sign_up"],"properties":{"enabled":{"type":"boolean","description":"Whether email and password authentication is enabled"},"email_verification_method":{"$ref":"#/components/schemas/NeonAuthEmailVerificationMethod","description":"Controls how email addresses are verified during sign-up or sign-in.\n- `link`: sends a verification link to the user's email address\n- `otp`: sends a one-time password to the user's email address\n"},"require_email_verification":{"type":"boolean","description":"Whether email verification is required before users can sign in"},"auto_sign_in_after_verification":{"type":"boolean","description":"Whether users are automatically signed in after verifying their email"},"send_verification_email_on_sign_up":{"type":"boolean","description":"Whether to send a verification email when users sign up"},"send_verification_email_on_sign_in":{"type":"boolean","description":"Whether to send a verification email when users sign in"},"disable_sign_up":{"type":"boolean","description":"Whether to disable new user sign ups"}}},"NeonAuthEmailAndPasswordConfigUpdate":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Controls whether email and password authentication is enabled for this project. When omitted from an update request, the current value is unchanged."},"email_verification_method":{"$ref":"#/components/schemas/NeonAuthEmailVerificationMethod","description":"Email verification method. `link`: sends a verification link. `otp`: sends a one-time password.\n"},"require_email_verification":{"type":"boolean","description":"When true, users must verify their email address before they can sign in. Omitting this field from an update request leaves the current value unchanged."},"auto_sign_in_after_verification":{"type":"boolean","description":"Whether users are automatically signed in after verifying their email"},"send_verification_email_on_sign_up":{"type":"boolean","description":"Whether to send a verification email when users sign up."},"send_verification_email_on_sign_in":{"type":"boolean","description":"Whether to send a verification email when a user with an unverified email signs in."},"disable_sign_up":{"type":"boolean","description":"Whether to disable new user sign ups. When omitted, the current setting is not changed."}}},"NeonAuthIntegration":{"type":"object","required":["auth_provider","auth_provider_project_id","branch_id","db_name","created_at","owned_by","jwks_url"],"x-sensitive":["db_name"],"properties":{"auth_provider":{"$ref":"#/components/schemas/NeonAuthSupportedAuthProvider"},"auth_provider_project_id":{"type":"string","description":"Project identifier assigned by the auth provider for this integration."},"branch_id":{"description":"The Neon branch ID. Returned as `id` from `GET /projects/{project_id}/branches`.","example":"br-cool-darkness-12345678","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"db_name":{"type":"string","description":"Name of the database used by the Neon Auth integration."},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the Neon Auth integration was created, in RFC 3339 format (UTC).","example":"2025-01-15T10:30:00Z"},"owned_by":{"$ref":"#/components/schemas/NeonAuthProviderProjectOwnedBy","description":"Owner of the auth provider project. `neon` means the project is created and managed by Neon on your behalf. `user` means the project was created in your own auth provider account and is self-managed."},"transfer_status":{"$ref":"#/components/schemas/NeonAuthProviderProjectTransferStatus","description":"Ownership transfer state for the auth provider project. `initiated` means a transfer was requested but not completed. `finished` means it completed successfully."},"jwks_url":{"type":"string","description":"URL of the provider's JWKS endpoint used to verify JWTs."},"base_url":{"type":"string","description":"Base URL of the Neon Auth service endpoint for this integration. Injected into the project environment as `NEON_AUTH_BASE_URL`."},"name":{"type":"string","description":"Application name shown in auth emails and communications. Defaults to the project name.","minLength":1,"maxLength":256}}},"NeonAuthConfigUpdate":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The application name used in auth emails and communications.","minLength":1,"maxLength":256}}},"NeonAuthConfigResponse":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The application name used in auth emails and communications."}}},"GeneralError":{"type":"object","required":["message","code"],"properties":{"request_id":{"type":"string","description":"Unique identifier for the request, useful for debugging.\nYou can set this value manually by including an `X-Request-ID` header in the request. If not provided, the value will be generated automatically.\n"},"code":{"$ref":"#/components/schemas/ErrorCode","description":"Machine-readable code classifying the error type. See `message` for a human-readable explanation."},"message":{"description":"Error message","type":"string"}}},"ErrorCode":{"type":"string","default":""},"BranchOperations":{"allOf":[{"$ref":"#/components/schemas/BranchResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]},"BranchRecoverResponse":{"allOf":[{"$ref":"#/components/schemas/BranchResponse"},{"$ref":"#/components/schemas/EndpointsOptionalResponse"}]},"EndpointOperations":{"allOf":[{"$ref":"#/components/schemas/EndpointResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]},"DatabaseOperations":{"allOf":[{"$ref":"#/components/schemas/DatabaseResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]},"RoleOperations":{"allOf":[{"$ref":"#/components/schemas/RoleResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]},"JWKSCreationOperation":{"allOf":[{"$ref":"#/components/schemas/JWKSResponse"},{"$ref":"#/components/schemas/OperationsResponse"}]},"AnnotationData":{"type":"object","x-tags":["Branch"],"required":["object","value"],"properties":{"object":{"$ref":"#/components/schemas/AnnotationObjectData","description":"Resource that this annotation is attached to."},"value":{"$ref":"#/components/schemas/AnnotationValueData"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the annotation was created, in RFC 3339 format (UTC).","example":"2025-01-15T10:30:00Z"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of the most recent update to the annotation, in RFC 3339 format (UTC).","example":"2025-01-15T10:30:00Z"}}},"AnnotationValueData":{"type":"object","description":"A free-form map of string key-value pairs for attaching metadata to a resource (for example, a git commit reference). Maximum 50 entries.","x-tags":["Branch"],"maxProperties":50,"additionalProperties":{"type":"string"},"example":{"github-commit-ref":"github-branch-name"}},"AnnotationObjectData":{"type":"object","x-tags":["Branch"],"required":["type","id"],"properties":{"type":{"type":"string","description":"Kind of resource the annotation is attached to, for example \"branch\" or \"endpoint\"."},"id":{"type":"string","description":"The annotated object's ID."}}},"AnnotationCreateValueRequest":{"type":"object","x-tags":["Branch"],"properties":{"annotation_value":{"$ref":"#/components/schemas/AnnotationValueData"}}},"AnnotationResponse":{"type":"object","x-tags":["Branch"],"required":["annotation"],"properties":{"annotation":{"$ref":"#/components/schemas/AnnotationData","description":"Annotation data associated with the annotated object."}}},"AnnotationsMapResponse":{"type":"object","x-tags":["Branch"],"required":["annotations"],"properties":{"annotations":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnnotationData"},"description":"Map of annotations keyed by resource identifier, where each value contains the annotation data for that resource."}}},"ApplicationType":{"type":"string","enum":["vercel","github","datadog","opentelemetry"],"description":"Type of application integration"},"ProjectsApplicationsMapResponse":{"type":"object","x-tags":["Project"],"description":"A map where key is a project ID and a value is a list of installed applications.\n","required":["applications"],"properties":{"applications":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string","$ref":"#/components/schemas/ApplicationType"}},"description":"Map of project IDs to their installed applications. Each key is a project ID; each value is an array of application types (for example, `vercel`, `github`)."}},"example":{"applications":{"winter-boat-259881":["vercel","github","datadog","opentelemetry"]}}},"ProjectsIntegrationsMapResponse":{"type":"object","x-tags":["Project"],"description":"A map where key is a project ID and a value is a list of installed integrations.\n","required":["integrations"],"properties":{"integrations":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationType"}},"description":"Map of project IDs to their associated integration details."}},"example":{"integrations":{"winter-boat-259881":["vercel","github","datadog","opentelemetry"]}}},"CursorPaginationResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/CursorPagination"}}},"CursorPagination":{"type":"object","description":"To paginate the response, issue an initial request with `limit` value. Then, add the value returned in the response `.pagination.next` attribute into the request under the `cursor` query parameter to the subsequent request to retrieve next page in pagination. The contents on cursor `next` are opaque, clients are not expected to make any assumptions on the format of the data inside the cursor.","properties":{"next":{"type":"string","description":"Cursor for the next page of results. Pass it as the `cursor` query parameter on the next request. Absent on the last page."},"sort_by":{"type":"string","description":"Field by which the results were sorted, echoing the request's sort_by parameter."},"sort_order":{"type":"string","description":"Sort order active for this page. Pass back as `sort_order` in the next request to maintain consistent ordering. Valid values are `asc` and `desc`."}}},"Snapshot":{"type":"object","required":["id","name","created_at"],"properties":{"id":{"description":"The snapshot ID.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"name":{"type":"string","description":"Human-readable label for the snapshot."},"lsn":{"type":"string","description":"WAL position (Log Sequence Number) at which the snapshot was captured, in Postgres LSN format (for example, `0/3000000`)."},"timestamp":{"type":"string","description":"Point in time captured by the snapshot, in RFC 3339 format (UTC)."},"source_branch_id":{"description":"Branch from which this snapshot was created.","type":"string","pattern":"^[a-z0-9-]{1,60}$"},"created_at":{"type":"string","description":"Timestamp when the snapshot was created, in RFC 3339 format (UTC).","example":"2025-01-15T10:30:00Z"},"expires_at":{"type":"string","description":"RFC 3339 timestamp when the snapshot expires and is eligible for deletion. Null if the snapshot does not have an expiry."},"manual":{"type":"boolean","description":"True if the snapshot was created manually rather than by a schedule."},"full_size":{"description":"Full logical size of the snapshot in bytes at the time it was taken.\n\nWhen absent, the logical size has not been calculated yet and the snapshot is not being charged.\n\nWhen present, a value of 0 means the snapshot is not being charged.\n","type":"integer","format":"int64"},"diff_size":{"description":"Incremental Postgres storage size in bytes since the previous scheduled snapshot, when the snapshot is billed on incremental (diff) usage.\n\nWhen absent, either the incremental size has not been calculated yet and the snapshot is not being charged, or the snapshot is charged at full logical size (in that case `full_size` is set).\n","type":"integer","format":"int64"}}},"SnapshotUpdateRequest":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"type":"object","description":"Fields to update on the snapshot. Updatable fields include `name` and `expires_at`.","properties":{"name":{"type":"string","description":"Human-readable label for the snapshot."},"expires_at":{"description":"The date and time when the snapshot will expire.\n\nOmit to leave the current expiration unchanged. Send `null` to\nclear the expiration so the snapshot never expires. A future\ntimestamp sets the absolute expiration.\n","type":"string","format":"date-time","nullable":true,"example":"2030-06-09T18:02:16Z"}}}}},"BackupScheduleItem":{"type":"object","required":["frequency"],"properties":{"frequency":{"type":"string","description":"How often to take snapshots. Known values: `daily`, `weekly`, `monthly`.\n","example":"daily"},"hour":{"type":"integer","minimum":0,"maximum":23,"description":"The hour of the day to take the snapshot (if applicable).\n"},"day":{"type":"integer","minimum":1,"maximum":31,"description":"The day of the week or month to take the snapshot (if applicable).\n"},"month":{"type":"integer","minimum":1,"maximum":12,"description":"The month of the year to take the snapshot (if applicable).\n"},"retention_seconds":{"type":"integer","minimum":3600,"maximum":3024000,"default":3024000,"description":"How long to keep a scheduled snapshot (in seconds) before it's automatically deleted.\nThe default is 3024000 seconds (35 days), which is also the maximum.\nManually created snapshots have no maximum retention: set their `expires_at` instead.\n"}}},"BackupSchedule":{"type":"object","required":["schedule"],"properties":{"schedule":{"type":"array","items":{"$ref":"#/components/schemas/BackupScheduleItem"},"description":"List of schedule entries defining the backup frequency. At least one entry is required."}}},"BranchSchemaJSON":{"type":"object","required":["tables"],"properties":{"tables":{"type":"array","items":{"type":"object","required":["schema","name","columns"],"properties":{"schema":{"type":"string","description":"Postgres schema (namespace) that contains the table, for example `public`."},"name":{"type":"string","description":"Name of the table within the schema."},"columns":{"type":"array","items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","description":"Name of the column."},"type":{"type":"string","description":"Postgres data type of the column, for example \"integer\" or \"text\"."},"nullable":{"type":"boolean","description":"Whether the column allows NULL values"},"generated":{"type":"boolean","description":"Whether the column is a generated (computed) column"}}},"description":"Columns belonging to this table, each describing a column's name and attributes."},"constraints":{"type":"array","items":{"type":"object","required":["type","columns"],"properties":{"type":{"type":"string","description":"Type of constraint. Possible values: `primary_key`, `unique`, `foreign_key`\n"},"columns":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Column names participating in this constraint"},"name":{"type":"string","description":"Optional name of the constraint"},"referenced_table":{"type":"object","required":["schema","table","columns"],"properties":{"schema":{"type":"string","description":"Schema of the referenced table"},"table":{"type":"string","description":"Name of the referenced table"},"columns":{"type":"array","items":{"type":"string"},"description":"Names of the referenced columns"}},"description":"For foreign keys - the referenced table information"}}},"description":"Table constraints defined in the branch schema, such as primary key, foreign key, unique, and check constraints."}}},"description":"Tables present in the branch schema."}}},"BucketAccessLevel":{"type":"string","enum":["private","public_read"],"description":"Controls anonymous access to objects in the bucket.\n- `private`: all reads and writes require authenticated requests (default).\n- `public_read`: anonymous `GetObject`/`HeadObject` requests succeed; listing,\n  writes, and deletes still require authenticated requests.\n"},"Bucket":{"type":"object","required":["name","access_level","created_at"],"properties":{"name":{"type":"string","description":"The bucket name (unique within a branch)."},"access_level":{"$ref":"#/components/schemas/BucketAccessLevel"},"created_at":{"type":"string","format":"date-time","description":"When the bucket was created. For a bucket inherited from an\nancestor branch this is the ancestor's creation time (the branch\nfork never re-creates the bucket).\n"}}},"BucketCreateRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"The bucket name."},"access_level":{"type":"string","enum":["private","public_read"],"default":"private","description":"Access level for the bucket. Defaults to `private`. Set to `public_read`\nto allow anonymous `GetObject`/`HeadObject` on objects in this bucket.\n"}}},"BucketResponse":{"type":"object","required":["bucket"],"properties":{"bucket":{"$ref":"#/components/schemas/Bucket"}}},"BucketsListResponse":{"type":"object","required":["buckets"],"properties":{"buckets":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}}}},"BranchStorage":{"type":"object","required":["enabled","s3_endpoint","region","force_path_style"],"properties":{"enabled":{"type":"boolean","description":"Always `true` in 200 responses. Present for forward compatibility: a\nfuture version may add intermediate states; callers should treat `true`\nas \"object storage is usable for this branch right now.\"\n"},"s3_endpoint":{"type":"string","format":"uri","description":"The S3-compatible endpoint URL for this branch.","example":"https://br-cool-moon-42.storage.c-2.local.neon.build"},"region":{"type":"string","description":"The AWS region for this branch's object storage. The platform normalizes\nthe us-east-1 convention server-side: a non-empty region string is\nalways returned in 200 responses (e.g. `\"us-east-1\"` for the S3\ndefault region).\n","example":"us-east-2"},"force_path_style":{"type":"boolean","description":"Whether the S3 client must use path-style addressing\n(bucket-in-path rather than virtual-hosted subdomain).\nAlways true: the wildcard TLS cert covers one level of subdomain\n(*.storage.\u003csuffix>), so the branch ID occupies that label and the\nbucket name must travel in the request path, not as a further\nsubdomain. Callers must set the S3 SDK's ForcePathStyle (or\nequivalent) to true.\n","example":true}}},"BranchStorageNotEnabled":{"type":"object","required":["code","message","reason"],"properties":{"code":{"type":"string","example":"STORAGE_NOT_ENABLED"},"message":{"type":"string"},"reason":{"type":"string","enum":["org_not_entitled","region_unavailable","branch_directory_missing","branch_not_found"],"description":"Machine-readable reason why object storage is unavailable:\n- `org_not_entitled`: the org's `PlatformBranchableStorage` feature flag is off.\n- `region_unavailable`: the project's region has no object storage admin service wired.\n- `branch_directory_missing`: the branch is not registered in the object storage service.\n- `branch_not_found`: the project or branch does not exist, or the caller does not\n  have access to it.\n"}}},"ProjectBranchLogSource":{"type":"string","description":"The Neon service that emitted the log record.","enum":["function","storage","pg_endpoint"]},"ProjectBranchLogSeverity":{"type":"string","description":"An OpenTelemetry severity level. A minimum severity includes every\nhigher level in this order: `trace`, `debug`, `info`, `warn`, `error`,\n`fatal`.\n","enum":["trace","debug","info","warn","error","fatal"]},"ProjectBranchLogDuration":{"type":"string","pattern":"^[0-9]{1,6}(ms|s|m|h|d)$","description":"A length of time as a count and a unit, for example `30m`, `6h`, or\n`7d`. Valid units are `ms`, `s`, `m`, `h`, and `d`.\n","example":"1h"},"ProjectBranchLogsNotAvailable":{"type":"object","required":["code","message","reason"],"properties":{"code":{"type":"string","example":"LOGS_NOT_AVAILABLE"},"message":{"type":"string"},"reason":{"type":"string","enum":["branch_not_found","telemetry_not_enabled"],"description":"Machine-readable reason why logs cannot be read:\n- `branch_not_found`: the project or branch does not exist, or the caller does not\n  have access to it.\n- `telemetry_not_enabled`: the branch exists but is not collecting telemetry, so it\n  has no logs to serve.\n"}}},"ProjectBranchLogsInvalidQuery":{"type":"object","required":["code","message","reason"],"properties":{"code":{"type":"string","example":"LOGS_INVALID_QUERY"},"message":{"type":"string"},"reason":{"type":"string","enum":["time_range_too_large","invalid_time_range","conflicting_time_range","invalid_cursor","unknown_field","invalid_logql","conflicting_filters"],"description":"Machine-readable reason why the request was rejected:\n- `time_range_too_large`: the requested window spans more than seven days.\n- `invalid_time_range`: `end_time` is not after `start_time`.\n- `conflicting_time_range`: both `since` and `start_time` were supplied.\n- `invalid_cursor`: the supplied `cursor` is malformed, expired, or was issued for a\n  different query.\n- `unknown_field`: the requested `field_name` is not one of the fields the log fields\n  endpoint reports for this branch.\n- `invalid_logql`: the supplied `logql` expression does not parse, or uses a\n  construct this endpoint does not accept.\n- `conflicting_filters`: `logql` was supplied alongside one or more structured\n  filters. Use one or the other.\n"}}},"ProjectBranchLogsQueryRequest":{"type":"object","x-sensitive":["body_contains","logql","cursor"],"properties":{"since":{"allOf":[{"$ref":"#/components/schemas/ProjectBranchLogDuration"}],"description":"Length of the query window, ending at `end_time` or at the current\ntime when `end_time` is omitted. Mutually exclusive with\n`start_time`. Prefer this over computing absolute bounds when the\ncaller only means \"the last hour\".\n"},"start_time":{"type":"string","format":"date-time","description":"Inclusive beginning of the query window. Mutually exclusive with\n`since`. Defaults to one hour before `end_time`, or one hour before\nthe current time when both bounds are omitted.\n"},"end_time":{"type":"string","format":"date-time","description":"Exclusive end of the query window. Defaults to the current time."},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100,"description":"Maximum number of log records to return per page."},"cursor":{"type":"string","description":"Opaque pagination cursor returned as `next_cursor` by a previous\ncall. Resume the query after the last record of the previous page,\nrepeating the time range and every filter unchanged.\n"},"sort_order":{"type":"string","default":"desc","enum":["asc","desc"],"description":"Order matching records by timestamp. `desc`, the default, returns\nthe newest records first.\n"},"source":{"$ref":"#/components/schemas/ProjectBranchLogSource"},"service_name":{"type":"string","minLength":1,"description":"Match the OpenTelemetry `service.name` resource attribute exactly."},"scope_name":{"type":"string","minLength":1,"description":"Match the OpenTelemetry instrumentation scope name exactly."},"minimum_severity":{"$ref":"#/components/schemas/ProjectBranchLogSeverity"},"severity_text":{"type":"string","minLength":1,"description":"Match the OpenTelemetry severity text exactly."},"body_contains":{"type":"string","minLength":1,"description":"Match records whose rendered `message` contains this case-sensitive\nsubstring.\n\nRecords with a structured body are matched against their JSON\nrendering, so the substring meets JSON syntax rather than prose: a\nbare key name such as `operation` matches every record carrying that\nkey, and `http_status: 200` matches none, because the rendering\ncontains `\"http_status\":200` with no space.\n"},"trace_id":{"type":"string","pattern":"^[0-9a-f]{32}$","description":"Match records associated with this OpenTelemetry trace ID. W3C Trace\nContext defines a trace ID as 32 lowercase hex digits, and that is\nwhat is stored, so an uppercase value is rejected rather than\nsilently matching nothing.\n"},"logql":{"type":"string","minLength":1,"description":"Escape hatch for selections the structured filters cannot express: a\nraw LogQL expression, evaluated against this branch's log stream.\n\nOnly stream selectors and line filters are accepted — no\naggregations and no parser stages. Supplying this alongside any\nstructured filter is rejected with `conflicting_filters` rather than\nsilently ignoring one of them. `limit`, `sort_order`, and the time\nwindow still apply.\n\nThis field passes the underlying query language through to the\ncaller, so unlike the rest of this contract it may change as that\nbackend changes. Prefer the structured filters where they suffice.\n","example":"{entity_type=\"function\"} |~ \"(?i)timeout\""}}},"ProjectBranchLogRecord":{"type":"object","required":["timestamp","message","attributes"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"The OpenTelemetry record timestamp in UTC."},"message":{"type":"string","description":"The OpenTelemetry log body rendered as text. A body that is already a\nstring is returned verbatim. Any other OpenTelemetry `AnyValue` body\n— notably the structured key/value body that `storage` records always\ncarry — is rendered as compact JSON with its keys sorted\nalphabetically, for example\n`{\"bytes\":1024,\"operation\":\"GET\",\"object_key\":\"a/b.png\"}`.\n"},"source":{"$ref":"#/components/schemas/ProjectBranchLogSource"},"entity_id":{"type":"string","description":"The Neon identifier of the service instance that emitted the record."},"service_name":{"type":"string","description":"The OpenTelemetry `service.name` resource attribute."},"scope_name":{"type":"string","description":"The OpenTelemetry instrumentation scope name."},"severity_number":{"type":"integer","minimum":0,"maximum":24,"description":"The numeric OpenTelemetry severity."},"severity_text":{"type":"string","description":"The original OpenTelemetry severity text."},"trace_id":{"type":"string","description":"The OpenTelemetry trace ID, when the record belongs to a trace."},"span_id":{"type":"string","description":"The OpenTelemetry span ID, when the record belongs to a span."},"attributes":{"type":"object","additionalProperties":true,"description":"Customer-defined OpenTelemetry log and resource attributes."}}},"ProjectBranchLogsQueryResponse":{"type":"object","x-sensitive":["logs","next_cursor"],"required":["logs","is_truncated"],"properties":{"logs":{"type":"array","items":{"$ref":"#/components/schemas/ProjectBranchLogRecord"}},"next_cursor":{"type":"string","description":"Pagination cursor to pass as `cursor` on the next request. Empty\nwhen the response is not truncated.\n"},"is_truncated":{"type":"boolean","description":"True when more records matched than were returned."}}},"ProjectBranchLogFieldsResponse":{"type":"object","required":["fields"],"properties":{"fields":{"type":"array","description":"Log field names observed on this branch, each usable as `field_name`\non the log field-values endpoint. Computed per branch rather than\nfixed by this specification, so clients should not assume a\nparticular set.\n","items":{"type":"string"}}}},"ProjectBranchLogFieldValuesResponse":{"type":"object","required":["values","is_truncated"],"properties":{"values":{"type":"array","items":{"type":"string"}},"is_truncated":{"type":"boolean","description":"True when more distinct values exist than were returned, because\neither the requested `limit` or the server's own scan cap was\nreached. A caller that filters on a partial list is choosing from an\narbitrary subset, so narrow `since` or `source` and ask again when\nthis is `true`.\n"}}},"BranchAiGateway":{"type":"object","required":["enabled","base_url"],"properties":{"enabled":{"type":"boolean","description":"Always `true` in 200 responses. Present for forward compatibility,\nmirroring BranchStorage.enabled.\n"},"base_url":{"type":"string","format":"uri","description":"The AI-gateway endpoint root for this branch — an OpenAI-compatible\nbase URL. No dialect path is included; clients append the route\n(e.g. `/ai-gateway/openai/v1/responses`) themselves.\n","example":"https://br-cool-moon-42-api.ai.c-2.local.neon.build"}}},"BranchAiGatewayNotEnabled":{"type":"object","required":["code","message","reason"],"properties":{"code":{"type":"string","example":"AI_GATEWAY_NOT_ENABLED"},"message":{"type":"string"},"reason":{"type":"string","enum":["ai_gateway_unavailable","branch_not_found"],"description":"Machine-readable reason why the AI gateway is unavailable:\n- `ai_gateway_unavailable`: the project's region/cell has no AI gateway configured.\n- `branch_not_found`: the project or branch does not exist, or the caller does not\n  have access to it.\n"}}},"BucketObject":{"type":"object","required":["key","size","last_modified","etag"],"properties":{"key":{"type":"string","description":"The full object key."},"size":{"type":"integer","format":"int64","description":"The object size in bytes."},"last_modified":{"type":"string","format":"date-time","description":"The time the object was last modified."},"etag":{"type":"string","description":"The object's entity tag (content hash)."}}},"BucketObjectsListResponse":{"type":"object","required":["folders","objects","prefix","is_truncated"],"properties":{"folders":{"type":"array","description":"Common prefixes (folder names) collapsed under the requested\n`delimiter`. Empty when no `delimiter` was supplied.\n","items":{"type":"string"}},"objects":{"type":"array","description":"Objects whose keys did not collapse into a folder.","items":{"$ref":"#/components/schemas/BucketObject"}},"prefix":{"type":"string","description":"The prefix that was applied to this listing (echoed back)."},"next_cursor":{"type":"string","description":"Pagination cursor to pass as `cursor` on the next request. Empty\nwhen the listing is not truncated.\n"},"is_truncated":{"type":"boolean","description":"True when more results exist beyond this page."}}},"BucketObjectsDeletePrefixResponse":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"integer","format":"int64","description":"The number of objects soft-deleted under the prefix. 0 when no live\nobject matched the prefix on this branch.\n"}}},"PresignRequest":{"type":"object","required":["operation"],"description":"Options for the presigned URL. The `operation` selects upload (`PUT`)\nor download (`GET`); the remaining fields are optional.\n","properties":{"operation":{"type":"string","enum":["upload","download"],"description":"The transfer direction. `upload` returns a presigned `PUT` URL;\n`download` returns a presigned `GET` URL.\n"},"content_type":{"type":"string","description":"The `Content-Type` to bind into the signed request. Only meaningful\nfor `upload`: when set, the caller MUST send the same `Content-Type`\nheader on the `PUT`, and the value is echoed back in the response\n`headers`. Ignored for `download`.\n"},"expires_in_seconds":{"type":"integer","format":"int64","minimum":1,"maximum":604800,"default":900,"description":"How long the presigned URL stays valid, in seconds. Defaults to 900\n(15 minutes); capped at 604800 (7 days).\n"}}},"PresignResponse":{"type":"object","required":["url","method","headers","expires_at"],"properties":{"url":{"type":"string","description":"The presigned URL. Transfer the object bytes by issuing\n`method url` with the returned `headers`.\n"},"method":{"type":"string","description":"The HTTP method to use against `url`: `PUT` for an upload,\n`GET` for a download.\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Headers the caller MUST send verbatim on the request (e.g.\n`Content-Type` when it was signed on an upload). May be empty.\n"},"expires_at":{"type":"string","format":"date-time","description":"When the presigned URL stops being valid."}}},"CredentialScope":{"type":"string","description":"A single capability a credential may exercise. A credential is granted\na set of these; it may only perform actions explicitly listed in its\nscopes.\n","enum":["storage:read","storage:write","ai_gateway:invoke","functions:invoke"]},"CreateCredentialRequest":{"type":"object","required":["scopes","principal_type"],"properties":{"name":{"type":"string","maxLength":256,"description":"Free-form customer label for the credential."},"scopes":{"type":"array","minItems":1,"maxItems":16,"items":{"$ref":"#/components/schemas/CredentialScope"}},"principal_type":{"type":"string","enum":["user"],"description":"Principal type for the credential. Only `user` is customer-managed\nand accepted here. `function` and `system` credentials are\nplatform-internal (e.g. function-serve auto-mint, presign signer)\nand are never issued through the customer-facing API.\n"}}},"CreateCredentialResponse":{"type":"object","required":["token_id","token_id_short","api_token","s3_secret_access_key","scopes","branch_id","created_at"],"x-sensitive":["api_token","s3_secret_access_key"],"properties":{"token_id":{"type":"string","description":"Opaque credential id (e.g. nak_live_\u003c32hex>)."},"token_id_short":{"type":"string","description":"First 12 hex chars of token_id; safe to log."},"name":{"type":"string","description":"Customer-supplied label, echoed back from the request. Absent when not provided."},"api_token":{"type":"string","description":"Bearer token; returned exactly once."},"s3_secret_access_key":{"type":"string","description":"nsk_live_\u003c64 hex>; the AWS_SECRET_ACCESS_KEY, returned exactly once."},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/CredentialScope"}},"branch_id":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time","description":"When the credential expires; absent means never expires.\n"}}},"CredentialMeta":{"type":"object","required":["token_id","token_id_short","scopes","principal_type","created_at"],"properties":{"token_id":{"type":"string","description":"Opaque credential id (e.g. nak_live_\u003c32hex>)."},"token_id_short":{"type":"string"},"name":{"type":"string","description":"Customer-supplied label; absent when not provided at issuance."},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/CredentialScope"}},"branch_id":{"type":"string","pattern":"^[a-z0-9-]{1,60}$"},"principal_type":{"type":"string"},"function_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_used_at":{"type":"string","format":"date-time"},"revoked_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time","description":"When the credential expires; absent means never expires. The\nverifier refuses to authenticate after `expires_at \u003c= now()`.\n"}}},"ListCredentialsResponse":{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"array","items":{"$ref":"#/components/schemas/CredentialMeta"}}}},"NeonFunction":{"type":"object","required":["id","slug","name","invocation_url","created_at"],"properties":{"id":{"type":"string","description":"Opaque, stable function identifier."},"slug":{"type":"string","description":"Branch-unique, lowercase DNS-label. Forms the invocation URL's host together with the branch id. Immutable."},"name":{"type":"string","description":"Free-form display name."},"invocation_url":{"type":"string","description":"URL at which the function is invoked. The host carries `\u003cbranch_id>-\u003cslug>` as its first DNS label under a Neon-managed functions domain, and the URL ends with a trailing slash so paths concatenate onto it. Empty string when the function has no servable invoke host (e.g. a deployment without an invocation front-door)."},"current_deployment":{"description":"The most recent deployment, regardless of build status. It may\nstill be building or it may have failed. Omitted until the first\ndeployment is created.\n","allOf":[{"$ref":"#/components/schemas/NeonFunctionDeployment"}]},"active_deployment":{"description":"The most recent deployment whose build completed successfully.\nThis is the deployment that serves invocations. Omitted until a\ndeployment succeeds.\n","allOf":[{"$ref":"#/components/schemas/NeonFunctionDeployment"}]},"created_at":{"type":"string"}}},"NeonFunctionDeployment":{"type":"object","required":["id","status","memory_mib","runtime","created_at"],"properties":{"id":{"type":"integer","format":"int32","description":"The deployment id, which is the platform version number (monotonic per function)."},"status":{"type":"string","enum":["pending","building","completed","failed"],"description":"Build lifecycle status of the deployment."},"memory_mib":{"type":"integer","format":"int32"},"runtime":{"type":"string"},"created_at":{"type":"string"},"environment":{"type":"array","items":{"type":"string"},"description":"The NAMES of the deployment's environment variables, sorted.\nValues are encrypted at rest and are never returned — they are\nwrite-only. To change a value, deploy the variable with the new\nvalue; to remove a variable, deploy it with an empty value.\n"},"error":{"type":"string","description":"Human-readable reason the deployment build failed. Present only\nwhen `status` is `failed`.\n"}}},"NeonFunctionResponse":{"type":"object","required":["function"],"properties":{"function":{"$ref":"#/components/schemas/NeonFunction"}}},"NeonFunctionsListResponse":{"type":"object","required":["functions"],"properties":{"functions":{"type":"array","items":{"$ref":"#/components/schemas/NeonFunction"}}}},"NeonFunctionUpdateRequest":{"type":"object","required":["name"],"properties":{"name":{"description":"New display name for the function. `null` clears the display\nname; the function's `name` then falls back to its slug. Leading\nand trailing whitespace is trimmed; a whitespace-only name is\nrejected.\n","type":"string","nullable":true,"minLength":1,"maxLength":256}}},"NeonFunctionDeploymentResponse":{"type":"object","required":["deployment"],"properties":{"deployment":{"$ref":"#/components/schemas/NeonFunctionDeployment"}}},"FunctionDeployRequest":{"type":"object","properties":{"zip":{"type":"string","format":"binary","description":"Optional ZIP archive of the function source code. Omit to reuse the\nlatest version's bundle (a config-only change). Required for the\nfirst deployment of a function.\n"},"runtime":{"type":"string","enum":["nodejs24"]},"environment":{"type":"string","description":"Optional JSON object (a string-to-string map) of environment\nvariables for the deployment, e.g. {\"KEY\":\"VALUE\"}. Carried as a\nJSON-encoded string because multipart form data does not support\ntyped object parts.\n\nValues are write-only: they are encrypted at rest, and responses\ncarry only the variable names (the `environment` array), never the\nvalues.\n"}}}},"parameters":{"CursorParam":{"name":"cursor","description":"A cursor to use in pagination. A cursor defines your place in the data list. Include `response.pagination.next` in subsequent API calls to fetch next page of the list.","in":"query","schema":{"type":"string"}},"LimitParam":{"name":"limit","description":"The maximum number of records to be returned in the response","in":"query","schema":{"type":"integer","minimum":1,"maximum":10000}},"SortOrderParam":{"name":"sort_order","description":"Defines the sorting order of entities.","in":"query","schema":{"type":"string","default":"desc","enum":["asc","desc"]}},"TimeoutParam":{"name":"timeout","in":"query","description":"Specify an explicit timeout in milliseconds to limit response delay.\nAfter timing out, the incomplete list of project data fetched so far will be returned.\nProjects still being fetched when the timeout occurred are listed in the \"unavailable\" attribute of the response.\nIf not specified, an implicit implementation defined timeout is chosen with the same behaviour as above\n","schema":{"type":"integer","minimum":100,"maximum":30000}}}}},"source":"rdme_github","stats":{"additional_properties":true,"callbacks":false,"common_parameters":false,"discriminators":false,"links":false,"polymorphism":false,"references":true,"server_variables":false,"style":false,"webhooks":false,"xml_requests":false,"xml_responses":false,"xml_schemas":false},"uri":"/branches/2.0/apis/neon-api.json","validation":{"status":"valid","reason":null}},"api_config":null,"renderable":{"status":true},"slug":"createproject","state":"current","title":"Create project","type":"endpoint","updated_at":"2026-05-27T10:11:51.000Z","uri":"/branches/2.0/reference/createproject","appearance":{"icon":{"name":null,"type":null}},"category":{"uri":"/branches/2.0/categories/reference/Neon%20API"},"href":{"dash":"https://dash.readme.com/project/neon-tech/v2.0/refs/createproject","hub":"https://api-docs.neon.tech/reference/createproject","github_url":null},"links":{"project":"/projects/me"},"parent":{"uri":"/branches/2.0/reference/project"},"privacy":{"view":"public"},"project":{"name":"Neon","subdomain":"neon-tech","uri":"/projects/me"},"connections":{"recipes":[]},"content":{"body":null,"excerpt":"Creates a Neon project within an organization.\nIf using a personal API key, include the `org_id` parameter to specify which organization to create the project in.\nIf using an org API key, `org_id` is automatically inferred from the key.\nPlan limits define how many projects you can create.\nFor more information, see [Manage projects](https://neon.com/docs/manage/projects/).\n\nYou can specify a region and Postgres version in the request body.\nNeon supports Postgres 14 through 18, with 19 rolling out to enabled regions.\nFor supported regions and `region_id` values, see [Regions](https://neon.com/docs/introduction/regions/).\n","link":{"url":null,"new_tab":false},"next":{"description":null,"pages":[]}},"metadata":{"description":null,"keywords":null,"title":null,"x_import":null,"image":{"uri":null,"url":null}}},"meta":{"baseUrl":"/","description":"Creates a Neon project within an organization.\nIf using a personal API key, include the `org_id` parameter to specify which organization to create the project in.\nIf using an org API key, `org_id` is automatically inferred from the key.\nPlan limits define how many projects you can create.\nFor more information, see [Manage projects](https://neon.com/docs/manage/projects/).\n\nYou can specify a region and Postgres version in the request body.\nNeon supports Postgres 14 through 18, with 19 rolling out to enabled regions.\nFor supported regions and `region_id` values, see [Regions](https://neon.com/docs/introduction/regions/).\n","hidden":false,"image":[],"metaTitle":"Create project","robots":"index","slug":"createproject","title":"Create project","type":"reference","updatedAt":"2026-05-27T10:11:51.000Z"},"oauth":false,"rdmd":{"dehydrated":{"toc":"","body":""},"opts":{"alwaysThrow":false,"compatibilityMode":false,"copyButtons":true,"correctnewlines":false,"markdownOptions":{"fences":true,"commonmark":true,"gfm":true,"ruleSpaces":false,"listItemIndent":"1","spacedTable":true,"paddedTable":true},"normalize":true,"lazyImages":true,"reusableContent":{"tags":{},"disabled":false,"serialize":true,"wrap":true},"safeMode":false,"settings":{"position":true},"theme":"light","customBlocks":{},"componentTypes":{},"resourceID":"/branches/2.0/reference/createproject","resourceType":"page","components":{},"baseUrl":"/","terms":[{"_id":"63bdc1a86cfff1007a08e156","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"variables":{"user":{},"defaults":[{"apiSetting":"67abb18089d17e00256781b8","name":"BearerAuth","scheme":"bearer","source":"security","type":"http","_id":"68c04108e127f6b467a0aee2"},{"apiSetting":"67abb18089d17e00256781b8","name":"zenith","source":"security","type":"apiKey","_id":"68c04108e127f6b467a0aee3"},{"apiSetting":"67abb18089d17e00256781b8","name":"keycloak_token","source":"security","type":"apiKey","_id":"68c04108e127f6b467a0aee4"}]}}},"sidebar":[{"pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"getting-started-with-neon-api","title":"Neon API Reference","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getting-started-with-neon-api","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"api-key","title":"API Key","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listapikeys","title":"List API keys","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listapikeys","parent":"/branches/2.0/reference/api-key"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createapikey","title":"Create API key","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createapikey","parent":"/branches/2.0/reference/api-key"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"revokeapikey","title":"Revoke API key","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/revokeapikey","parent":"/branches/2.0/reference/api-key"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/api-key","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"operation","title":"Operation","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectoperation","title":"Retrieve operation details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectoperation","parent":"/branches/2.0/reference/operation"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectoperations","title":"List operations","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectoperations","parent":"/branches/2.0/reference/operation"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/operation","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"project","title":"Project","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojects","title":"List projects","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojects","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createproject","title":"Create project","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listsharedprojects","title":"List shared projects","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listsharedprojects","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getproject","title":"Retrieve project details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateproject","title":"Update project","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteproject","title":"Delete project","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectpermissions","title":"List project access","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectpermissions","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"grantpermissiontoproject","title":"Grant project access","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/grantpermissiontoproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"revokepermissionfromproject","title":"Revoke project access","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/revokepermissionfromproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getavailablepreloadlibraries","title":"List available shared preload libraries","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getavailablepreloadlibraries","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojecttransferrequest","title":"Create a project transfer request","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojecttransferrequest","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"acceptprojecttransferrequest","title":"Accept a project transfer request","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"put","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/acceptprojecttransferrequest","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectjwks","title":"List JWKS URLs","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectjwks","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"addprojectjwks","title":"Add JWKS URL","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/addprojectjwks","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectjwks","title":"Delete JWKS URL","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectjwks","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getconnectionuri","title":"Retrieve connection URI","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getconnectionuri","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectvpcendpoints","title":"List VPC endpoint restrictions","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectvpcendpoints","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"assignprojectvpcendpoint","title":"Set VPC endpoint restriction","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/assignprojectvpcendpoint","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectvpcendpoint","title":"Delete VPC endpoint restriction","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectvpcendpoint","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"recoverproject","title":"Recover a deleted project","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/recoverproject","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectadvisorsecurityissues","title":"Get advisor issues","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectadvisorsecurityissues","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectmembers","title":"List org members and their project roles","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectmembers","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"setprojectmemberrole","title":"Set an org member's role on a project","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"put","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/setprojectmemberrole","parent":"/branches/2.0/reference/project"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"removeprojectmemberrole","title":"Remove an org member's role on a project","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/removeprojectmemberrole","parent":"/branches/2.0/reference/project"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/project","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"branch","title":"Branch","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranch","title":"Create branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranches","title":"List branches","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranches","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"countprojectbranches","title":"Retrieve number of branches","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/countprojectbranches","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranch","title":"Retrieve branch details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranch","title":"Delete branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateprojectbranch","title":"Update branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateprojectbranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"restoreprojectbranch","title":"Restore branch to a historical state","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/restoreprojectbranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchschema","title":"Retrieve database schema","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchschema","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchschemacomparison","title":"Compare database schema","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchschemacomparison","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"setdefaultprojectbranch","title":"Set branch as default","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/setdefaultprojectbranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchendpoints","title":"List branch endpoints","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchendpoints","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"finalizerestorebranch","title":"Finalize branch restore from snapshot","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/finalizerestorebranch","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchdatabases","title":"List databases","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchdatabases","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranchdatabase","title":"Create database","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranchdatabase","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchdatabase","title":"Retrieve database details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchdatabase","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateprojectbranchdatabase","title":"Update database","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateprojectbranchdatabase","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchdatabase","title":"Delete database","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchdatabase","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchroles","title":"List roles","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchroles","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranchrole","title":"Create role","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranchrole","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchrole","title":"Retrieve role details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchrole","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchrole","title":"Delete role","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchrole","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchrolepassword","title":"Retrieve role password","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchrolepassword","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"resetprojectbranchrolepassword","title":"Reset role password","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/resetprojectbranchrolepassword","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranchanonymized","title":"Create anonymized branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranchanonymized","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getmaskingrules","title":"Retrieve masking rules","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getmaskingrules","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updatemaskingrules","title":"Update masking rules","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updatemaskingrules","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getanonymizedbranchstatus","title":"Retrieve anonymized branch status","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getanonymizedbranchstatus","parent":"/branches/2.0/reference/branch"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"startanonymization","title":"Start anonymization","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/startanonymization","parent":"/branches/2.0/reference/branch"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/branch","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"endpoint","title":"Endpoint","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectendpoint","title":"Create compute endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectendpoint","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectendpoints","title":"List compute endpoints","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectendpoints","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectendpoint","title":"Retrieve compute endpoint details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectendpoint","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectendpoint","title":"Delete compute endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectendpoint","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateprojectendpoint","title":"Update compute endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateprojectendpoint","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"startprojectendpoint","title":"Start compute endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/startprojectendpoint","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"suspendprojectendpoint","title":"Suspend compute endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/suspendprojectendpoint","parent":"/branches/2.0/reference/endpoint"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"restartprojectendpoint","title":"Restart compute endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/restartprojectendpoint","parent":"/branches/2.0/reference/endpoint"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/endpoint","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"snapshot","title":"Snapshot","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createsnapshot","title":"Create snapshot","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createsnapshot","parent":"/branches/2.0/reference/snapshot"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listsnapshots","title":"List project snapshots","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listsnapshots","parent":"/branches/2.0/reference/snapshot"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deletesnapshot","title":"Delete snapshot","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deletesnapshot","parent":"/branches/2.0/reference/snapshot"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updatesnapshot","title":"Update snapshot","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updatesnapshot","parent":"/branches/2.0/reference/snapshot"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"restoresnapshot","title":"Restore snapshot","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/restoresnapshot","parent":"/branches/2.0/reference/snapshot"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getsnapshotschedule","title":"Retrieve backup schedule","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getsnapshotschedule","parent":"/branches/2.0/reference/snapshot"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"setsnapshotschedule","title":"Update backup schedule","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"put","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/setsnapshotschedule","parent":"/branches/2.0/reference/snapshot"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/snapshot","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"region","title":"Region","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getactiveregions","title":"List supported regions","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getactiveregions","parent":"/branches/2.0/reference/region"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/region","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"users","title":"Users","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getcurrentuserinfo","title":"Retrieve current user details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getcurrentuserinfo","parent":"/branches/2.0/reference/users"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getcurrentuserorganizations","title":"List organizations for the current user","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getcurrentuserorganizations","parent":"/branches/2.0/reference/users"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"transferprojectsfromusertoorg","title":"Transfer projects from personal account to organization","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/transferprojectsfromusertoorg","parent":"/branches/2.0/reference/users"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getauthdetails","title":"Retrieve request authentication details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getauthdetails","parent":"/branches/2.0/reference/users"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/users","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"consumption","title":"Consumption","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getconsumptionhistoryperproject","title":"Retrieve project consumption metrics (legacy plans)","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getconsumptionhistoryperproject","parent":"/branches/2.0/reference/consumption"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getconsumptionhistoryperprojectv2","title":"Retrieve project consumption metrics","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getconsumptionhistoryperprojectv2","parent":"/branches/2.0/reference/consumption"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getconsumptionhistoryperbranchv2","title":"Retrieve branch consumption metrics","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getconsumptionhistoryperbranchv2","parent":"/branches/2.0/reference/consumption"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/consumption","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"organizations","title":"Organizations","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getorganization","title":"Retrieve organization details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getorganization","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listorgapikeys","title":"List organization API keys","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listorgapikeys","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createorgapikey","title":"Create organization API key","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createorgapikey","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"revokeorgapikey","title":"Revoke organization API key","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/revokeorgapikey","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getorganizationmembers","title":"List organization members","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getorganizationmembers","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getorganizationmember","title":"Retrieve organization member details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getorganizationmember","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateorganizationmember","title":"Update role for organization member","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateorganizationmember","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"removeorganizationmember","title":"Remove organization member","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/removeorganizationmember","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getorganizationinvitations","title":"List organization invitations","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getorganizationinvitations","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createorganizationinvitations","title":"Create organization invitations","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createorganizationinvitations","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"transferprojectsfromorgtoorg","title":"Transfer projects between organizations","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/transferprojectsfromorgtoorg","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listorganizationvpcendpoints","title":"List VPC endpoints","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listorganizationvpcendpoints","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listorganizationvpcendpointsallregions","title":"List VPC endpoints across all regions","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listorganizationvpcendpointsallregions","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getorganizationvpcendpointdetails","title":"Retrieve VPC endpoint details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getorganizationvpcendpointdetails","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"assignorganizationvpcendpoint","title":"Assign or update VPC endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/assignorganizationvpcendpoint","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteorganizationvpcendpoint","title":"Delete VPC endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteorganizationvpcendpoint","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getorganizationspendinglimit","title":"Retrieve organization spending limit","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getorganizationspendinglimit","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"setorganizationspendinglimit","title":"Set organization spending limit","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"put","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/setorganizationspendinglimit","parent":"/branches/2.0/reference/organizations"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteorganizationspendinglimit","title":"Remove organization spending limit","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteorganizationspendinglimit","parent":"/branches/2.0/reference/organizations"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/organizations","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"use-cases","title":"Use cases","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/use-cases","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"auth","title":"Auth","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauth","title":"Retrieve Neon Auth details for the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauth","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createneonauth","title":"Enable Neon Auth for the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createneonauth","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"disableneonauth","title":"Disable Neon Auth for the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/disableneonauth","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listbranchneonauthtrusteddomains","title":"List domains in redirect_uri whitelist","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listbranchneonauthtrusteddomains","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"addbranchneonauthtrusteddomain","title":"Add domain to redirect_uri whitelist","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/addbranchneonauthtrusteddomain","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deletebranchneonauthtrusteddomain","title":"Delete domain from redirect_uri whitelist","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deletebranchneonauthtrusteddomain","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createbranchneonauthnewuser","title":"Create new auth user","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createbranchneonauthnewuser","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deletebranchneonauthuser","title":"Delete auth user","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deletebranchneonauthuser","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthuserrole","title":"Update auth user role","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"put","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthuserrole","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listbranchneonauthoauthproviders","title":"List OAuth providers for the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listbranchneonauthoauthproviders","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"addbranchneonauthoauthprovider","title":"Add an OAuth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/addbranchneonauthoauthprovider","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updatebranchneonauthoauthprovider","title":"Update OAuth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updatebranchneonauthoauthprovider","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deletebranchneonauthoauthprovider","title":"Delete OAuth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deletebranchneonauthoauthprovider","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"sendneonauthtestemail","title":"Send test email","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/sendneonauthtestemail","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthemailandpasswordconfig","title":"Retrieve email and password configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthemailandpasswordconfig","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthemailandpasswordconfig","title":"Update email and password configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthemailandpasswordconfig","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthemailprovider","title":"Retrieve email provider configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthemailprovider","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthemailprovider","title":"Update email provider configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthemailprovider","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthallowlocalhost","title":"Retrieve localhost allow setting","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthallowlocalhost","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthallowlocalhost","title":"Update localhost allow setting","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthallowlocalhost","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthpluginconfigs","title":"Retrieve Neon Auth plugin configurations","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthpluginconfigs","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthorganizationplugin","title":"Update organization plugin configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthorganizationplugin","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthwebhookconfig","title":"Retrieve Neon Auth webhook configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthwebhookconfig","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthwebhookconfig","title":"Update Neon Auth webhook configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"put","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthwebhookconfig","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthmagiclinkplugin","title":"Update magic link plugin configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthmagiclinkplugin","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthphonenumberplugin","title":"Retrieve phone number plugin configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthphonenumberplugin","parent":"/branches/2.0/reference/auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthphonenumberplugin","title":"Update phone number plugin configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthphonenumberplugin","parent":"/branches/2.0/reference/auth"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/auth","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"authentication","title":"Authentication","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/authentication","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"pagination","title":"Pagination","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/pagination","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"path-parameters","title":"Path parameters","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/path-parameters","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"sdks-for-the-neon-api","title":"SDKs and providers for the Neon API","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/sdks-for-the-neon-api","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"ai-agents","title":"Neon API for AI Agents","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/ai-agents","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":false,"renderable":{"status":true},"slug":"api-rate-limiting","title":"API rate limiting","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/api-rate-limiting","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"copy-of-auth","title":"Auth (legacy)","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createneonauthintegration","title":"Create Neon Auth integration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createneonauthintegration","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listneonauthredirecturiwhitelistdomains","title":"List trusted redirect URI domains","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listneonauthredirecturiwhitelistdomains","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"addneonauthdomaintoredirecturiwhitelist","title":"Add trusted redirect URI domain","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/addneonauthdomaintoredirecturiwhitelist","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteneonauthdomainfromredirecturiwhitelist","title":"Delete trusted redirect URI domain","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteneonauthdomainfromredirecturiwhitelist","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createneonauthprovidersdkkeys","title":"Create Auth Provider SDK keys","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createneonauthprovidersdkkeys","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createneonauthnewuser","title":"Create new auth user","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createneonauthnewuser","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteneonauthuser","title":"Delete auth user","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteneonauthuser","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"transferneonauthproviderproject","title":"Transfer Neon-managed auth project to your own account","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/transferneonauthproviderproject","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listneonauthintegrations","title":"List active integrations with auth providers","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listneonauthintegrations","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listneonauthoauthproviders","title":"List OAuth providers","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listneonauthoauthproviders","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"addneonauthoauthprovider","title":"Add an OAuth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/addneonauthoauthprovider","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthoauthprovider","title":"Update OAuth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthoauthprovider","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteneonauthoauthprovider","title":"Delete OAuth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteneonauthoauthprovider","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getneonauthemailserver","title":"Retrieve email server configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getneonauthemailserver","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateneonauthemailserver","title":"Update email server configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateneonauthemailserver","parent":"/branches/2.0/reference/copy-of-auth"},{"deprecated":true,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteneonauthintegration","title":"Delete integration with auth provider","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteneonauthintegration","parent":"/branches/2.0/reference/copy-of-auth"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/copy-of-auth","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"storage","title":"Storage","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchstorage","title":"Get branch object storage state","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchstorage","parent":"/branches/2.0/reference/storage"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/storage","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"buckets","title":"Buckets","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranchbucket","title":"Create a bucket on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranchbucket","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchbuckets","title":"List buckets on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchbuckets","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchbucket","title":"Delete a bucket on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchbucket","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchbucketobjects","title":"List objects in a bucket","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchbucketobjects","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchbucketobject","title":"Delete an object in a bucket","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchbucketobject","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchbucketobject","title":"Download an object's bytes","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchbucketobject","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchbucketobjectsbyprefix","title":"Delete every object under a key prefix (folder) in a bucket","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchbucketobjectsbyprefix","parent":"/branches/2.0/reference/buckets"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"presignprojectbranchbucketobject","title":"Presign an upload or download for an object in a bucket","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/presignprojectbranchbucketobject","parent":"/branches/2.0/reference/buckets"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/buckets","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"functions","title":"Functions","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchfunctions","title":"List functions on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchfunctions","parent":"/branches/2.0/reference/functions"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchfunction","title":"Get function details","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchfunction","parent":"/branches/2.0/reference/functions"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateprojectbranchfunction","title":"Update a function","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateprojectbranchfunction","parent":"/branches/2.0/reference/functions"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchfunction","title":"Delete a function on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchfunction","parent":"/branches/2.0/reference/functions"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranchfunctiondeployment","title":"Deploy code to a function","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranchfunctiondeployment","parent":"/branches/2.0/reference/functions"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/functions","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"ai-gateway","title":"AI Gateway","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchaigateway","title":"Get branch AI Gateway endpoint","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchaigateway","parent":"/branches/2.0/reference/ai-gateway"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/ai-gateway","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"logs","title":"Logs","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"queryprojectbranchlogs","title":"Query branch logs","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/queryprojectbranchlogs","parent":"/branches/2.0/reference/logs"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchlogfields","title":"List branch log fields","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchlogfields","parent":"/branches/2.0/reference/logs"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listprojectbranchlogfieldvalues","title":"List branch log field values","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listprojectbranchlogfieldvalues","parent":"/branches/2.0/reference/logs"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/logs","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"credentials","title":"Credentials","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createcredential","title":"Issue a scoped credential on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createcredential","parent":"/branches/2.0/reference/credentials"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"listcredentials","title":"List credentials on the branch","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/listcredentials","parent":"/branches/2.0/reference/credentials"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"revokecredential","title":"Revoke a credential","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/revokecredential","parent":"/branches/2.0/reference/credentials"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/credentials","parent":null},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"dataapi","title":"DataAPI","type":"basic","updatedAt":"2026-08-07T10:51:34.000Z","pages":[{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"createprojectbranchdataapi","title":"Create Neon Data API","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"post","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/createprojectbranchdataapi","parent":"/branches/2.0/reference/dataapi"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"deleteprojectbranchdataapi","title":"Delete Neon Data API","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"delete","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/deleteprojectbranchdataapi","parent":"/branches/2.0/reference/dataapi"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"getprojectbranchdataapi","title":"Retrieve Neon Data API configuration","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"get","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/getprojectbranchdataapi","parent":"/branches/2.0/reference/dataapi"},{"deprecated":false,"hidden":false,"isBodyEmpty":true,"renderable":{"status":true},"slug":"updateprojectbranchdataapi","title":"Update Neon Data API","type":"endpoint","updatedAt":"2026-08-07T10:51:34.000Z","api_method":"patch","api_webhook":false,"api_renderable":{"status":true},"pages":[],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/updateprojectbranchdataapi","parent":"/branches/2.0/reference/dataapi"}],"category":"/branches/2.0/categories/reference/Neon%20API","uri":"/branches/2.0/reference/dataapi","parent":null}],"title":"Neon API","uri":"/branches/2.0/categories/reference/Neon%20API"}],"oasPublicUrl":"@neon-tech/v2.0#3o01ngiomsitsc6l","aiConfig":{"enabled":false,"settings":{"errors":null,"styleguide":null,"warnings":null}},"config":{"algoliaIndex":"readme_search_v2","amplitude":{"apiKey":"8b550cf334a130e3d6ea41a88b894d8","enabled":"true","sessionReplay":{"enabled":"true","sampleRate":"0.1"}},"api":{"upload":{"fileSizeLimit":10485760,"fileSizeLimitFormatted":"10MB"}},"asset_url":"https://cdn.readme.io","dashDomain":"dash.readme.com","domain":"readme.io","domainFull":"https://dash.readme.com","encryptedLocalStorageKey":"ekfls-2025-03-27","fullstory":{"enabled":true,"orgId":"FSV9A"},"git":{"preview":"https://githug-prod.gitto.rdme.io","sync":{"bitbucket":{"installationLink":"https://developer.atlassian.com/console/install/310151e6-ca1a-4a44-9af6-1b523fea0561?signature=AYABeMn9vqFkrg%2F1DrJAQxSyVf4AAAADAAdhd3Mta21zAEthcm46YXdzOmttczp1cy13ZXN0LTI6NzA5NTg3ODM1MjQzOmtleS83MDVlZDY3MC1mNTdjLTQxYjUtOWY5Yi1lM2YyZGNjMTQ2ZTcAuAECAQB4IOp8r3eKNYw8z2v%2FEq3%2FfvrZguoGsXpNSaDveR%2FF%2Fo0BHUxIjSWx71zNK2RycuMYSgAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDOJgARbqndU9YM%2FRdQIBEIA7unpCah%2BIu53NA72LkkCDhNHOv%2BgRD7agXAO3jXqw0%2FAcBOB0%2F5LmpzB5f6B1HpkmsAN2i2SbsFL30nkAB2F3cy1rbXMAS2Fybjphd3M6a21zOmV1LXdlc3QtMTo3MDk1ODc4MzUyNDM6a2V5LzQ2MzBjZTZiLTAwYzMtNGRlMi04NzdiLTYyN2UyMDYwZTVjYwC4AQICAHijmwVTMt6Oj3F%2B0%2B0cVrojrS8yZ9ktpdfDxqPMSIkvHAGT%2FMTvCxC3XwnwlulZe975AAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMMUUe9d1YmFOo373TAgEQgDuJo7TayM6NL19Sj9RPooRrl8rYxwKgvu9gkLNc3GuyyovWI1xA2qTr0LQzMRsf3imrAWsywzPcsjnvuAAHYXdzLWttcwBLYXJuOmF3czprbXM6dXMtZWFzdC0xOjcwOTU4NzgzNTI0MzprZXkvNmMxMjBiYTAtNGNkNS00OTg1LWI4MmUtNDBhMDQ5NTJjYzU3ALgBAgIAeLKa7Dfn9BgbXaQmJGrkKztjV4vrreTkqr7wGwhqIYs5AZR28Sibv2eBxSIg2MydtvEAAAB%2BMHwGCSqGSIb3DQEHBqBvMG0CAQAwaAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAzzWhThsIgJwrr%2FY2ECARCAOxoaW9pob21lweyAfrIm6Fw7gd8D%2B%2F8LHk4rl3jjULDM35%2FVPuqBrqKunYZSVCCGNGB3RqpQJr%2FasASiAgAAAAAMAAAQAAAAAAAAAAAAAAAAAEokowLKsF1tMABEq%2BKNyJP%2F%2F%2F%2F%2FAAAAAQAAAAAAAAAAAAAAAQAAADJLzRcp6MkqKR43PUjOiRxxbxXYhLc6vFXEutK3%2BQ71yuPq4dC8pAHruOVQpvVcUSe8dptV8c7wR8BTJjv%2F%2FNe8r0g%3D&product=bitbucket"}}},"metrics":{"billingCronEnabled":"true","dashUrl":"https://m.readme.io","defaultUrl":"https://m.readme.io","exportMaxRetries":12,"wsUrl":"wss://m.readme.io"},"micro":{"baseUrl":"https://micro-beta.readme.com"},"novuNotification":{"appId":"ob_MiAPOPqgP"},"proxyUrl":"https://try.readme.io","readmeRecaptchaSiteKey":"6LesVBYpAAAAAESOCHOyo2kF9SZXPVb54Nwf3i2x","releaseVersion":"5.838.2","reservedWords":{"tools":["execute-request","get-endpoint","get-server-variables","list-endpoints","list-specs","search-endpoints","search","fetch"]},"sentry":{"dsn":"https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166","enabled":true},"shMigration":{"promoVideo":"","forceWaitlist":false,"migrationPreview":false},"sslBaseDomain":"readmessl.com","sslGenerationService":"ssl.readmessl.com","superHub":{"newProjectsEnabled":true},"tiptapCloud":{"appId":"8mzorjl9","url":"wss://8mzorjl9.collab.tiptap.cloud"},"wootric":{"accountToken":"NPS-122b75a4","enabled":true}},"context":{"labs":{},"user":{"isAuthenticated":false,"notifications":{}},"terms":[{"_id":"63bdc1a86cfff1007a08e156","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"variables":{"user":{},"defaults":[{"apiSetting":"67abb18089d17e00256781b8","name":"BearerAuth","scheme":"bearer","source":"security","type":"http","_id":"68c04108e127f6b467a0aee2"},{"apiSetting":"67abb18089d17e00256781b8","name":"zenith","source":"security","type":"apiKey","_id":"68c04108e127f6b467a0aee3"},{"apiSetting":"67abb18089d17e00256781b8","name":"keycloak_token","source":"security","type":"apiKey","_id":"68c04108e127f6b467a0aee4"}]},"project":{"flags":{"aiDocsAudit":false,"aiPageLinting":false,"aiTranslation":false,"aiWriter":false,"allowApiExplorerJsonEditor":false,"allowReusableOTPs":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"alwaysShowDocPublishStatus":false,"apiAccessRevoked":false,"askAiOverride":"","bidiSync":true,"bidiSyncBitbucketSelfServe":false,"bidiSyncGitlabSelfServe":true,"bidiSyncSkipIndexedHistory":true,"bidiSyncUseGitCli":false,"bidiSyncUseOdbAlternates":true,"branchTaggedReviewers":false,"changelogRssAlwaysPublic":false,"childManagedBidi":false,"collaborativeEditing":false,"correctnewlines":false,"customDomainAdminBypass":false,"directGoogleToStableVersion":false,"disableAiChat":false,"disableAiInlineEditor":false,"disableAnonForum":false,"disableAskAiApi":false,"disableAutoTranslate":false,"disableDiscussionSpamRecaptchaBypass":false,"disableDocsAudit":false,"disablePageLinter":false,"disablePasswordlessLogin":false,"disableSignups":false,"disableSuperframe":false,"enableOidc":false,"enterprise":false,"externalSdkSnippets":false,"githubCloudSync":false,"gitlabCloudSync":false,"gittoUseConnectionPooling":false,"gittoUseExperimentalMDXCache":false,"gittoUseNewIndexer":true,"gitTranslations":false,"googleAuthEnabled":false,"graphql":false,"hideAiFeatures":false,"hideEnforceSSO":false,"iframeSsrTransfer":false,"inlineComments":false,"inlineLintingViolations":false,"jwtReplacePermissions":false,"localLLM":false,"mcpMetrics":false,"mcpOauth":false,"mdx":false,"mdxish":true,"mdxishEditor":true,"mdxSanitizeComments":false,"mergeConflictResolution":false,"newEditorDash":true,"newExplorerReducer":false,"newIframeStructure":false,"oauth":false,"passwordlessLogin":"default","prefetch":false,"rdmdCompatibilityMode":false,"requiresJQuery":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"streamingSsr":false,"superHub":true,"superHubBranchReviewSummaries":false,"superHubMigrationSelfServeFlow":true,"superHubMsTeamsAppPackage":false,"superHubMsTeamsNotifications":false,"superHubMultiGuides":false,"superHubPlanManagement":true,"superHubPreview":false,"superHubSlack":false,"superHubSlackNotifications":false,"superHubThemes":false,"superHubUiTesting":false,"translation":false,"useDeprecatedSafelistMethod":false,"dashReact":false,"superHubBranchReviewActions":false},"versions":[{"__v":2,"_id":"63bdc1a96cfff1007a08e163","createdAt":"2023-01-10T19:51:05.286Z","updatedAt":"2026-08-07T17:21:36.290Z","project":"63bdc1a86cfff1007a08e155","version":"2.0","version_clean":"2.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":[],"releaseDate":"2023-01-10T19:51:05.286Z","pdfStatus":"","apiRegistries":[{"filename":"neon-api.json","uuid":"3o01ngiomsitsc6l"}],"source":"readme"}],"stable":{"__v":2,"_id":"63bdc1a96cfff1007a08e163","createdAt":"2023-01-10T19:51:05.286Z","updatedAt":"2026-08-07T17:21:36.290Z","project":"63bdc1a86cfff1007a08e155","version":"2.0","version_clean":"2.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":[],"releaseDate":"2023-01-10T19:51:05.286Z","pdfStatus":"","apiRegistries":[{"filename":"neon-api.json","uuid":"3o01ngiomsitsc6l"}],"source":"readme"},"_id":"63bdc1a86cfff1007a08e155","accessRules":{"branch_approve":{"admin":true,"editor":false},"branch_merge":{"admin":true,"editor":false}},"ai":{"chat":{"knowledge":{"use_project_knowledge":false},"models":[]},"discovery":{"content_signal":{"ai_train":false,"search":false,"ai_input":false},"link_headers":true,"markdown_negotiation":true,"agent_hint_banner":true,"api_catalog":true,"agent_skills_index":true,"mcp_server_card":true,"webmcp":true,"oauth":{"type":"none","issuer_url":"","authorization_servers":[],"resource_identifier":"","scopes_supported":[]},"show_sub_pages":false,"show_sibling_pages":false,"show_whats_next":false}},"appearance":{"allowApiExplorerJsonEditor":false,"changelog":{"layoutExpanded":false,"showAuthor":true,"showExactDate":false},"referenceSimpleMode":true,"referenceLayout":"row","methodBadgeStyle":"classic","oneOfLayout":"dropdown","showMethodInSidebar":false,"link_logo_to_url":true,"theme":"line","theme_preset":"default","colorScheme":"system","overlay":"triangles","landing":true,"sticky":false,"hide_logo":true,"childrenAsPills":false,"subheaderStyle":"links","splitReferenceDocs":false,"showMetricsInReference":false,"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":null,"markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"main_body":{"type":"links"},"colors":{"highlight":"","main":"#e5e5e5","main_alt":"","header_text":"","body_highlight":"#05be80","body_highlight_dark":"","custom_login_link_color":"","page_background":"","page_background_dark":"","background_tint":"","background_tint_dark":"","border":"","border_dark":"","header":"","header_dark":"","askai_button_bg":"","askai_button_bg_dark":"","sidebar_border":"","sidebar_border_dark":""},"typography":{"headline":"Open+Sans:400:sans-serif","body":"Open+Sans:400:sans-serif","code":"","spacing":null,"typekit":false,"tk_key":"","tk_headline":"","tk_body":""},"header":{"buttonRadius":"default","img":[],"img_size":"auto","img_pos":"tl","linkStyle":"buttons","style":"line","subnav":{"alignment":"start"}},"body":{"style":"none"},"promos":[{"_id":"63bdc1a86cfff1007a08e157","title":"The Neon Developer Hub","text":"Welcome to the Neon developer hub. You'll find comprehensive guides and documentation to help you start working with Neon as quickly as possible, as well as support if you get stuck. Let's jump right in!","extras":{"type":"buttons","buttonPrimary":"get-started","buttonSecondary":"none"}}],"layout":{"full_width":false,"style":"classic","sticky_header":null},"logo":["https://files.readme.io/0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg","0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg",null,null,"#37c38f",null,"699778f9782a289650797d3b"],"loginLogo":[],"logo_white":["https://files.readme.io/db2ea3a669468c02bf4659ea489986535916a7efa645ab6cc5a2a0938b301db9-neon-logo-dark-color.svg","db2ea3a669468c02bf4659ea489986535916a7efa645ab6cc5a2a0938b301db9-neon-logo-dark-color.svg",null,null,"#34d59a",null,"699779053161ba9534c1e4c7"],"logo_white_use":false,"logo_large":true,"logo_size":"default","favicon":["https://files.readme.io/acb648bd40df0f810318f5c6abe728986fdb052a855b651584f40303c6cea605-neon-logomark-light-color.png","acb648bd40df0f810318f5c6abe728986fdb052a855b651584f40303c6cea605-neon-logomark-light-color.png",64,64,"#ffffff",null,"6997791937e8304b06c56731"],"tocVariant":"line","stylesheet":"","stylesheet_hub2":"body {\n    --font-family: 'IBM Plex Sans', Arial, sans-serif;\n    --color-text-muted: #595959;\n    --accent-color: #00e699;\n    --blue-color: #0055ff;\n    --text-black: #1a1a1a;\n    --bg-dark: #262626;\n    --color-text-default: #1a1a1a;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] body,\n    [data-color-mode=\"system\"] body {\n        --color-bg-page: #1a1a1a;\n        --color-text-default: #ffffff;\n    }\n}\n\n[data-color-mode=\"dark\"] body {\n    --color-bg-page: #1a1a1a;\n    --color-text-default: #ffffff;\n}\n\n.App.ThemeContext_line .rm-Header {\n    --Header-border-width: 0px;\n}\n\n.LanguagePicker-more2w3Eqm0IH_K7 { \n  display: none !important;\n}\n\n.rm-Header .rm-Header-top-link.Button {\n    --Header-button-color: var(--text-black);\n\n    font-size: 16px;\n    line-height: 1.5;\n    font-weight: 400;\n    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.rm-Header .rm-Logo-img_lg {\n    --Header-logo-height: 34px;\n}\n\n.rm-Header .rm-Header-bottom {\n    padding-top: 8px;\n    padding-bottom: 8px;\n}\n\n.rm-Header .rm-Header-top-link.Button:hover {\n    border-color: transparent !important;\n    color: var(--accent-color);\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .App.ThemeContext_line .rm-Header,\n    [data-color-mode=\"system\"] .App.ThemeContext_line .rm-Header {\n        --Header-border-color: #404040;\n    }\n\n    [data-color-mode=\"auto\"] .rm-Header .rm-Header-top-link.Button,\n    [data-color-mode=\"system\"] .rm-Header .rm-Header-top-link.Button {\n        --Header-button-color: #ffffff;\n    }\n\n    [data-color-mode=\"auto\"] .App .loading .rm-Article::before,\n    [data-color-mode=\"system\"] .App .loading .rm-Article::before {\n        background: #1A1A1A;\n    }\n}\n\n[data-color-mode=\"dark\"] .App.ThemeContext_line .rm-Header {\n    --Header-border-color: #404040;\n}\n\n[data-color-mode=\"dark\"] .rm-Header .rm-Header-top-link.Button {\n    --Header-button-color: #ffffff;\n}\n\n[data-color-mode=\"dark\"] .App .loading .rm-Article::before {\n    background: #1A1A1A;\n}\n\nnav.rm-Sidebar {\n  --hub-sidebar-width: 260px;\n  --QuickNav-button-bg: red;\n\n  position: relative;\n  padding-top: 20px;\n  background-color: #fafafa;\n}\n\nnav.rm-Sidebar .APIMethod_get,\n.rm-Article .APIMethod_get {\n    background: #078345;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar .APIMethod_post,\n.rm-Article .APIMethod_post {\n    background: #206CDF;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar .APIMethod_patch,\n.rm-Article .APIMethod_patch {\n    background: #FF9500;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar .APIMethod_delete,\n.rm-Article .APIMethod_delete {\n    background: #DA0B51;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar>div>button,\n.rm-Header .rm-SearchToggle {\n    min-width: 206px;\n    height: 34px;\n    padding: 2px 10px;\n    border-radius: 4px;\n    border-color: #b3b3b3;\n    color: #b3b3b3;\n    font-weight: 400;\n    font-family: 'IBM Plex Sans', Arial, sans-serif;\n}\n\nnav.rm-Sidebar>div>button span {\n    background: transparent;\n    border: none;\n}\n\n.rm-Header .rm-SearchToggle .rm-SearchToggle-placeholder {\n    color: #b3b3b3;\n    font-weight: 400;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] nav.rm-Sidebar>div>button span,\n    [data-color-mode=\"system\"] nav.rm-Sidebar>div>button span {\n        background: transparent;\n        border: none;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list {\n        --Sidebar-link-hover-background: transparent;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-SearchToggle,\n    [data-color-mode=\"system\"] .App .rm-SearchToggle {\n        --SearchToggle-border-color: #808080 !important;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"auto\"] .rm-Header .rm-SearchToggle,\n    [data-color-mode=\"system\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"system\"] .rm-Header .rm-SearchToggle {\n        border-color: #808080;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"auto\"] .rm-Header .rm-SearchToggle,\n    [data-color-mode=\"system\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"system\"] .rm-Header .rm-SearchToggle {\n        background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] #AppSearch,\n    [data-color-mode=\"system\"] #AppSearch {\n        --AlgoliaSearch-background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] #AppSearch .Input,\n    [data-color-mode=\"auto\"] .Input[type=search].Input_md,\n    [data-color-mode=\"system\"] #AppSearch .Input,\n    [data-color-mode=\"system\"] .Input[type=search].Input_md {\n        --Input-background: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .App .rm-SearchToggle {\n    --SearchToggle-border-color: #808080 !important;\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar>div>button,\n[data-color-mode=\"dark\"] .rm-Header .rm-SearchToggle {\n    border-color: #808080;\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar>div>button,\n[data-color-mode=\"dark\"] .rm-Header .rm-SearchToggle {\n    background: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] #AppSearch {\n    --AlgoliaSearch-background: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] #AppSearch .Input,\n[data-color-mode=\"dark\"] .Input[type=search].Input_md {\n    --Input-background: var(--bg-dark);\n}\n\nnav.rm-Sidebar .rm-Sidebar-list li {\n    margin-top: 8px;\n}\n\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active {\n    font-weight: 600;\n}\n\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover {\n    color: var(--text-black);\n    background: transparent;\n}\n\n.App .rm-ReferenceMain nav.rm-Sidebar,\n.App .rm-ReferenceMain .rm-Playground {\n    box-shadow: none;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .content-toc .tocHeader .icon:before,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .content-toc .tocHeader .icon:before {\n        color: #ffffff;\n        background: transparent;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .content-toc a:not(.tocHeader),\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .content-toc a:not(.tocHeader) {\n        color: #e5e5e5;\n    }\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .content-toc .tocHeader .icon:before {\n    color: #ffffff;\n    background: transparent;\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .content-toc a:not(.tocHeader) {\n    color: #e5e5e5;\n}\n\nmain.rm-ReferenceMain:before {\n    content: '';\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: calc(50vw - 720px);\n    height: 100%;\n    background-color: #fafafa;\n}\n\n@media screen and (max-width: 1112px) {\n    main.rm-ReferenceMain:before {\n        content: none;\n    }\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-Sidebar,\n    [data-color-mode=\"auto\"] main.rm-ReferenceMain:before,\n    [data-color-mode=\"system\"] .rm-Sidebar,\n    [data-color-mode=\"system\"] main.rm-ReferenceMain:before {\n        background-color: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-Sidebar,\n[data-color-mode=\"dark\"] main.rm-ReferenceMain:before {\n    background-color: var(--bg-dark);\n}\n\n.App .rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-title-color: #595959;\n}\n\n.App .rm-ReferenceMain .rm-PlaygroundResponse {\n    --APIResponse-title-color: #595959;\n}\n\n.App .rm-ReferenceMain .rm-PlaygroundResponse .Button {\n    color: #595959;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .APIResponse-menu-status,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .APIResponse-menu-status {\n        color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .rm-APISectionHeader strong,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button,\n    [data-color-mode=\"system\"] .rm-APISectionHeader strong,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button {\n        color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code {\n        color: #00b377;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundRequest,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundRequest {\n        --APIRequest-title-color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundResponse,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundResponse {\n        --APIResponse-title-color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .InputGroup,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .InputGroup {\n        --APIAuthInputGroup-button-color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-LanguagePicker,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-LanguagePicker {\n        --LanguageButton-button-color: #adb4c1;\n    }\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .APIResponse-menu-status {\n    color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .rm-APISectionHeader strong,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button {\n    color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code:not(.HTTPStatus) {\n    color: #384248;\n    background-color: var(--accent-color);\n}\n\n[data-color-mode=\"light\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code:not(.HTTPStatus) {\n    color: #384248;\n    background-color: var(--accent-color);\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-title-color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundResponse {\n    --APIResponse-title-color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .InputGroup {\n    --APIAuthInputGroup-button-color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-LanguagePicker {\n    --LanguageButton-button-color: #adb4c1;\n}\n\n.App main.rm-ReferenceMain .rm-Article {\n    --markdown-font-size: 16px;\n    --hub-main-max-width: 920px;\n\n    padding-left: 60px;\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article {\n    --color-text-muted: var(--color-text-minimum);\n}\n\n.App .rm-ReferenceMain .rm-Article h1 {\n    font-size: 36px;\n    line-height: 1.25;\n    font-weight: 600;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n    --background: #fafafa;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info {\n    --title: #4c97ff;\n    --border: #4c97ff;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn {\n    --title: #ffbb33;\n    --border: #ffbb33;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay {\n    --title: #00cc88;\n    --border: #00cc88;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n    --title: #ff4c79;\n    --border: #ff4c79;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body a[href],\n.rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]) {\n    color: var(--blue-color);\n    text-decoration: none;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]):hover {\n    text-decoration: underline;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body code,\n.rm-ReferenceMain .rm-Article .markdown-body .CodeTabs {\n    --md-code-tabs: #fafafa;\n    --md-code-background: #fafafa;\n    --md-code-font: 'IBM Plex Mono', ui-monospace;\n\n    padding: 2px 6px;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .heading:hover a[href] {\n    opacity: 1;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .heading a[href]:before {\n    color: var(--accent-color);\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body a[href],\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]),\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body a[href],\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]) {\n        color: var(--accent-color);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n        --background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body code,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body code,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs {\n        --md-code-tabs: #262626;\n        --md-code-background: #262626;\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body a[href],\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]) {\n    color: var(--accent-color);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n    --background: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body code,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs {\n    --md-code-tabs: #262626;\n    --md-code-background: #262626;\n}\n\n.rm-ReferenceMain .content-toc {\n    --hub-toc-width: 260px;\n}\n\n.rm-ReferenceMain .content-toc .tocHeader {\n    font-size: 14px;\n    line-height: 1.25;\n    font-weight: 600;\n    text-transform: capitalize;\n    color: var(--text-black);\n}\n\n.rm-ReferenceMain .content-toc .tocHeader .icon:before {\n    color: var(--text-black);\n}\n\n.rm-ReferenceMain .content-toc a {\n    padding: 6px 0;\n    font-size: 14px;\n    line-height: 1.25;\n    color: #595959;\n}\n\n.rm-ReferenceMain .content-toc a:hover,\n.rm-ReferenceMain .content-toc a:active {\n    color: var(--text-black);\n}\n\n.rm-Pagination a {\n    padding: 1rem;\n    border: 1px solid #e5e5e5;\n    border-radius: 0.25rem;\n}\n\n.rm-Pagination a>div {\n    font-weight: 600;\n    color: var(--text-black);\n}\n\n.rm-Pagination a:hover>div,\n.rm-Pagination a:hover>span:before {\n    color: var(--blue-color);\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-Pagination a>div,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .content-toc a:hover,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .content-toc a:active,\n    [data-color-mode=\"system\"] .rm-Pagination a>div,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .content-toc a:hover,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .content-toc a:active {\n        color: #fff;\n    }\n\n    [data-color-mode=\"auto\"] .rm-Pagination a:hover>div,\n    [data-color-mode=\"auto\"] .rm-Pagination a:hover>span:before,\n    [data-color-mode=\"system\"] .rm-Pagination a:hover>div,\n    [data-color-mode=\"system\"] .rm-Pagination a:hover>span:before {\n        color: var(--accent-color);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Playground .Dropdown-content>div,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Playground .Dropdown-content>div {\n        --Box-background: var(--bg-dark);\n        --Box-background-flat: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-Article .Modal_verticalCenter,\n    [data-color-mode=\"system\"] .rm-Article .Modal_verticalCenter {\n        --Modal-bg-secondary: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-Pagination a>div,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .content-toc a:hover,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .content-toc a:active {\n    color: #fff;\n}\n\n[data-color-mode=\"dark\"] .rm-Pagination a:hover>div,\n[data-color-mode=\"dark\"] .rm-Pagination a:hover>span:before {\n    color: var(--accent-color);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Playground .Dropdown-content>div {\n    --Box-background: var(--bg-dark);\n    --Box-background-flat: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-Article .Modal_verticalCenter {\n    --Modal-bg-secondary: var(--bg-dark);\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-bg: #fafafa;\n    --APIRequest-title-color: #637288;\n\n    border-color: rgba(0, 0, 0, 0.1);\n    box-shadow: none;\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest .icon-clipboard:before,\n.rm-ReferenceMain .rm-PlaygroundRequest .Button_contrast_ghost {\n    color: #637288;\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters {\n    background: #fafafa;\n    color: #47515c;\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like {\n    color: var(--text-black);\n}\n\n.rm-Playground .rm-TryIt {\n    --TryIt-background: #00E699;\n    --TryIt-background-hover: #00b377;\n    --TryIt-border-radius: .25rem;\n\n    border-color: #00E699;\n}\n\n.rm-Playground .rm-TryIt:hover,\n.rm-Playground .rm-TryIt:active {\n    border-color: #00b377;\n}\n\n.rm-Playground .rm-TryIt:disabled:hover,\n.rm-Playground .rm-TryIt:disabled:active {\n    background-color: #b2b2b2;\n}\n\n.rm-Playground .rm-TryIt_replay.Button {\n    color: #637288;\n}\n\n.rm-Playground .Button_contrast_outline:not(:disabled):hover,\n.rm-Playground .Button_contrast_ghost:not(:disabled):hover {\n    color: #637288;\n}\n\n.rm-Playground .PageThumbs .Button .icon {\n    transition: all 0.2s cubic-bezier(.4, 0, .2, 1);\n}\n\n.PageThumbs .Button:not(:disabled):hover .icon-thumbs-up-2 {\n    color: #00e699;\n}\n\n.PageThumbs .Button:not(:disabled):hover .icon-thumbs-down1 {\n    color: #ff4c79;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like {\n        color: #ffffff;\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundRequest,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundRequest {\n        --APIRequest-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .InputGroup,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .InputGroup {\n        --APIAuthInputGroup-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundResponse,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundResponse {\n        --APIResponse-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-APILogInfo,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-APILogInfo {\n        --APILogInfo-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-APIResponseSchemaPicker,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-APIResponseSchemaPicker {\n        --APIResponseSchemaPicker-bg: var(--bg-dark);\n        --APIResponseSchemaPicker-bg-alt: var(--bg-dark);\n        --APIResponseSchemaPicker-bg-hover: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-APILogsTable,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-APILogsTable {\n        --APILogsTable-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-ParamContainer,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-ParamContainer {\n        --ParamContainer-bg: var(--bg-dark);\n        --ParamContainer-bg-alt: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-ParamContainer .Input,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-ParamContainer .Input {\n        --color-input-background: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like {\n    color: #ffffff;\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-bg: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .InputGroup {\n    --APIAuthInputGroup-bg: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundResponse {\n    --APIResponse-bg: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-APILogInfo {\n    --APILogInfo-bg: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-APIResponseSchemaPicker {\n    --APIResponseSchemaPicker-bg: var(--bg-dark);\n    --APIResponseSchemaPicker-bg-alt: var(--bg-dark);\n    --APIResponseSchemaPicker-bg-hover: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-APILogsTable {\n    --APILogsTable-bg: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-ParamContainer {\n    --ParamContainer-bg: var(--bg-dark);\n    --ParamContainer-bg-alt: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-ParamContainer .Input {\n    --color-input-background: var(--bg-dark);\n}\n\n/* Code */\n.CodeSnippet .CodeMirror .keyword,\n.CodeSnippet .CodeMirror .cm-keyword,\n.CodeSnippet .CodeMirror .class-name,\n.CodeSnippet .CodeMirror .url,\n.CodeSnippet .CodeMirror .tag,\n.CodeSnippet .CodeMirror .cm-tag {\n    color: #206CDF;\n}\n\n.CodeSnippet .CodeMirror .console,\n.CodeSnippet .CodeMirror .class-name.namespace,\n.CodeSnippet .CodeMirror .tag.attr-name,\n.CodeSnippet .CodeMirror .cm-attribute,\n.CodeSnippet .CodeMirror .cm-variable,\n.CodeSnippet .CodeMirror .cm-variable-2,\n.CodeSnippet .CodeMirror .cm-def {\n    color: #1a1a1a;\n}\n\n.CodeSnippet .CodeMirror .builtin,\n.CodeSnippet .CodeMirror .function,\n.CodeSnippet .CodeMirror .cm-string,\n.CodeSnippet .CodeMirror .cm-builtin,\n.CodeSnippet .CodeMirror .string,\n.CodeSnippet .CodeMirror .char,\n.CodeSnippet .CodeMirror .selector,\n.CodeSnippet .CodeMirror .tag.attr-value,\n.CodeSnippet .CodeMirror .atrule,\n.CodeSnippet .CodeMirror .inserted {\n    color: #078345;\n}\n\n.CodeSnippet .CodeMirror .boolean,\n.CodeSnippet .CodeMirror .number,\n.CodeSnippet .CodeMirror .symbol,\n.CodeSnippet .CodeMirror .variable,\n.CodeSnippet .CodeMirror .constant,\n.CodeSnippet .CodeMirror .property,\n.CodeSnippet .CodeMirror .cm-property,\n.CodeSnippet .CodeMirror .property-access,\n.CodeSnippet .CodeMirror .deleted {\n    color: #DA0B51;\n}\n\n.CodeSnippet .CodeMirror .regex,\n.CodeSnippet .CodeMirror .cm-atom,\n.CodeSnippet .CodeMirror .important {\n    color: #FF9500;\n}\n\n.CodeSnippet .CodeMirror .operator,\n.CodeSnippet .CodeMirror .cm-operator,\n.CodeSnippet .CodeMirror .entity {\n    color: #A86624;\n}\n\n.CodeSnippet .CodeMirror .punctuation {\n    color: #808080;\n}\n\n.CodeSnippet .CodeMirror .comment,\n.CodeSnippet .CodeMirror .prolog,\n.CodeSnippet .CodeMirror .doctype,\n.CodeSnippet .CodeMirror .cdata {\n    color: #B3B3B3;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,\n    [data-color-mode=\"auto\"] .APIAuth .InputGroup-input:focus,\n    [data-color-mode=\"auto\"] .APIAuth .InputGroup:focus-within,\n    [data-color-mode=\"system\"] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,\n    [data-color-mode=\"system\"] .APIAuth .InputGroup-input:focus,\n    [data-color-mode=\"system\"] .APIAuth .InputGroup:focus-within {\n        background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag {\n        color: #66A3FF;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def {\n        color: #ffffff;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted {\n        color: #47D18C;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted {\n        color: #F6558C;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important {\n        color: #FFBF66;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity {\n        color: #BA8C5E;\n    }\n}\n\n[data-color-mode=dark] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,\n[data-color-mode=dark] .APIAuth .InputGroup-input:focus,\n[data-color-mode=dark] .APIAuth .InputGroup:focus-within {\n    background: var(--bg-dark);\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag {\n    color: #66A3FF;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def {\n    color: #ffffff;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted {\n    color: #47D18C;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted {\n    color: #F6558C;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important {\n    color: #FFBF66;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity {\n    color: #BA8C5E;\n}","stylesheet_hub3":"","javascript":"","javascript_hub2":"","html_promo":"","html_body":"","html_footer":"","html_head":"\u003clink rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n\u003clink rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n\u003clink href=\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\n\u003clink href=\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap\" rel=\"stylesheet\">","html_footer_meta":"","global_landing_page":{"html":"","redirect":""},"html_hidelinks":false,"collapsibleCategories":false,"showBreadcrumbs":false,"showPageIcons":true,"showVersion":true,"hideTableOfContents":false,"nextStepsLabel":"","ai_dropdown":"enabled","ai_options":{"ask_ai":"disabled","chatgpt":"enabled","claude":"enabled","clipboard":"enabled","copilot":"enabled","mcp":{"command":"enabled","config":"enabled","cursor":"enabled","vscode":"enabled"},"view_as_markdown":"enabled"}},"custom_domain":"api-docs.neon.tech","description":"Neon is serverless Postgres built for the cloud. \n\nNeon separates storage and compute to offer database branching, scale-to-zero, and bottomless storage.","hstsIncludeSubdomains":false,"planSchedule":{"stripeScheduleId":null,"changeDate":null,"nextPlan":null},"planStatus":"active","error404":"","first_page":"reference","git":{"migration":{"createRepository":{"end":"2025-09-09T20:09:13.335Z","start":"2025-09-09T20:09:12.921Z","status":"successful"},"transformation":{"end":"2025-09-09T20:09:13.734Z","start":"2025-09-09T20:09:13.535Z","status":"successful"},"migratingPages":{"end":"2025-09-09T20:09:14.488Z","start":"2025-09-09T20:09:13.792Z","status":"successful"},"enableSuperhub":{"end":"2025-09-09T20:10:24.390Z","start":"2025-09-09T20:10:24.389Z","status":"successful"}},"sync":{"installationRequest":{},"connections":[],"providers":[]},"migrationType":"default","renamedSlugs":[]},"glossaryTerms":[{"_id":"63bdc1a86cfff1007a08e156","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"graphqlSchema":"","gracePeriod":{"enabled":false,"endsAt":null},"healthCheck":{"provider":"","settings":{}},"i18n":{"defaultLanguage":"en","languages":[{"code":"en","type":"manual"}],"state":"enabled"},"intercom":"","is_active":true,"branchSharing":"enabled","internal":"","jwtExpirationTime":0,"landing_bottom":[{"type":"links"}],"llms_txt":true,"llms_txt_options":{"split":false,"split_categories":false,"use_custom":null},"mcp":{"state":"enabled"},"mdxishMigrationStatus":{"migratedFrom":"mdx"},"metrics":{"monthlyLimit":0,"monthlyPurchaseLimit":0,"thumbsEnabled":true,"meteredBilling":{}},"modules":{"landing":false,"docs":false,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":false,"custompages":false,"tutorials":false},"name":"Neon","nav_names":{"docs":"","reference":"","changelog":"","discuss":"","recipes":"","tutorials":""},"oauth_url":"","onboardingCompleted":{"api":true,"appearance":true,"documentation":true,"domain":false,"jwt":false,"logs":false,"metricsSDK":false,"aiReady":false,"team":false,"gitSync":false},"owlbot":{"copilot":{"enabled":false,"hasBeenUsed":false,"installedCustomPage":""},"enabled":false,"newExperience":false,"v2":false,"placement":"search","isPaying":false,"exampleQuestions":{"question1":"","question2":"","question3":""},"customization":{"tone":"neutral","customTone":"","answerLength":"long","forbiddenWords":"","defaultAnswer":"","showAiDisclaimer":false,"advancedInstruction":"","advancedModeEnabled":false},"llmOptions":{"model":{}},"modelList":[],"knowledge":"","knowledgeSegregation":false},"owner":{"id":"63bdc118f7e98200162e39d4","email":null,"name":null},"plan":"business2018","planOverride":null,"readmeScore":{"totalScore":122,"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":true,"points":10},"customLogin":{"enabled":false,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":false,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":false,"points":5},"guides":{"enabled":false,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":false,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":false,"points":2}}},"reCaptchaSiteKey":"","reference":{"alwaysUseDefaults":true,"autoFillRequestExample":false,"defaultExpandResponseExample":false,"defaultExpandResponseSchema":false,"enableOAuthFlows":false,"fillOptionalObjectsOnExpand":true},"seo":{"overwrite_title_tag":false},"searchSettings":{"default_to_current_project":false,"show_project_filter":true},"ssl":{"minTLS":"1.2"},"subdomain":"neon-tech","subpath":"","topnav":{"left":[{"type":"url","text":"Neon OpenAPI Specification","url":"https://neon.com/api_spec/release/v2.json"},{"type":"url","text":"Neon Docs","url":"https://neon.com/docs/introduction/about"},{"type":"url","text":"Neon Console","url":"https://console.neon.tech/"},{"type":"url","text":"Discord","url":"https://discord.com/invite/92vNTzKDGp"}],"right":[],"bottom":[],"edited":true},"trial":{"trialDeadlineEnabled":true,"trialEndsAt":"2023-03-14T18:51:04.946Z"},"translate":{"provider":"transifex","show_widget":false,"key_public":"","org_name":"","project_name":"","languages":[]},"url":"https://neon.com/","variableDefaults":[{"apiSetting":"67abb18089d17e00256781b8","name":"BearerAuth","scheme":"bearer","source":"security","type":"http"},{"apiSetting":"67abb18089d17e00256781b8","name":"zenith","source":"security","type":"apiKey"},{"apiSetting":"67abb18089d17e00256781b8","name":"keycloak_token","source":"security","type":"apiKey"}],"childrenProjects":[],"derivedPlan":"business2018","fullBaseUrl":"https://api-docs.neon.tech/","hasCustomKnowledge":false,"isExternalSnippetActive":false,"planTrial":"business2018","shouldGateDash":false,"webhookEnabled":false,"isHubEditable":true},"projectStore":{"data":{"allow_crawlers":"disabled","canonical_url":null,"default_version":{"name":"2.0"},"description":"Neon is serverless Postgres built for the cloud. \n\nNeon separates storage and compute to offer database branching, scale-to-zero, and bottomless storage.","git":{"repository_name":null,"connection":{"repository":null,"organization":null,"status":"none"},"remediation_status":null,"remediated_at":null,"remediation_initiated_by":null,"remediation_dry_run":null,"remediation_job_id":null},"glossary":[{"_id":"63bdc1a86cfff1007a08e156","term":"parliament","definition":"Owls are generally solitary, but when seen together the group is called a 'parliament'!"}],"homepage_url":"https://neon.com/","created_at":null,"updated_at":null,"id":"63bdc1a86cfff1007a08e155","name":"Neon","parent":null,"redirects":[],"sitemap":"disabled","llms_txt":"enabled","subdomain":"neon-tech","suggested_edits":"disabled","notification_settings":{"project_topic_key":null},"uri":"/projects/me","variable_defaults":[{"name":"BearerAuth","scheme":"bearer","source":"security","type":"http","id":null},{"name":"zenith","source":"security","type":"apiKey","id":null},{"name":"keycloak_token","source":"security","type":"apiKey","id":null}],"webhooks":[],"api_designer":{"allow_editing":"enabled"},"custom_login":{"jwt_expiration_time":0,"login_url":null,"logout_url":null},"features":{"mdx":"disabled"},"onboarding_completed":{"api":true,"appearance":true,"documentation":true,"domain":false,"jwt":false,"logs":false,"metricsSDK":false,"ai_ready":false,"team":false,"git_sync":false},"pages":{"not_found":null,"default_visibility":"public"},"owner":{"id":null,"email":null,"name":null},"privacy":{"branches":"enabled","openapi":"admin","password":null,"view":"public"},"refactored":{"status":"enabled","migrated":"successful"},"seo":{"overwrite_title_tag":"disabled"},"ssl":{"min_tls_version":"1.2"},"hsts":{"include_subdomains":false},"feature_rules":{"merge":{"requirements":[],"allow_override":[]}},"god_mode":{"is_active":null,"flags":{},"admin_limit_override":null,"notes":null,"children_limit":null,"owlbot":{"enabled":null,"new_experience":null,"v2":null,"trial_ends_at":null},"salesforce":{"account_id":null},"enterprise_notes":{"account_name":null,"owner_csm":null,"owner_sales":null,"status":null,"superhub_migration_eligibility":null},"mdxish_migration_status":{"migrated_at":null,"migrated_from":null,"reverted_at":null,"source":null}},"mcp":{"state":"enabled","custom_tools":[],"disabled_routes":[],"disabled_tools":[],"has_password":false,"oauth_pages":{"auth_url":null,"success_url":null,"error_url":null},"oauth_credentials":{},"privacy":{"password":null}},"plan":{"type":"business2018","override":null,"stripe_subscription_id":null,"grace_period":{"enabled":false,"end_date":null},"trial":{"active":false,"enabled":null,"expired":false,"end_date":"2023-03-14T18:51:04.946Z"}},"reference":{"api_sdk_snippets":"enabled","experimental_performance_mode":"disabled","defaults":"always_use","fill_optional_objects_on_expand":"enabled","json_editor":"disabled","method_badge_style":"classic","oauth_flows":"disabled","oneof_layout":"dropdown","request_history":"disabled","request_examples":"collapsed","response_examples":"collapsed","response_schemas":"collapsed","show_method_in_sidebar":"disabled","sdk_snippets":{"external":"disabled"}},"llms_txt_options":{"split":{"enabled":"disabled","categories":"disabled"},"custom":{"enabled":"disabled"}},"custom_domain":{"name":"api-docs.neon.tech","target":null,"validation":{"status":null,"code":null}},"ai":{"discovery":{"content_signal":{"ai_train":false,"search":false,"ai_input":false},"link_headers":true,"markdown_negotiation":true,"agent_hint_banner":true,"show_sub_pages":false,"show_sibling_pages":false,"show_whats_next":false,"api_catalog":true,"agent_skills_index":true,"mcp_server_card":true,"webmcp":true,"oauth":{"type":"none","issuer_url":null,"authorization_servers":[],"resource_identifier":null,"scopes_supported":[]}},"hidden":false,"readiness":{"status":null,"score":null,"grade":null,"category_scores":null,"pages":null,"summary":null,"results":null,"resolutions":null,"cap":null,"last_checked_at":null,"error_message":null},"inline_editor":{"enabled":true},"linter":{"enabled":true},"chat":{"enabled":true,"models":[],"knowledge":{"custom_knowledge":null,"use_project_knowledge":false}},"owlbot":{"enabled":false,"new_experience":false,"v2":false,"placement":"search","is_paying":false,"trial":{"is_paying":false}}},"health_check":{"provider":"none","settings":{"manual":{"status":"down","url":null},"statuspage":{"id":null}}},"integrations":{"aws":{"readme_webhook_login":{"region":null,"external_id":null,"role_arn":null,"usage_plan_id":null}},"bing":{"verify":null},"google":{"analytics":null,"site_verification":null},"heap":{"id":null},"koala":{"key":null},"localize":{"key":null},"postman":{"key":null,"client_id":null,"client_secret":null,"is_connected":false},"recaptcha":{"site_key":null,"secret_key":null},"segment":{"key":null,"domain":null},"speakeasy":{"key":null,"spec_url":null},"typekit":{"key":null},"zendesk":{"subdomain":null},"intercom":{"app_id":null,"secure_mode":{"key":null}}},"permissions":{"appearance":{"private_label":"enabled","custom_code":{"css":"enabled","html":"enabled","js":"disabled"}},"branches":{"merge":{"admin":true,"editor":false},"approve":{"admin":true,"editor":false}}},"metrics":{"monthly_purchase_limit":0,"monthly_limit":0,"pii":{"enabled":true},"voting":{"page_quality":{"enabled":true}}},"appearance":{"toc_variant":"line","changelog":{"layout":"collapsed","show_author":true,"show_exact_date":false},"layout":{"full_width":"disabled","sticky_header":null,"style":"classic"},"brand":{"primary_color":"#e5e5e5","link_color":"#05be80","link_color_dark":null,"theme":"system","theme_preset":"default","background":{"color":null,"color_dark":null,"tint":null,"tint_dark":null},"border":{"color":null,"color_dark":null},"header":{"color":null,"color_dark":null},"sidebar":{"border":null,"border_dark":null},"askai":{"color":null,"color_dark":null}},"markdown":{"callouts":{"icon_font":"emojis"}},"table_of_contents":"enabled","whats_next_label":null,"landing_page":{"sections":[{"type":"links","alignment":null,"title":null,"text":null,"html":null,"page_type":null,"side":null,"media_type":null,"media_html":null,"media_image":null,"media_code":null,"group0":null,"group1":null,"group2":null}],"promo":{"title":"The Neon Developer Hub","text":"Welcome to the Neon developer hub. You'll find comprehensive guides and documentation to help you start working with Neon as quickly as possible, as well as support if you get stuck. Let's jump right in!","content_type":"buttons","html":null,"button_primary":"get-started","button_secondary":"none"}},"footer":{"readme_logo":"hide"},"logo":{"size":"large","dark_mode":{"uri":"/images/699779053161ba9534c1e4c7","url":"https://files.readme.io/db2ea3a669468c02bf4659ea489986535916a7efa645ab6cc5a2a0938b301db9-neon-logo-dark-color.svg","name":"db2ea3a669468c02bf4659ea489986535916a7efa645ab6cc5a2a0938b301db9-neon-logo-dark-color.svg","width":null,"height":null,"color":"#34d59a","links":{"original_url":null}},"main":{"uri":"/images/699778f9782a289650797d3b","url":"https://files.readme.io/0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg","name":"0ca1059c21bc57f37633ffc5d824ad2b0014b93e07946db19f675713edaf117f-neon-logo-light-color.svg","width":null,"height":null,"color":"#37c38f","links":{"original_url":null}},"favicon":{"uri":"/images/6997791937e8304b06c56731","url":"https://files.readme.io/acb648bd40df0f810318f5c6abe728986fdb052a855b651584f40303c6cea605-neon-logomark-light-color.png","name":"acb648bd40df0f810318f5c6abe728986fdb052a855b651584f40303c6cea605-neon-logomark-light-color.png","width":64,"height":64,"color":"#ffffff","links":{"original_url":null}}},"typography":{"heading_font":null,"body_font":null,"code_font":null,"spacing":null,"custom_heading":{"url":null,"filename":null,"format":null},"custom_code":{"url":null,"filename":null,"format":null},"custom_body":{"regular":{"url":null,"filename":null,"format":null},"medium":{"url":null,"filename":null,"format":null},"semibold":{"url":null,"filename":null,"format":null}}},"ai":{"dropdown":"enabled","options":{"ask_ai":"disabled","chatgpt":"enabled","claude":"enabled","clipboard":"enabled","view_as_markdown":"enabled","mcp":{"command":"enabled","config":"enabled","cursor":"enabled","vscode":"enabled"}}},"custom_code":{"css":"body {\n    --font-family: 'IBM Plex Sans', Arial, sans-serif;\n    --color-text-muted: #595959;\n    --accent-color: #00e699;\n    --blue-color: #0055ff;\n    --text-black: #1a1a1a;\n    --bg-dark: #262626;\n    --color-text-default: #1a1a1a;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] body,\n    [data-color-mode=\"system\"] body {\n        --color-bg-page: #1a1a1a;\n        --color-text-default: #ffffff;\n    }\n}\n\n[data-color-mode=\"dark\"] body {\n    --color-bg-page: #1a1a1a;\n    --color-text-default: #ffffff;\n}\n\n.App.ThemeContext_line .rm-Header {\n    --Header-border-width: 0px;\n}\n\n.LanguagePicker-more2w3Eqm0IH_K7 { \n  display: none !important;\n}\n\n.rm-Header .rm-Header-top-link.Button {\n    --Header-button-color: var(--text-black);\n\n    font-size: 16px;\n    line-height: 1.5;\n    font-weight: 400;\n    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.rm-Header .rm-Logo-img_lg {\n    --Header-logo-height: 34px;\n}\n\n.rm-Header .rm-Header-bottom {\n    padding-top: 8px;\n    padding-bottom: 8px;\n}\n\n.rm-Header .rm-Header-top-link.Button:hover {\n    border-color: transparent !important;\n    color: var(--accent-color);\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .App.ThemeContext_line .rm-Header,\n    [data-color-mode=\"system\"] .App.ThemeContext_line .rm-Header {\n        --Header-border-color: #404040;\n    }\n\n    [data-color-mode=\"auto\"] .rm-Header .rm-Header-top-link.Button,\n    [data-color-mode=\"system\"] .rm-Header .rm-Header-top-link.Button {\n        --Header-button-color: #ffffff;\n    }\n\n    [data-color-mode=\"auto\"] .App .loading .rm-Article::before,\n    [data-color-mode=\"system\"] .App .loading .rm-Article::before {\n        background: #1A1A1A;\n    }\n}\n\n[data-color-mode=\"dark\"] .App.ThemeContext_line .rm-Header {\n    --Header-border-color: #404040;\n}\n\n[data-color-mode=\"dark\"] .rm-Header .rm-Header-top-link.Button {\n    --Header-button-color: #ffffff;\n}\n\n[data-color-mode=\"dark\"] .App .loading .rm-Article::before {\n    background: #1A1A1A;\n}\n\nnav.rm-Sidebar {\n  --hub-sidebar-width: 260px;\n  --QuickNav-button-bg: red;\n\n  position: relative;\n  padding-top: 20px;\n  background-color: #fafafa;\n}\n\nnav.rm-Sidebar .APIMethod_get,\n.rm-Article .APIMethod_get {\n    background: #078345;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar .APIMethod_post,\n.rm-Article .APIMethod_post {\n    background: #206CDF;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar .APIMethod_patch,\n.rm-Article .APIMethod_patch {\n    background: #FF9500;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar .APIMethod_delete,\n.rm-Article .APIMethod_delete {\n    background: #DA0B51;\n    text-shadow: none;\n    box-shadow: none;\n}\n\nnav.rm-Sidebar>div>button,\n.rm-Header .rm-SearchToggle {\n    min-width: 206px;\n    height: 34px;\n    padding: 2px 10px;\n    border-radius: 4px;\n    border-color: #b3b3b3;\n    color: #b3b3b3;\n    font-weight: 400;\n    font-family: 'IBM Plex Sans', Arial, sans-serif;\n}\n\nnav.rm-Sidebar>div>button span {\n    background: transparent;\n    border: none;\n}\n\n.rm-Header .rm-SearchToggle .rm-SearchToggle-placeholder {\n    color: #b3b3b3;\n    font-weight: 400;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] nav.rm-Sidebar>div>button span,\n    [data-color-mode=\"system\"] nav.rm-Sidebar>div>button span {\n        background: transparent;\n        border: none;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list {\n        --Sidebar-link-hover-background: transparent;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-SearchToggle,\n    [data-color-mode=\"system\"] .App .rm-SearchToggle {\n        --SearchToggle-border-color: #808080 !important;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"auto\"] .rm-Header .rm-SearchToggle,\n    [data-color-mode=\"system\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"system\"] .rm-Header .rm-SearchToggle {\n        border-color: #808080;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"auto\"] .rm-Header .rm-SearchToggle,\n    [data-color-mode=\"system\"] nav.rm-Sidebar>div>button,\n    [data-color-mode=\"system\"] .rm-Header .rm-SearchToggle {\n        background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] #AppSearch,\n    [data-color-mode=\"system\"] #AppSearch {\n        --AlgoliaSearch-background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] #AppSearch .Input,\n    [data-color-mode=\"auto\"] .Input[type=search].Input_md,\n    [data-color-mode=\"system\"] #AppSearch .Input,\n    [data-color-mode=\"system\"] .Input[type=search].Input_md {\n        --Input-background: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .App .rm-SearchToggle {\n    --SearchToggle-border-color: #808080 !important;\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar>div>button,\n[data-color-mode=\"dark\"] .rm-Header .rm-SearchToggle {\n    border-color: #808080;\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar>div>button,\n[data-color-mode=\"dark\"] .rm-Header .rm-SearchToggle {\n    background: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] #AppSearch {\n    --AlgoliaSearch-background: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] #AppSearch .Input,\n[data-color-mode=\"dark\"] .Input[type=search].Input_md {\n    --Input-background: var(--bg-dark);\n}\n\nnav.rm-Sidebar .rm-Sidebar-list li {\n    margin-top: 8px;\n}\n\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active {\n    font-weight: 600;\n}\n\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\nnav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover {\n    color: var(--text-black);\n    background: transparent;\n}\n\n.App .rm-ReferenceMain nav.rm-Sidebar,\n.App .rm-ReferenceMain .rm-Playground {\n    box-shadow: none;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .content-toc .tocHeader .icon:before,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .content-toc .tocHeader .icon:before {\n        color: #ffffff;\n        background: transparent;\n    }\n\n    [data-color-mode=\"auto\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .content-toc a:not(.tocHeader),\n    [data-color-mode=\"system\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .content-toc a:not(.tocHeader) {\n        color: #e5e5e5;\n    }\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:active,\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link.active,\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link:hover,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .content-toc .tocHeader .icon:before {\n    color: #ffffff;\n    background: transparent;\n}\n\n[data-color-mode=\"dark\"] nav.rm-Sidebar .rm-Sidebar-list .rm-Sidebar-link,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .content-toc a:not(.tocHeader) {\n    color: #e5e5e5;\n}\n\nmain.rm-ReferenceMain:before {\n    content: '';\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: calc(50vw - 720px);\n    height: 100%;\n    background-color: #fafafa;\n}\n\n@media screen and (max-width: 1112px) {\n    main.rm-ReferenceMain:before {\n        content: none;\n    }\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-Sidebar,\n    [data-color-mode=\"auto\"] main.rm-ReferenceMain:before,\n    [data-color-mode=\"system\"] .rm-Sidebar,\n    [data-color-mode=\"system\"] main.rm-ReferenceMain:before {\n        background-color: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-Sidebar,\n[data-color-mode=\"dark\"] main.rm-ReferenceMain:before {\n    background-color: var(--bg-dark);\n}\n\n.App .rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-title-color: #595959;\n}\n\n.App .rm-ReferenceMain .rm-PlaygroundResponse {\n    --APIResponse-title-color: #595959;\n}\n\n.App .rm-ReferenceMain .rm-PlaygroundResponse .Button {\n    color: #595959;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .APIResponse-menu-status,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .APIResponse-menu-status {\n        color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .rm-APISectionHeader strong,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button,\n    [data-color-mode=\"system\"] .rm-APISectionHeader strong,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button {\n        color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code {\n        color: #00b377;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundRequest,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundRequest {\n        --APIRequest-title-color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-PlaygroundResponse,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-PlaygroundResponse {\n        --APIResponse-title-color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .InputGroup,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .InputGroup {\n        --APIAuthInputGroup-button-color: #adb4c1;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .rm-LanguagePicker,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .rm-LanguagePicker {\n        --LanguageButton-button-color: #adb4c1;\n    }\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .APIResponse-menu-status {\n    color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .rm-APISectionHeader strong,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundResponse .Button {\n    color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code:not(.HTTPStatus) {\n    color: #384248;\n    background-color: var(--accent-color);\n}\n\n[data-color-mode=\"light\"] .App .rm-ReferenceMain .rm-PlaygroundResponse code:not(.HTTPStatus) {\n    color: #384248;\n    background-color: var(--accent-color);\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-title-color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-PlaygroundResponse {\n    --APIResponse-title-color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .InputGroup {\n    --APIAuthInputGroup-button-color: #adb4c1;\n}\n\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .rm-LanguagePicker {\n    --LanguageButton-button-color: #adb4c1;\n}\n\n.App main.rm-ReferenceMain .rm-Article {\n    --markdown-font-size: 16px;\n    --hub-main-max-width: 920px;\n\n    padding-left: 60px;\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article {\n    --color-text-muted: var(--color-text-minimum);\n}\n\n.App .rm-ReferenceMain .rm-Article h1 {\n    font-size: 36px;\n    line-height: 1.25;\n    font-weight: 600;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n    --background: #fafafa;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info {\n    --title: #4c97ff;\n    --border: #4c97ff;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn {\n    --title: #ffbb33;\n    --border: #ffbb33;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay {\n    --title: #00cc88;\n    --border: #00cc88;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n    --title: #ff4c79;\n    --border: #ff4c79;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body a[href],\n.rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]) {\n    color: var(--blue-color);\n    text-decoration: none;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]):hover {\n    text-decoration: underline;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body code,\n.rm-ReferenceMain .rm-Article .markdown-body .CodeTabs {\n    --md-code-tabs: #fafafa;\n    --md-code-background: #fafafa;\n    --md-code-font: 'IBM Plex Mono', ui-monospace;\n\n    padding: 2px 6px;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .heading:hover a[href] {\n    opacity: 1;\n}\n\n.rm-ReferenceMain .rm-Article .markdown-body .heading a[href]:before {\n    color: var(--accent-color);\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body a[href],\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]),\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body a[href],\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]) {\n        color: var(--accent-color);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n        --background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body code,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body code,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs {\n        --md-code-tabs: #262626;\n        --md-code-background: #262626;\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body a[href],\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body a:not([href=\"\"]) {\n    color: var(--accent-color);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_info,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_warn,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_okay,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .callout.callout_error {\n    --background: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body code,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Article .markdown-body .CodeTabs {\n    --md-code-tabs: #262626;\n    --md-code-background: #262626;\n}\n\n.rm-ReferenceMain .content-toc {\n    --hub-toc-width: 260px;\n}\n\n.rm-ReferenceMain .content-toc .tocHeader {\n    font-size: 14px;\n    line-height: 1.25;\n    font-weight: 600;\n    text-transform: capitalize;\n    color: var(--text-black);\n}\n\n.rm-ReferenceMain .content-toc .tocHeader .icon:before {\n    color: var(--text-black);\n}\n\n.rm-ReferenceMain .content-toc a {\n    padding: 6px 0;\n    font-size: 14px;\n    line-height: 1.25;\n    color: #595959;\n}\n\n.rm-ReferenceMain .content-toc a:hover,\n.rm-ReferenceMain .content-toc a:active {\n    color: var(--text-black);\n}\n\n.rm-Pagination a {\n    padding: 1rem;\n    border: 1px solid #e5e5e5;\n    border-radius: 0.25rem;\n}\n\n.rm-Pagination a>div {\n    font-weight: 600;\n    color: var(--text-black);\n}\n\n.rm-Pagination a:hover>div,\n.rm-Pagination a:hover>span:before {\n    color: var(--blue-color);\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-Pagination a>div,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .content-toc a:hover,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .content-toc a:active,\n    [data-color-mode=\"system\"] .rm-Pagination a>div,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .content-toc a:hover,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .content-toc a:active {\n        color: #fff;\n    }\n\n    [data-color-mode=\"auto\"] .rm-Pagination a:hover>div,\n    [data-color-mode=\"auto\"] .rm-Pagination a:hover>span:before,\n    [data-color-mode=\"system\"] .rm-Pagination a:hover>div,\n    [data-color-mode=\"system\"] .rm-Pagination a:hover>span:before {\n        color: var(--accent-color);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-Playground .Dropdown-content>div,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-Playground .Dropdown-content>div {\n        --Box-background: var(--bg-dark);\n        --Box-background-flat: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-Article .Modal_verticalCenter,\n    [data-color-mode=\"system\"] .rm-Article .Modal_verticalCenter {\n        --Modal-bg-secondary: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-Pagination a>div,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .content-toc a:hover,\n[data-color-mode=\"dark\"] .App .rm-ReferenceMain .content-toc a:active {\n    color: #fff;\n}\n\n[data-color-mode=\"dark\"] .rm-Pagination a:hover>div,\n[data-color-mode=\"dark\"] .rm-Pagination a:hover>span:before {\n    color: var(--accent-color);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Playground .Dropdown-content .Menu,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-Playground .Dropdown-content>div {\n    --Box-background: var(--bg-dark);\n    --Box-background-flat: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-Article .Modal_verticalCenter {\n    --Modal-bg-secondary: var(--bg-dark);\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-bg: #fafafa;\n    --APIRequest-title-color: #637288;\n\n    border-color: rgba(0, 0, 0, 0.1);\n    box-shadow: none;\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest .icon-clipboard:before,\n.rm-ReferenceMain .rm-PlaygroundRequest .Button_contrast_ghost {\n    color: #637288;\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters {\n    background: #fafafa;\n    color: #47515c;\n}\n\n.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n.rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like {\n    color: var(--text-black);\n}\n\n.rm-Playground .rm-TryIt {\n    --TryIt-background: #00E699;\n    --TryIt-background-hover: #00b377;\n    --TryIt-border-radius: .25rem;\n\n    border-color: #00E699;\n}\n\n.rm-Playground .rm-TryIt:hover,\n.rm-Playground .rm-TryIt:active {\n    border-color: #00b377;\n}\n\n.rm-Playground .rm-TryIt:disabled:hover,\n.rm-Playground .rm-TryIt:disabled:active {\n    background-color: #b2b2b2;\n}\n\n.rm-Playground .rm-TryIt_replay.Button {\n    color: #637288;\n}\n\n.rm-Playground .Button_contrast_outline:not(:disabled):hover,\n.rm-Playground .Button_contrast_ghost:not(:disabled):hover {\n    color: #637288;\n}\n\n.rm-Playground .PageThumbs .Button .icon {\n    transition: all 0.2s cubic-bezier(.4, 0, .2, 1);\n}\n\n.PageThumbs .Button:not(:disabled):hover .icon-thumbs-up-2 {\n    color: #00e699;\n}\n\n.PageThumbs .Button:not(:disabled):hover .icon-thumbs-down1 {\n    color: #ff4c79;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like {\n        color: #ffffff;\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundRequest,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundRequest {\n        --APIRequest-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .InputGroup,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .InputGroup {\n        --APIAuthInputGroup-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-PlaygroundResponse,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-PlaygroundResponse {\n        --APIResponse-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-APILogInfo,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-APILogInfo {\n        --APILogInfo-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-APIResponseSchemaPicker,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-APIResponseSchemaPicker {\n        --APIResponseSchemaPicker-bg: var(--bg-dark);\n        --APIResponseSchemaPicker-bg-alt: var(--bg-dark);\n        --APIResponseSchemaPicker-bg-hover: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-APILogsTable,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-APILogsTable {\n        --APILogsTable-bg: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-ParamContainer,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-ParamContainer {\n        --ParamContainer-bg: var(--bg-dark);\n        --ParamContainer-bg-alt: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .rm-ReferenceMain .rm-ParamContainer .Input,\n    [data-color-mode=\"system\"] .rm-ReferenceMain .rm-ParamContainer .Input {\n        --color-input-background: var(--bg-dark);\n    }\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line,\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundRequest .CodeSnippet .CodeMirror pre.CodeMirror-line-like {\n    color: #ffffff;\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundRequest {\n    --APIRequest-bg: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .InputGroup {\n    --APIAuthInputGroup-bg: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-PlaygroundResponse {\n    --APIResponse-bg: var(--bg-dark);\n}\n\n[data-color-mode=\"dark\"] .rm-ReferenceMain .rm-APILogInfo {\n    --APILogInfo-bg: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-APIResponseSchemaPicker {\n    --APIResponseSchemaPicker-bg: var(--bg-dark);\n    --APIResponseSchemaPicker-bg-alt: var(--bg-dark);\n    --APIResponseSchemaPicker-bg-hover: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-APILogsTable {\n    --APILogsTable-bg: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-ParamContainer {\n    --ParamContainer-bg: var(--bg-dark);\n    --ParamContainer-bg-alt: var(--bg-dark);\n}\n\n[data-color-mode=dark] .rm-ReferenceMain .rm-ParamContainer .Input {\n    --color-input-background: var(--bg-dark);\n}\n\n/* Code */\n.CodeSnippet .CodeMirror .keyword,\n.CodeSnippet .CodeMirror .cm-keyword,\n.CodeSnippet .CodeMirror .class-name,\n.CodeSnippet .CodeMirror .url,\n.CodeSnippet .CodeMirror .tag,\n.CodeSnippet .CodeMirror .cm-tag {\n    color: #206CDF;\n}\n\n.CodeSnippet .CodeMirror .console,\n.CodeSnippet .CodeMirror .class-name.namespace,\n.CodeSnippet .CodeMirror .tag.attr-name,\n.CodeSnippet .CodeMirror .cm-attribute,\n.CodeSnippet .CodeMirror .cm-variable,\n.CodeSnippet .CodeMirror .cm-variable-2,\n.CodeSnippet .CodeMirror .cm-def {\n    color: #1a1a1a;\n}\n\n.CodeSnippet .CodeMirror .builtin,\n.CodeSnippet .CodeMirror .function,\n.CodeSnippet .CodeMirror .cm-string,\n.CodeSnippet .CodeMirror .cm-builtin,\n.CodeSnippet .CodeMirror .string,\n.CodeSnippet .CodeMirror .char,\n.CodeSnippet .CodeMirror .selector,\n.CodeSnippet .CodeMirror .tag.attr-value,\n.CodeSnippet .CodeMirror .atrule,\n.CodeSnippet .CodeMirror .inserted {\n    color: #078345;\n}\n\n.CodeSnippet .CodeMirror .boolean,\n.CodeSnippet .CodeMirror .number,\n.CodeSnippet .CodeMirror .symbol,\n.CodeSnippet .CodeMirror .variable,\n.CodeSnippet .CodeMirror .constant,\n.CodeSnippet .CodeMirror .property,\n.CodeSnippet .CodeMirror .cm-property,\n.CodeSnippet .CodeMirror .property-access,\n.CodeSnippet .CodeMirror .deleted {\n    color: #DA0B51;\n}\n\n.CodeSnippet .CodeMirror .regex,\n.CodeSnippet .CodeMirror .cm-atom,\n.CodeSnippet .CodeMirror .important {\n    color: #FF9500;\n}\n\n.CodeSnippet .CodeMirror .operator,\n.CodeSnippet .CodeMirror .cm-operator,\n.CodeSnippet .CodeMirror .entity {\n    color: #A86624;\n}\n\n.CodeSnippet .CodeMirror .punctuation {\n    color: #808080;\n}\n\n.CodeSnippet .CodeMirror .comment,\n.CodeSnippet .CodeMirror .prolog,\n.CodeSnippet .CodeMirror .doctype,\n.CodeSnippet .CodeMirror .cdata {\n    color: #B3B3B3;\n}\n\n@media (prefers-color-scheme: dark) {\n    [data-color-mode=\"auto\"] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,\n    [data-color-mode=\"auto\"] .APIAuth .InputGroup-input:focus,\n    [data-color-mode=\"auto\"] .APIAuth .InputGroup:focus-within,\n    [data-color-mode=\"system\"] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,\n    [data-color-mode=\"system\"] .APIAuth .InputGroup-input:focus,\n    [data-color-mode=\"system\"] .APIAuth .InputGroup:focus-within {\n        background: var(--bg-dark);\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag {\n        color: #66A3FF;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def {\n        color: #ffffff;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted {\n        color: #47D18C;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted {\n        color: #F6558C;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important {\n        color: #FFBF66;\n    }\n\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,\n    [data-color-mode=\"auto\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,\n    [data-color-mode=\"system\"] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity {\n        color: #BA8C5E;\n    }\n}\n\n[data-color-mode=dark] .App .rm-PlaygroundRequest .CodeSnippet .CodeMirror-gutters,\n[data-color-mode=dark] .APIAuth .InputGroup-input:focus,\n[data-color-mode=dark] .APIAuth .InputGroup:focus-within {\n    background: var(--bg-dark);\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .keyword,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-keyword,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .url,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-tag {\n    color: #66A3FF;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .console,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .class-name.namespace,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-name,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-attribute,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-variable-2,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-def {\n    color: #ffffff;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .builtin,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .function,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .string,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-string,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-builtin,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .char,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .selector,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .tag.attr-value,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .atrule,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .inserted {\n    color: #47D18C;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .boolean,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .number,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .symbol,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .variable,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .constant,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-property,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .property-access,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .deleted {\n    color: #F6558C;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .regex,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-atom,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .important {\n    color: #FFBF66;\n}\n\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .operator,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .cm-operator,\n[data-color-mode=dark] .App .rm-ReferenceMain .CodeSnippet .CodeMirror .entity {\n    color: #BA8C5E;\n}","js":null,"html":{"header":"\u003clink rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n\u003clink rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n\u003clink href=\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&display=swap\" rel=\"stylesheet\">\n\u003clink href=\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap\" rel=\"stylesheet\">","home_footer":null,"page_footer":null}},"header":{"type":"line","gradient_color":null,"button_radius":"default","subnav":{"alignment":"start"},"link_style":"buttons","overlay":{"fill":"auto","type":"triangles","position":"top-left","image":{"uri":null,"url":null,"name":null,"width":null,"height":null,"color":null,"links":{"original_url":null}}}},"navigation":{"collapsible_categories":"disabled","breadcrumbs":"disabled","first_page":"reference","left":[{"type":"link_url","title":"Neon OpenAPI Specification","url":"https://neon.com/api_spec/release/v2.json","custom_page":null},{"type":"link_url","title":"Neon Docs","url":"https://neon.com/docs/introduction/about","custom_page":null},{"type":"link_url","title":"Neon Console","url":"https://console.neon.tech/","custom_page":null},{"type":"link_url","title":"Discord","url":"https://discord.com/invite/92vNTzKDGp","custom_page":null}],"logo_link":"homepage","page_icons":"enabled","right":[],"sub_nav":[],"subheader_layout":"links","version":"enabled","links":{"home":{"label":"Home","visibility":"disabled"},"graphql":{"label":"GraphQL","visibility":"disabled","schema":null},"guides":{"label":"Guides","alias":null,"visibility":"disabled"},"reference":{"label":"API Reference","alias":null,"visibility":"enabled"},"recipes":{"label":"Recipes","alias":null,"visibility":"disabled"},"changelog":{"label":"Changelog","alias":null,"visibility":"disabled"},"discussions":{"label":"Discussions","alias":null,"visibility":"disabled"}}}},"i18n":{"defaultLanguage":"en","languages":[{"code":"en","type":"manual"}],"state":"disabled","do_not_translate_words":[]}}},"version":{"_id":"63bdc1a96cfff1007a08e163","version":"2.0","version_clean":"2.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["63bdc1a96cfff1007a08e16d","63bdc1a96cfff1007a08e16d","63bdc1a96cfff1007a08e178","63bdc1a96cfff1007a08e3fe","63bdc1ef7d13a9008868eca1","63c023065baf30003b001f74","63ef98ba0cf419007baa53d9","63fd235def5331002dd7fe74","642c574f9e21050845780037","642c5aceccaa490abbc2e127","642c5b2ceb4db50026960f51","67abb18089d17e00256781b9"],"project":"63bdc1a86cfff1007a08e155","releaseDate":"2023-01-10T19:51:05.286Z","createdAt":"2023-01-10T19:51:05.286Z","__v":2,"updatedAt":"2026-08-07T17:21:36.290Z","apiRegistries":[{"filename":"neon-api.json","uuid":"3o01ngiomsitsc6l"}],"pdfStatus":"","source":"readme"}},"i18n":{"language":"en","translations":{"en":{"common":{"ai":{"aiOpenFailed":"Failed to open SuperHub AI panel.","askAi":"Ask AI","askAiAriaLabel":"Open Ask AI Assistant","mdCopy":"Copy Page","mdOpenFailed":"Failed to open as markdown","mdView":"View as Markdown","mcp":{"appNotFound":"{{app}} does not appear to be installed.","command":"Copy MCP Command","config":"Copy MCP Config","copied":"Copied to clipboard!","cursor":"Connect to Cursor","downloadApp":"Download {{app}}","header":"MCP","vscode":"Connect to VS Code"},"noMdToCopy":"No markdown content available to copy.","openFailed":"Failed to open {{option}}.","settings":{"askAiRequired":"Ask AI must be enabled for your project","description":"Adds a dropdown menu for sharing docs with AI assistants.","disabledInternal":"Disabled for internal docs — set to public to enable","dropdownOptions":"Dropdown Options","preview":"Preview","saveFailed":"Failed to save AI dropdown configuration. Please try again.","title":"AI Dropdown"}},"aiInlineEditor":{"disabled":"The AI inline editor has been disabled for this project."},"apiConfig":{"allRequests":"All Requests","allRequestsFilter":"All Requests","apiKeysNotFound":"No API keys found.","apiKeysNotSynced":"API keys are not synced with this developer hub.","apiRequests":"API Requests","authentication":"Authentication","credentials":"Credentials","dayFilter":"Last 24 Hours","emptyStatePrompt":"Make a request to see them here or \u003ca>Try It\u003c/a>!","error":"Error","errorRequestsFilter":"400 & 500","gettingStarted":"Getting Started","logInPrompt":"Log in to see your API keys","monthFilter":"Last 30 Days","moreErrors":"More Errors","moreRequests":"More Requests","myRecentErrors":"My Recent Errors","myRecentRequests":"My Recent Requests","myRequests":"My Requests","myTopEndpoints":"My Top Endpoints","personalizedDocsSetup":"Set up \u003cButton>Personalized Docs\u003c/Button> to show users their API keys.","pickALanguage":"Pick a language","popularEndpoints":"Popular Endpoints","success":"Success","weekFilter":"Past week","yourApiKeys":"Your API Keys"},"attribution":"by {{attribution}}","auth":{"any":"any","apiKey":"API Key","apiKeyPrompt":"Get API Key","apiKeyShow":"Show API Key","apiKeyHide":"Hide API Key","apiKeyToggle":"Toggle API Key","apiInfo":"API Info","authenticate":"Authenticate","authorize":"Authorize","authorizationUrl":"Authorization URL","authorizedScopes":"Authorized scopes for this token","authorizedScopesEmpty":"Token has no authorized scopes","bearer":"Bearer","clearSelection":"Clear Selection","clientId":"Client ID","deselectAll":"Deselect All","credentialMessage":"{{projectName}} accepts {{count}} credential methods. You can use {{option}} of them.","credentialsFor":"Credentials for {{name}}","credentialsForMd":"Credentials for `{{name}}`","either":"eitherLog in to use your API keys","grantType":"Grant Type","info":{"base64":"Your username and password will be combined with a : to form a base64-encoded string: `ENCODED_TOKEN`","basic":"Your username and password are being sent in the [header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) of the request.","bearer":"\n  Bearer authentication gives access to the “bearer of the token” and must be sent in the Authorization header. For example:\n  ```bash\n  curl --request POST \\\n       --url https://httpbin.org/anything/bearer\n       --header 'Authorization: Bearer BEARER_TOKEN'\n  ```\n  ","cookie":"Your API Key is being sent as a [cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies).","header":"Your API Key is sent in the request [header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers).","jwt":"The bearer token's format is JSON Web Token (JWT). Read more at [JWT.io](https://jwt.io/).","query":"Your API Key is being sent as a query parameter in the [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL)."},"infoTable":{"contact":"Contact","description":"Description","identifier":"Identifier","license":"License","name":"Name","termsOfService":"Terms of Service","title":"Title","summary":"Summary","url":"URL","version":"Version"},"information":"Information","label":"Label","lastUsed":"Last Used","logInPrompt":"Log in to use your API keys","logIn":"Log In","logOut":"Log Out","or":"or","password":"password","passwordHideLabel":"Hide","passwordShowLabel":"Show","reAuthorize":"Re-Authorize","required":"required","requiredScopes":"Required Scopes","requiredScopesMissingMsg_one":"Missing {{count}} required scope","requiredScopesMissingMsg_other":"Missing {{count}} required scopes","scopes":"Scopes","scopeGroupAllRequired":"All {{count}} scopes required","scopesOrRequired":"At least 1 scope group required","scopesMissingCount":"({{count}} missing from this token)","scopesMissingMsg_one":"This operation requires {{count}} additional scope","scopesMissingMsg_other":"This operation requires {{count}} additional scopes","scopesRequiredMsg":"Scopes required for this operation","scopesRequiredNoneMsg":"No scopes required for this operation","selectAll":"Select All","selectCredentials":"Select Credentials","token":"token","tokenDetails":"Token Details","tokenRotationMessage":"We recommend you rotate this token.","tokenUrl":"Token URL","useOwnToken":"Use Your Own Token","username":"username"},"close":"Close","colorScheme":{"dark":"Dark","light":"Light","system":"System","title":"Color Scheme"},"changelog":{"added":"Added","deprecated":"Deprecated","fixed":"Fixed","improved":"Improved","removed":"Removed","title":"Changelog"},"copyToClipboard":{"copiedFull":"Copied to clipboard!","copiedShort":"Copied!","copyFull":"Copy to clipboard","copyShort":"Copy","failed":"Failed to copy to clipboard.","unable":"Unable to copy"},"discussions":{"addCommentLabel":"Add Comment","adminLabel":"Admin","answered":"Answered","askQuestion":"Ask a Question","backToAll":"Back to all","blankBodyError":"Your post body cannot be blank.","blankCommentError":"Your comment cannot be blank.","blankPostError":"Your post cannot be blank.","blankTitleError":"Your post title cannot be blank.","cancelButtonLabel":"Cancel","commentAndMarkAnswered":"Comment and mark answered","commentAndReopen":"Comment and reopen","deleteButtonLabel":"Delete","deleteCommentConfirmation":"Are you sure you want to delete this comment?","deleteCommentPermanentConfirmation":"Are you sure you want to permanently delete this comment?","deleteComentSuccess":"This comment has been deleted","deletePermanentlyButtonLabel":"Permanently Delete","deletePostConfirmation":"Are you sure you want to delete this post?","editButtonLabel":"Edit","editedLabel":"edited","emailInputAriaLabel":"name@email.com","emailInputPlaceholder":"Your Email","errorMessagePrefix":"Error:","faqAddLabel":"Add to FAQ","faqRemoveLabel":"Remove from FAQ","faqsLabel":"FAQs","logInToComment":"\u003cb>Log in\u003c/b> to add a comment.","markAsAnswered":"Mark as answered","markAsUnanswered":"Mark as unanswered","markCommentSpamLabel":"Mark this comment as spam","markPostSpamLabel":"Mark this post as spam","nameAndEmailError":"Please fill out your name and email.","nameInputAriaLabel":"Your name","nameInputPlaceholder":"Full name","permanentlyDeleteLabel":"Permanently delete","questionInputAriaLabel":"New question","recaptchaInvalidError":"Invalid ReCaptcha tokens.","recaptchaRequiredError":"Please complete the reCaptcha verification.","recentLabel":"Recent","saveButtonLabel":"Save","submitButtonLabel":"Post Question","tagButtonLabel":"Tag","tagInputPlaceholder":"Enter tag","titleInputAriaLabel":"Question title","titleInputPlaceholder":"Your question title","unansweredLabel":"Unanswered","voteCountLabel":"{{count}} vote","voteCountLabel_plural":"{{count}} votes"},"emptyState":{"changelog":{"title":"No Changelogs"},"discussion":{"actionLabel":"New Question","description":"Nobody's asked a question yet. Be the first!","title":"No Discussions"},"guide":{"title":"No Guides"},"recipe":{"title":"No Recipes"},"reference":{"title":"No API Endpoints"}},"more":"more…","next":"Next","onlyVisibleToAdmins":"Only visible to ReadMe admins","owlbotChat":{"assistant":"Assistant","clearChat":"Clear chat history","closeChat":"Close chat","emptyMessage":"I’ll help you find answers in the docs","emptyTitle":"Ask AI","failureTitle":"Ask AI","fallbackHeading":"Something went wrong with Ask AI","fallbackMessage":"Please try refreshing the page or contact support if the problem persists.","inputPlaceholder":"Ask AI anything…","interrupted":"Ask AI couldn’t finish this answer. Please try again.","providerFailure":"Ask AI is temporarily unavailable. Please try again in a moment.","sendFailure":"Failed to send message. Please try again.","resend":"Resend?","streamError":"...Something went wrong.","tryAgain":"Try Again","typingLabel":"Generating","voteFailure":"Failed to record vote. It may take a moment for the message to be saved. Please try again.","aiDisclaimer":"AI can get things wrong, so double check any info or code. You're responsible for verifying results are accurate and fit your needs before taking action. Do not input sensitive information.","voteLabelDown":"Not helpful","voteLabelUp":"Helpful","thinkingDefault":"Thinking...","thinkingSearchKnowledge":"Searching knowledge base...","thinkingSearchPages":"Searching for keywords...","thinkingListPages":"Looking up pages...","thinkingReadPage":"Reading relevant pages..."},"pageLinter":{"disabled":"The AI Page Linter has been disabled for this project."},"pageNotFound":{"heading":"Page Not Found","metaTitle":"404 Not Found"},"pageThumbs":{"no":"No","placeHolder":"Leave an optional comment…","prompt":"Did this page help you?","submit":"Vote","thankYou":"Thanks for voting!","yes":"Yes"},"poweredBy":"Powered by","recipes":{"inThisRecipe":"In this Recipe","openRecipe":"Open Recipe","step_one":"{{count}} step","step_other":"{{count}} steps"},"reference":{"callback":"Callback","clearExample":"Clear Example","clearResponse":"Clear Response","data":"Data","example":"Example","examplePrompt":"Choose an example","examplePromptOr":"Or choose an example","examples":"Examples","headers":"Headers","invalidJSON":"Invalid JSON","inspectRequest":"Inspect Request","jsonEditorAriaLabel":"Toggle Raw JSON Editor","jsonEditorLabel":"Edit JSON Body","language":"Language","library":"Library","log":"Log","logsLoading":"Retrieving recent requests…","logsPrompt":"Make a request to see history.","logsSeeAllLabel":"See All Requests","logsStatusLabel":"Status","logsThisMonth_one":"{{count}} Request This Month","logsThisMonth_other":"{{count}} Requests This Month","logsTimeLabel":"Time","logsUserAgentLabel":"User Agent","payloadExample":"Payload Example","recentRequests":"Recent Requests","replayRequest":"Replay Request","request":"Request","requestExample":"Request Example","requestExamples":"Request Examples","requestHistoryPrompt":"Log in to see full request history","requestInstructions":"Request instructions","resetBody":"Reset Body","response":"Response","showDescription":"Show Description","hideDescription":"Hide Description","sdkCodeEmpty":"No SDK code available","sdkCodeError":"Error retrieving SDK code. Please try again later.","tryIt":"Try It","tryItPrompt":"Click \u003ccode>Try It!\u003c/code> to start a request and see the response here!","tryItPunctuated":"Try It!"},"search":{"askFailure":"We had an issue responding, please try again later","filtersLabel":"Filters","filtersPlaceholder":"Filter","forMore":"for more","fromTheDocs":"From the Docs","inProject":"in {{project}}","noResults":"No search results for '{{query}}'","placeholder":"Search","pressEnterToAskAi":"Press \u003ckbd>Enter\u003c/kbd> to ask AI","promptEmpty":"Start typing to search…","promptLoading":"Keep typing to search…","searching":"Searching…","thinking":"Thinking"},"sections":{"all":"All","apiLogs":"API Logs","changelog":"Changelog","discussions":"Discussions","guides":"Guides","graphql":"GraphQL","home":"Home","pages":"Pages","recipes":"Recipes","reference":"API Reference"},"superHubAgent":{"disabled":"The SuperHub Agent has been disabled for this project."},"tableOfContents":"Table of Contents","time":{"absolute":{"noPrefix":"{{time}}","noPrefixAttributed":"{{time}} by {{attribution}}","postedPrefix":"Posted {{time}}","postedPrefixAttributed":"Posted {{time}} by {{attribution}}","updatedPrefix":"Updated {{time}}","updatedPrefixAttributed":"Updated {{time}} by {{attribution}}"},"justNow":{"noPrefix":"Less than a minute ago","noPrefixAttributed":"Less than a minute ago by {{attribution}}","postedPrefix":"Posted just now","postedPrefixAttributed":"Posted just now by {{attribution}}","updatedPrefix":"Updated just now","updatedPrefixAttributed":"Updated just now by {{attribution}}"},"relative":{"noPrefix":"{{time}}","noPrefixAttributed":"{{time}} by {{attribution}}","postedPrefix":"Posted {{time}}","postedPrefixAttributed":"Posted {{time}} by {{attribution}}","updatedPrefix":"Updated {{time}}","updatedPrefixAttributed":"Updated {{time}} by {{attribution}}"}},"unableToCopy":"Unable to copy","version":{"beta":"Beta","default":"Default","deprecated":"Deprecated","hiddenLabel":"Hidden Version"},"whatsNext":"What’s Next"}}}},"is404":false,"isFramePreview":false,"isIframeSsrTransfer":false,"isStreamingSSR":false,"isDetachedProductionSite":false,"lang":"en","langFull":"Default","reqUrl":"/reference/createproject","version":{"_id":"63bdc1a96cfff1007a08e163","version":"2.0","version_clean":"2.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["63bdc1a96cfff1007a08e16d","63bdc1a96cfff1007a08e16d","63bdc1a96cfff1007a08e178","63bdc1a96cfff1007a08e3fe","63bdc1ef7d13a9008868eca1","63c023065baf30003b001f74","63ef98ba0cf419007baa53d9","63fd235def5331002dd7fe74","642c574f9e21050845780037","642c5aceccaa490abbc2e127","642c5b2ceb4db50026960f51","67abb18089d17e00256781b9"],"project":"63bdc1a86cfff1007a08e155","releaseDate":"2023-01-10T19:51:05.286Z","createdAt":"2023-01-10T19:51:05.286Z","__v":2,"updatedAt":"2026-08-07T17:21:36.290Z","apiRegistries":[{"filename":"neon-api.json","uuid":"3o01ngiomsitsc6l"}],"pdfStatus":"","source":"readme"},"gitVersion":{"ai_translation":{"status":null,"started_at":null,"completed_at":null},"base":null,"display_name":null,"i18n":{"lang":null,"parsed_version":null},"name":"2.0","release_stage":"release","source":"readme","state":"current","updated_at":"2026-08-07T10:51:34.000Z","uri":"/branches/2.0","privacy":{"view":"default"}},"versions":{"total":1,"data":[{"ai_translation":{"status":null,"started_at":null,"completed_at":null},"base":null,"display_name":null,"i18n":{"lang":null,"parsed_version":null},"name":"2.0","release_stage":"release","source":"readme","state":"current","updated_at":"2026-08-07T10:51:34.873Z","uri":"/branches/2.0","privacy":{"view":"default"}}],"type":"version"},"sidebarStatus":{"changelog":true,"custom_pages":false,"guides":false,"recipes":false,"reference":true}}</script></div><div id="hub-container"><div class="hub-container"><div state-container ng-attr-id="{{state.current().root !== 'docs' &amp;&amp; 'react-app-content-container'}}"><div id="replace-view" ng-non-bindable></div></div></div></div><script>var is_hub = true;
var is_hub2 = true;
var is_hub_edit = true;
</script><div id="ssr-end"><script id="__LOADABLE_REQUIRED_CHUNKS__" type="application/json">[2852,4863,7055,3061,9340,4148,2345,1456,3307,1048,8465,7137,6146,6328,6033,2712,9824,8836,5446,1347,4107,118,2004,2985,7516,830,3313,3436,9692,2398,1924,5825,6212,9967,3025,120,9091,5027,2939,5307,9505,5798]</script><script id="__LOADABLE_REQUIRED_CHUNKS___ext" type="application/json">{"namedChunks":["routes-SuperHub","Containers-EndUserContainer","Header","routes-SuperHub-Routes","Reference","ConnectMetadata","routes-SuperHub-components-AIDropdown","RMDXISH","LazySections","Footer"]}</script>
<script async data-chunk="main" src="https://cdn.readme.io/public/hub/web/main.c349816a0a2d9f6ea7b6.js"></script>
<script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/routes-SuperHub.d2c9fb47f4de06079336.js"></script>
<script async data-chunk="Containers-EndUserContainer" src="https://cdn.readme.io/public/hub/web/Containers-EndUserContainer.64eeed5d5c3a5c099a1e.js"></script>
<script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/core-icons.b0668b8cde41ec10538b.js"></script>
<script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/3061.4e8d3303a073cbdaefdf.js"></script>
<script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/9340.192ccccafe09983ee7f0.js"></script>
<script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/4148.680489bbe3c6f3be51f3.js"></script>
<script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/2345.7dde341c70befb1a185f.js"></script>
<script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/Header.03dc4643fc8edd17b35c.js"></script>
<script async data-chunk="routes-SuperHub-Routes" src="https://cdn.readme.io/public/hub/web/routes-SuperHub-Routes.6c57963399da80bb9449.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/1048.c0908a6c7601e3079614.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/8465.3b95b8202238abee1f02.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/7137.6d393781d59245222014.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/6146.e0750bc6839fd326854d.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/6328.8423262497f7b1a95f69.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/readme-markdown.87b5d6a09e417fa6ae76.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/2712.e68995a75feced2c08bd.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/9824.a56515db93ca988fbbc6.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/8836.278c0fa83edd766823b0.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/5446.66a863132dae0648c54c.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/1347.6265ddeff9b9202723b8.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/4107.08ccd1d57fe756ace8f3.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/118.755baf1451b065aec6c1.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/2004.e8d1c833da7cdb716ab5.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/2985.663a72aee8b5822c9989.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/7516.2dce164e01730287fd3c.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/830.b21ad90513728bdd3c22.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/3313.bc2fb6fb8f9a755a4f6d.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/3436.7072aaabba87d0a0d530.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/9692.8ab6862aa12a0a7009fe.js"></script>
<script async data-chunk="Reference" src="https://cdn.readme.io/public/hub/web/Reference.61bb490c17d4846d1cbc.js"></script>
<script async data-chunk="ConnectMetadata" src="https://cdn.readme.io/public/hub/web/ConnectMetadata.c327427a53e723857368.js"></script>
<script async data-chunk="routes-SuperHub-components-AIDropdown" src="https://cdn.readme.io/public/hub/web/5825.81a999688a889f82473d.js"></script>
<script async data-chunk="RMDXISH" src="https://cdn.readme.io/public/hub/web/RMDXISH.f95b30ebb65e2ce94b3b.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/9967.da21c32d302077dd38bb.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/3025.7d340d8bfd719b6e8ac3.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/120.1cca6038c0b1b71074a2.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/9091.6f4495a98012201cb267.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/5027.ff136e4a232d519a8b1a.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/2939.951d212639122b322497.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/5307.5c4aa3f7d35848bb1c0f.js"></script>
<script async data-chunk="LazySections" src="https://cdn.readme.io/public/hub/web/LazySections.383aee51c40203586f6f.js"></script>
<script async data-chunk="Footer" src="https://cdn.readme.io/public/hub/web/Footer.1c44d3ff2f31003617de.js"></script></div><script id="hub-me" type="application/json" data-json="{&quot;loggedIn&quot;:false,&quot;search&quot;:{&quot;app&quot;:&quot;&quot;,&quot;token&quot;:&quot;&quot;,&quot;filters&quot;:&quot;&quot;,&quot;metaData&quot;:[{&quot;modules&quot;:{&quot;landing&quot;:false,&quot;docs&quot;:false,&quot;examples&quot;:true,&quot;reference&quot;:true,&quot;graphql&quot;:false,&quot;changelog&quot;:false,&quot;discuss&quot;:false,&quot;suggested_edits&quot;:false,&quot;logs&quot;:false,&quot;custompages&quot;:false,&quot;tutorials&quot;:false},&quot;id&quot;:&quot;63bdc1a86cfff1007a08e155&quot;,&quot;name&quot;:&quot;Neon&quot;,&quot;subdomain&quot;:&quot;neon-tech&quot;,&quot;subpath&quot;:&quot;&quot;,&quot;nav_names&quot;:{&quot;docs&quot;:&quot;&quot;,&quot;reference&quot;:&quot;&quot;,&quot;changelog&quot;:&quot;&quot;,&quot;discuss&quot;:&quot;&quot;,&quot;tutorials&quot;:&quot;&quot;,&quot;recipes&quot;:&quot;&quot;}}]}}"></script><script id="readme-data-baseUrl" type="application/json"></script></body></html>