{"openapi":"3.1.0","info":{"title":"Neon Auth (BYOK) API","version":"0.1.0","description":"Neon Auth (BYOK) lets an AI assistant read your own Neon Auth data through the Neon Auth API with a key you supply (API key). Read-only: 11 tools (get_branch_auth, list_auth_integrations, list_trusted_domains, list_redirect_domains, list_oauth_providers, get_email_password_config, get_allow_localhost, get_auth_plugins, get_phone_number_plugin, get_webhook_config, list_oauth_clients). The BYOK key...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-neon-auth.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-neon-auth/docs"},"termsOfService":"https://connectorbay.com/byok-neon-auth/terms"},"servers":[{"url":"https://byok-neon-auth.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-neon-auth/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_branch_auth":{"post":{"operationId":"get_branch_auth","summary":"Show the Neon Auth integration of one branch: auth provider, database name, owner, transfer status, base URL, JWKS URL a","description":"Show the Neon Auth integration of one branch: auth provider, database name, owner, transfer status, base URL, JWKS URL and creation time. Use for \"Is Neon Auth enabled on my branch and which provider does it use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_branch_authArguments","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_auth_integrations":{"post":{"operationId":"list_auth_integrations","summary":"List the Neon Auth integrations across the branches of a project with provider, branch, owner, base URL and JWKS URL. Us","description":"List the Neon Auth integrations across the branches of a project with provider, branch, owner, base URL and JWKS URL. Use for \"Which branches of my Neon project have Neon Auth set up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_auth_integrationsArguments","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_trusted_domains":{"post":{"operationId":"list_trusted_domains","summary":"List the domains a branch trusts for Neon Auth redirects, with the auth provider each belongs to. Use for \"Which domains","description":"List the domains a branch trusts for Neon Auth redirects, with the auth provider each belongs to. Use for \"Which domains are trusted for Neon Auth on my branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"list_trusted_domainsArguments","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_redirect_domains":{"post":{"operationId":"list_redirect_domains","summary":"List the redirect URI allow-list domains configured at project level for Neon Auth, with the auth provider each belongs ","description":"List the redirect URI allow-list domains configured at project level for Neon Auth, with the auth provider each belongs to. Use for \"Which redirect domains are whitelisted for Neon Auth in my project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_redirect_domainsArguments","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_oauth_providers":{"post":{"operationId":"list_oauth_providers","summary":"List the social login providers (Google, GitHub, Microsoft, Vercel) configured on a branch with type (own credentials or","description":"List the social login providers (Google, GitHub, Microsoft, Vercel) configured on a branch with type (own credentials or shared) and client id. Client secrets are not picked. Use for \"Which social logins are enabled for Neon Auth on my branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"list_oauth_providersArguments","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_email_password_config":{"post":{"operationId":"get_email_password_config","summary":"Show the email and password sign-in rules of a branch: enabled flag, verification method, verification requirements and ","description":"Show the email and password sign-in rules of a branch: enabled flag, verification method, verification requirements and whether sign-up is disabled. Use for \"Does Neon Auth on my branch require email verification\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_email_password_configArguments","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_allow_localhost":{"post":{"operationId":"get_allow_localhost","summary":"Show whether Neon Auth on a branch accepts localhost redirect URLs. Use for \"Does Neon Auth on my branch allow localhost","description":"Show whether Neon Auth on a branch accepts localhost redirect URLs. Use for \"Does Neon Auth on my branch allow localhost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_allow_localhostArguments","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_auth_plugins":{"post":{"operationId":"get_auth_plugins","summary":"Show the Neon Auth plugin settings of a branch: organizations (limits), magic link, phone number and OAuth provider plug","description":"Show the Neon Auth plugin settings of a branch: organizations (limits), magic link, phone number and OAuth provider plugin flags, and localhost access. Mail server credentials are not picked. Use for \"Which Neon Auth plugins are enabled on my branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_auth_pluginsArguments","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_phone_number_plugin":{"post":{"operationId":"get_phone_number_plugin","summary":"Show the phone number sign-in plugin of a branch: whether it is enabled and the one-time code lifetime in seconds. Use f","description":"Show the phone number sign-in plugin of a branch: whether it is enabled and the one-time code lifetime in seconds. Use for \"Is phone number sign-in enabled in Neon Auth on my branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_phone_number_pluginArguments","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_webhook_config":{"post":{"operationId":"get_webhook_config","summary":"Show the Neon Auth webhook settings of a branch: enabled flag, subscribed events and timeout in seconds. The webhook URL","description":"Show the Neon Auth webhook settings of a branch: enabled flag, subscribed events and timeout in seconds. The webhook URL is not picked. Use for \"Which Neon Auth events are sent to a webhook on my branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"get_webhook_configArguments","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_oauth_clients":{"post":{"operationId":"list_oauth_clients","summary":"List the OAuth clients registered with Neon Auth as an OAuth provider: client id, name, type, redirect URIs, consent ski","description":"List the OAuth clients registered with Neon Auth as an OAuth provider: client id, name, type, redirect URIs, consent skip, disabled flag and creation time. Use for \"Which OAuth clients are registered in Neon Auth on my branch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Neon project id, for example 'cool-leaf-12345678', as returned by the project list.","maxLength":100,"title":"Project Id","type":"string"},"branch_id":{"description":"Neon branch id, for example 'br-aged-sun-12345678', as returned by the branch list.","maxLength":100,"title":"Branch Id","type":"string"}},"required":["project_id","branch_id"],"title":"list_oauth_clientsArguments","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}}}}