{"openapi":"3.1.0","info":{"title":"Neon (BYOK) API","version":"0.1.0","description":"Neon (BYOK) lets an AI assistant read your own Neon data through the Neon API with a key you supply (API key). Read-only: 11 tools (get_current_user, list_my_organizations, get_organization, list_projects, get_project, list_branches, get_branch, list_branch_databases, list_compute_endpoints, list_operations, list_regions). The BYOK key travels with each request, is used for that one call only and...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-neon.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-neon/docs"},"termsOfService":"https://connectorbay.com/byok-neon/terms"},"servers":[{"url":"https://byok-neon.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-neon/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Neon account the key belongs to: id, login, name, email, plan and project and branch limits. Use for \"Which Neo","description":"Show the Neon account the key belongs to: id, login, name, email, plan and project and branch limits. Use for \"Which Neon account is my API key connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_my_organizations":{"post":{"operationId":"list_my_organizations","summary":"List the Neon organizations the key's user belongs to, with id, name, handle and plan. Use for \"Which Neon organizations","description":"List the Neon organizations the key's user belongs to, with id, name, handle and plan. Use for \"Which Neon organizations am I a member of\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_my_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization":{"post":{"operationId":"get_organization","summary":"Get one Neon organization by id: name, handle, plan, creation date and whether MFA is required. Use for \"What plan is my","description":"Get one Neon organization by id: name, handle, plan, creation date and whether MFA is required. Use for \"What plan is my Neon organization on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Neon organization id, as returned by list_my_organizations.","maxLength":100,"title":"Org Id","type":"string"}},"required":["org_id"],"title":"get_organizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_projects":{"post":{"operationId":"list_projects","summary":"List Neon projects the key can see with region, Postgres version, size and last compute activity. The answer carries pag","description":"List Neon projects the key can see with region, Postgres version, size and last compute activity. The answer carries pagination.cursor for the next page. Use for \"What Neon projects do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":400,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many projects to return (1 to 400).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: pagination.cursor from the previous answer. Leave out for the first page.","title":"Cursor"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects whose name or id contains this text.","title":"Search"},"org_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Organization id to list for (from list_my_organizations); needed when the key belongs to an organization account.","title":"Org Id"}},"title":"list_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_project":{"post":{"operationId":"get_project","summary":"Get one Neon project: region, Postgres version, storage size, compute usage totals, owner and settings such as the logic","description":"Get one Neon project: region, Postgres version, storage size, compute usage totals, owner and settings such as the logical replication flag. Use for \"Show details of my Neon project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'ep-cool-darkness-123456' style ids returned by list_projects.","maxLength":100,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_projectArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_branches":{"post":{"operationId":"list_branches","summary":"List the branches of a Neon project with state, parent, size, default and protected flags. Use for \"What branches does m","description":"List the branches of a Neon project with state, parent, size, default and protected flags. Use for \"What branches does my Neon project have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'ep-cool-darkness-123456' style ids returned by list_projects.","maxLength":100,"title":"Project Id","type":"string"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only branches whose name or id contains this text.","title":"Search"},"sort_by":{"anyOf":[{"enum":["name","created_at","updated_at"],"type":"string"},{"type":"null"}],"default":"updated_at","description":"Order by name, created_at or updated_at.","title":"Sort By"},"sort_order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"asc or desc.","title":"Sort Order"},"limit":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many branches to return (1 to 10000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: pagination.next from the previous answer. Leave out for the first page.","title":"Cursor"}},"required":["project_id"],"title":"list_branchesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_branch":{"post":{"operationId":"get_branch","summary":"Get one Neon branch: state, parent, logical size, default and protected flags, creator and expiry. Use for \"Show details","description":"Get one Neon branch: state, parent, logical size, default and protected flags, creator and expiry. Use for \"Show details of a Neon branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'ep-cool-darkness-123456' style ids returned by list_projects.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-123456', as returned by list_branches.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_branchArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_branch_databases":{"post":{"operationId":"list_branch_databases","summary":"List the databases inside one Neon branch with owner role name and dates. No data or credentials are returned. Use for \"","description":"List the databases inside one Neon branch with owner role name and dates. No data or credentials are returned. Use for \"Which databases are in my Neon branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'ep-cool-darkness-123456' style ids returned by list_projects.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-123456', as returned by list_branches.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"list_branch_databasesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_compute_endpoints":{"post":{"operationId":"list_compute_endpoints","summary":"List the compute endpoints of a Neon project with branch, type (read_write or read_only), state, autoscaling range and l","description":"List the compute endpoints of a Neon project with branch, type (read_write or read_only), state, autoscaling range and last activity. Use for \"Which Neon compute endpoints are running in my project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'ep-cool-darkness-123456' style ids returned by list_projects.","maxLength":100,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_compute_endpointsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_operations":{"post":{"operationId":"list_operations","summary":"List recent background operations of a Neon project (compute starts, branch creation and so on) with action, status, err","description":"List recent background operations of a Neon project (compute starts, branch creation and so on) with action, status, errors and duration. Use for \"Did any Neon operations fail on my project recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'ep-cool-darkness-123456' style ids returned by list_projects.","maxLength":100,"title":"Project Id","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many operations to return (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: pagination.cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"required":["project_id"],"title":"list_operationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_regions":{"post":{"operationId":"list_regions","summary":"List the regions where Neon projects can be created, with region id, name and which one is the default. Use for \"Which r","description":"List the regions where Neon projects can be created, with region id, name and which one is the default. Use for \"Which regions does Neon support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Organization id to list for (from list_my_organizations); needed when the key belongs to an organization account.","title":"Org Id"}},"title":"list_regionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}