# Neon

Postgres, on a serverless platform designed to help you build reliable and scalable applications faster

- **Category:** databases
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 110
- **Triggers:** 0
- **Slug:** `NEON`
- **Version:** 20260323_00

## Tools

### Accept project transfer request

**Slug:** `NEON_ACCEPT_PROJECTS_TRANSFER_REQUESTS`

Tool to accept a transfer request for a Neon project. Use when you need to accept an existing transfer request to transfer a project to your account or a specific organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | No | The Neon organization ID to transfer the project to (e.g., 'org-holy-recipe-01602027'). If not provided, the project will be transferred to the current user or organization account. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'small-recipe-63664710'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |
| `request_id` | string | Yes | The Neon project transfer request ID (e.g., 'a321073e-3947-4545-bf4a-c6d5835226e7'). Obtain via NEON_CREATE_PROJECTS_TRANSFER_REQUESTS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Access project details by id

**Slug:** `NEON_ACCESS_PROJECT_DETAILS_BY_ID`

Retrieves detailed information about a specific Neon serverless Postgres project. Returns comprehensive project data including configuration, database settings, compute resources, owner information, and consumption metrics. Use this action when you need to: - Get project configuration details (region, PostgreSQL version, settings) - Check project ownership and organization membership - Review compute and storage consumption metrics - Verify project settings before making updates The action is read-only and safe to call frequently. For listing multiple projects, use the retrieve_projects_list action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique Neon project ID. This is a string identifier in the format 'adjective-noun-number' (e.g., 'dry-smoke-26258271'). You can obtain project IDs by listing projects using the retrieve_projects_list action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add new jwks to project endpoint

**Slug:** `NEON_ADD_NEW_JWKS_TO_PROJECT_ENDPOINT`

Adds a new JSON Web Key Set (JWKS) URL to a Neon project for JWT-based authentication. The JWKS URL must point to a valid HTTPS endpoint that returns cryptographic keys used to verify JSON Web Tokens (JWTs). Use this action to configure authentication with identity providers like Google, Microsoft, Apple, Auth0, Clerk, or Stytch. The JWKS can be scoped to specific branches and mapped to database roles. Maximum of 10 role names can be associated with each JWKS configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `jwks_url` | string | Yes | A valid HTTPS URL that returns a JSON Web Key Set (JWKS) for JWT verification. Examples: https://www.googleapis.com/oauth2/v3/certs (Google), https://login.microsoftonline.com/common/discovery/v2.0/keys (Microsoft), https://appleid.apple.com/auth/keys (Apple). |
| `branch_id` | string | No | The Neon branch ID to associate the JWKS with. If omitted, the JWKS applies to all branches in the project. |
| `project_id` | string | Yes | The Neon project ID |
| `role_names` | array | No | List of database role names that the JWKS should be mapped to. If omitted, defaults to authenticator, authenticated, and anonymous roles. Maximum of 10 role names allowed. |
| `jwt_audience` | string | No | The required 'aud' (audience) claim value that must be present in JWTs for authentication. Used to ensure tokens are intended for your specific application. |
| `provider_name` | string | Yes | The name of the authentication provider (e.g., Clerk, Stytch, Auth0) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add project email permission

**Slug:** `NEON_ADD_PROJECT_EMAIL_PERMISSION`

Adds permissions for a specified email address to a particular project within the Neon B2B SaaS integration platform. This endpoint is used to grant access or specific rights to users for a given project, enabling collaboration and controlled resource sharing. It should be called when you need to add a new user to a project or modify existing user permissions. The endpoint associates the provided email with the specified project, likely setting up default or predefined permission levels. Note that this endpoint only adds permissions and does not provide information about existing permissions or remove them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address of the user to grant project access to. The user will receive access to the project associated with this email address. Must be a valid email format (e.g., 'user@example.com'). |
| `project_id` | string | Yes | The unique identifier of the Neon project to grant access to. Project IDs follow the pattern of lowercase alphanumeric characters with hyphens (e.g., 'dry-smoke-26258271'). You can obtain this from the project list or project details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add role to branch

**Slug:** `NEON_ADD_ROLE_TO_BRANCH`

Creates a new PostgreSQL role within a specific branch of a Neon project. Neon is a serverless PostgreSQL platform where roles are database-level users that can connect to the database and have specific permissions. Use this endpoint to: - Create application service accounts for database access - Set up read-only users for reporting - Create admin roles for database management The created role will have an auto-generated password returned in the response. Store this password securely as it may not be retrievable later. You can use the 'reveal_role_password' endpoint to retrieve it again if needed. Note: Role names must be valid PostgreSQL identifiers (max 63 bytes).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID where the role will be created (e.g., 'br-icy-cake-aebdped3'). Obtain this from the list branches endpoint. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'calm-breeze-57229290'). Obtain this from the list projects endpoint. |
| `role__name` | string | Yes | The PostgreSQL role name to create. Must be a valid PostgreSQL identifier and cannot exceed 63 bytes in length. Common examples: 'admin', 'readonly_user', 'app_service'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count project branches

**Slug:** `NEON_COUNT_PROJECT_BRANCHES`

Tool to get the total number of branches in a Neon project. Use when you need to count branches without retrieving full branch details. Optionally filter by branch name using the search parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Count branches matching the `name` in search query |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create API Key for Organization

**Slug:** `NEON_CREATE_API_KEY_FOR_ORGANIZATION`

Creates a new API key for the specified organization in Neon. The API key is used for authenticating and authorizing access to the Neon API. The `key_name` parameter allows for easy identification and management of multiple API keys within the organization. IMPORTANT: The actual API key value is returned only once in the response and cannot be retrieved later. Store it securely immediately after creation. Organization API keys provide admin-level access to all organization resources, including projects, members, and settings. Only organization admins can create these keys.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID. Can be found in the Organization Settings page. |
| `key_name` | string | Yes | A user-specified name for the API key. Maximum length: 64 characters. This name helps identify and manage the key. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Auth Provider SDK Keys

**Slug:** `NEON_CREATE_AUTH_KEYS`

Tool to generate SDK or API keys for authentication providers. Use when setting up authentication for a Neon project with providers like Stack Auth, Better Auth, or for testing with mock provider.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID (e.g., 'proud-meadow-87189985'). Must match the pattern: lowercase letters, numbers, and hyphens, 1-60 characters. You can obtain the project_id by listing the projects for your Neon account. |
| `auth_provider` | string ("mock" | "stack" | "stack_v2" | "better_auth") | Yes | The authentication provider to create SDK keys for. Options: 'mock' (for testing), 'stack' (Stack Auth v1), 'stack_v2' (Stack Auth v2), 'better_auth' (Better Auth). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create auth user

**Slug:** `NEON_CREATE_AUTH_USER`

Tool to create a new user in Neon Auth for a specific project branch. Use when you need to add authentication users to a branch that has Neon Auth enabled with the 'stack' provider. The branch must already have Neon Auth configured before creating users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The display name for the new auth user. Required field, max 255 characters. |
| `email` | string | Yes | The email address for the new auth user. Must be a valid email format and between 1-256 characters. |
| `branch_id` | string | Yes | The branch ID where the auth user will be created (e.g., 'br-lucky-water-afkw1lov'). The branch must have Neon Auth enabled. Obtain via NEON_GET_BRANCHES_FOR_PROJECT action. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create branch database

**Slug:** `NEON_CREATE_BRANCH_DATABASE`

Creates a new database within a specified project and branch in the Neon platform. This endpoint allows users to set up a new database with a custom name and assign an owner role, facilitating the organization and management of databases within the Neon ecosystem. It should be used when initializing a new database for a specific project or when branching requires a separate database instance. The endpoint is particularly useful for developers and database administrators who need to quickly set up new databases as part of their workflow or application deployment process. Note that this operation only creates the database; additional steps may be required to configure specific schemas, tables, or access permissions within the newly created database.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID where the database will be created (e.g., 'br-lucky-water-afkw1lov'). Obtain via NEON_GET_BRANCHES_FOR_PROJECT action. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |
| `database__name` | string | Yes | The name of the database to create. Must be a valid PostgreSQL database name (lowercase letters, numbers, underscores; max 63 characters). |
| `database__owner_name` | string | Yes | The name of an existing role that will own the database (e.g., 'neondb_owner'). Obtain available roles via NEON_GET_BRANCH_ROLES_FOR_PROJECT action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enable Neon Auth for branch

**Slug:** `NEON_CREATE_BRANCHES_AUTH`

Tool to enable Neon Auth integration for a branch. Use when you need to set up authentication for a specific branch in a Neon project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID (e.g., 'br-gentle-lab-af8riisw'). You can obtain the branch_id by listing the branches for your project. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'small-recipe-63664710'). You can obtain the project_id by listing the projects for your Neon account. |
| `auth_provider` | string ("mock" | "stack" | "stack_v2" | "better_auth") | Yes | The authentication provider to enable for the branch. Must be one of: mock, stack, stack_v2, or better_auth. |
| `database_name` | string | No | The name of the database to use for authentication. If not specified, the default database will be used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Neon Data API

**Slug:** `NEON_CREATE_BRANCHES_DATA_API`

Creates a new instance of Neon Data API in the specified branch. The Data API provides a RESTful interface to query your Postgres database using HTTP requests. Use this action when you need to expose database access via REST API endpoints with JWT-based authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `jwks_url` | string | No | The URL that lists the JWKS (JSON Web Key Set) for external authentication. Required when auth_provider is 'external'. |
| `settings` | object | No | Configuration settings for the Neon Data API |
| `branch_id` | string | Yes | The branch ID where the Data API will be created (e.g., 'br-muddy-pond-ahkofech'). Obtain via NEON_GET_BRANCHES_FOR_PROJECT action. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'proud-meadow-87189985'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |
| `jwt_audience` | string | No | JWT audience claim to validate. WARNING: tokens without audience claim will still be accepted. |
| `auth_provider` | string ("neon_auth" | "external") | No | Authentication provider options for Neon Data API |
| `database_name` | string | Yes | The database name for the Data API (e.g., 'neondb'). Must be an existing database in the branch. |
| `provider_name` | string | No | The name of the authentication provider (e.g., 'Clerk', 'Stytch', 'Auth0'). Used for documentation purposes. |
| `skip_auth_schema` | boolean | No | Skip creating the auth schema and RLS functions. Default: false |
| `add_default_grants` | boolean | No | Grant all permissions to the tables in the public schema to authenticated users. Default: false |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create branch snapshot

**Slug:** `NEON_CREATE_BRANCHES_SNAPSHOT`

Creates a snapshot from the specified branch at a specific point in time. Snapshots capture the state of a branch and can be used for database versioning, creating backups, or establishing checkpoints for AI agents. Use when you need to preserve the exact state of your database at a moment in time. This endpoint may initiate an asynchronous operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lsn` | string | No | Target Log Sequence Number (LSN) for the snapshot (e.g., '0/19A3328'). Cannot be used together with timestamp parameter. |
| `name` | string | No | Name for the snapshot (e.g., 'test-snapshot-root-branch'). If not provided, an auto-generated name will be used. |
| `branch_id` | string | Yes | The branch ID from which to create the snapshot (e.g., 'br-lucky-water-afkw1lov'). Obtain via NEON_GET_BRANCHES_FOR_PROJECT action. |
| `timestamp` | string | No | Target timestamp for the snapshot in ISO 8601 format (e.g., '2026-02-15T12:00:00Z'). Cannot be used together with lsn parameter. |
| `expires_at` | string | No | Expiration time for the snapshot in ISO 8601 format (e.g., '2026-08-13T00:00:00Z'). After this time, the snapshot will be automatically deleted. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create compute endpoint

**Slug:** `NEON_CREATE_COMPUTE_ENDPOINT`

Creates a new compute endpoint for a specified branch within a Neon project. This endpoint allows for detailed configuration of database resources, including read/write capabilities, regional placement, autoscaling limits, and connection pooling settings. It's primarily used when setting up new database instances or modifying existing database configurations to meet specific performance, scaling, or operational requirements. The endpoint provides fine-grained control over compute resources, enabling optimized database operations for various use cases from development to production environments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |
| `endpoint__type` | string ("read_only" | "read_write") | No | The compute endpoint type. Either `read_write` or `read_only`.  |
| `endpoint__disabled` | boolean | No | Whether to restrict connections to the compute endpoint. Enabling this option schedules a suspend compute operation. A disabled compute endpoint cannot be enabled by a connection or console action. However, the compute endpoint is periodically enabled by check_availability operations.   |
| `endpoint__branch__id` | string | No | The ID of the branch the compute endpoint will be associated with  |
| `endpoint__region__id` | string | No | The region where the compute endpoint will be created. Only the project"s `region_id` is permitted.   |
| `endpoint__provisioner` | string | No | The Neon compute provisioner. Specify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling. Provisioner can be one of the following values: * k8s-pod * k8s-neonvm Clients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.   |
| `endpoint__pooler__mode` | string ("transaction") | No | The connection pooler mode. Neon supports PgBouncer in `transaction` mode only.   |
| `endpoint__pooler__enabled` | boolean | No | Whether to enable connection pooling for the compute endpoint  |
| `endpoint__passwordless__access` | boolean | No | NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.   |
| `endpoint__settings__pg__settings` | object | No | A raw representation of Postgres settings |
| `endpoint__suspend__timeout__seconds` | integer | No | Duration of inactivity in seconds after which the compute endpoint is automatically suspended. The value `0` means use the global default. The value `-1` means never suspend. The default value is `300` seconds (5 minutes). The minimum value is `60` seconds (1 minute). The maximum value is `604800` seconds (1 week). For more information, see [Auto-suspend configuration](https://neon.tech/docs/manage/endpoints#auto-suspend-configuration).   |
| `endpoint__autoscaling__limit__max__cu` | integer | No | Autoscaling Limit Max Cu |
| `endpoint__autoscaling__limit__min__cu` | integer | No | Autoscaling Limit Min Cu |
| `endpoint__settings__pgbouncer__settings` | object | No | A raw representation of PgBouncer settings |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create New API Key

**Slug:** `NEON_CREATE_NEW_API_KEY`

Creates a new personal API key for the authenticated Neon user account. Use this action to generate API keys for programmatic access to Neon services, such as CI/CD pipelines, backend integrations, or development environments. Each key should have a descriptive name to help identify its purpose. IMPORTANT: The returned 'key' value is shown only once - store it securely immediately after creation. To manage organization-level API keys, use the organization API key endpoints instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key_name` | string | Yes | A user-specified name for the API key (e.g., 'production-backend', 'ci-cd-pipeline'). Used to identify the key in the Neon console. Must be non-empty. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create new project branch

**Slug:** `NEON_CREATE_NEW_PROJECT_BRANCH`

Creates a new branch in a Neon project. Branches are copy-on-write clones of the parent branch's data, perfect for creating development/staging environments, testing features, or previewing database changes without affecting production. The branch is created from the project's default branch unless a parent_id is specified. By default, the branch copies all data from the parent ('parent-data'). Note: A branch is created without a compute endpoint. To connect to the branch, use the 'create_compute_endpoint' action to add a read_write or read_only endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID. You can find this on the Settings page in the Neon Console or by listing projects. Format: 'adjective-noun-12345678' (e.g., 'autumn-disk-484331'). |
| `branch__name` | string | No | Name for the new branch. If not specified, an auto-generated name will be used (e.g., 'br-square-base-aehfbgdy'). Max 256 characters. |
| `branch__parent__id` | string | No | The branch ID to use as parent for the new branch. If not specified, the project's default branch (usually 'main') is used. Format: 'br-name-id' (e.g., 'br-wispy-dew-591433'). |
| `branch__init__source` | string | No | How to initialize the branch data. Options: 'parent-data' (default) copies all data from parent, 'schema-only' copies only the schema without data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create anonymized branch

**Slug:** `NEON_CREATE_PROJECT_BRANCH_ANONYMIZED`

Creates a new branch with anonymized data using PostgreSQL Anonymizer for static masking. Use when developers need to work with masked production data in a safe development environment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID where the anonymized branch will be created. |
| `branch_create` | object | No | Configuration for creating the new branch |
| `masking_rules` | array | No | Optional list of masking rules to apply to the branch. Each rule specifies how to anonymize a specific column using PostgreSQL Anonymizer functions. |
| `annotation_value` | object | No | Optional metadata annotations to attach to the branch. |
| `start_anonymization` | boolean | No | If true, automatically starts the anonymization process after branch creation. If false or omitted, masking rules are stored but not applied until manually triggered. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create project transfer request

**Slug:** `NEON_CREATE_PROJECTS_TRANSFER_REQUESTS`

Tool to create a transfer request for a Neon project. Use when you need to transfer a project to another account or organization. The transfer request has an expiration time after which it can no longer be used.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID (e.g., 'small-recipe-63664710'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |
| `ttl_seconds` | integer | No | Specifies the validity duration of the transfer request in seconds. If not provided, the request will expire after 24 hours (86,400 seconds). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create project with quota and settings

**Slug:** `NEON_CREATE_PROJECT_WITH_QUOTA_AND_SETTINGS`

Creates a new Neon project with specified configuration settings. This endpoint allows you to set up a customized PostgreSQL environment with various options for resource management, networking, and performance optimization. It's ideal for initializing a new database project with tailored settings for quota management, IP access control, autoscaling, and more. Use this when you need to establish a new Neon project with specific requirements or when you want to take advantage of Neon's advanced features like logical replication or custom maintenance windows. Note that some settings, once configured, may not be easily changed later, so careful consideration of your project needs is recommended before creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project__name` | string | No | The project name |
| `project__org__id` | string | No | Organization id in case the project created belongs to an organization. If not present, project is owned by a user and not by org.   |
| `project__region__id` | string | No | The region identifier. Refer to our [Regions](https://neon.tech/docs/introduction/regions) documentation for supported regions. Values are specified in this format: `aws-us-east-1`   |
| `project__pg__version` | integer | No | The major Postgres version number. Currently supported versions are `14`, `15`, `16`, and `17`.  |
| `project__provisioner` | string | No | The Neon compute provisioner. Specify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling. Provisioner can be one of the following values: * k8s-pod * k8s-neonvm Clients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.   |
| `project__branch__name` | string | No | The default branch name. If not specified, the default branch name, `main`, will be used.   |
| `project__store__passwords` | boolean | No | Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.   |
| `project__branch__role__name` | string | No | The role name. If not specified, the default role name, `{database_name}_owner`, will be used.   |
| `project__branch__database__name` | string | No | The database name. If not specified, the default database name, `neondb`, will be used.   |
| `project__autoscaling__limit__max__cu` | integer | No | Autoscaling Limit Max Cu |
| `project__autoscaling__limit__min__cu` | integer | No | Autoscaling Limit Min Cu |
| `project__history__retention__seconds` | integer | No | The number of seconds to retain the shared history for all branches in this project. The default is 1 day (86400 seconds).   |
| `project__settings__allowed__ips__ips` | array | No | A list of IP addresses that are allowed to connect to the endpoint. |
| `project__settings__block__vpc__connections` | boolean | No | When set, connections using VPC endpoints are disallowed. This parameter is under active development and its semantics may change in the future.   |
| `project__settings__block__public__connections` | boolean | No | When set, connections from the public internet are disallowed. This supersedes the AllowedIPs list. This parameter is under active development and its semantics may change in the future.   |
| `project__settings__quota__logical__size__bytes` | integer | No | Limit on the logical size of every project"s branch.  |
| `project__settings__quota__written__data__bytes` | integer | No | Total amount of data written to all of a project"s branches.  |
| `project__settings__enable__logical__replication` | boolean | No | Sets wal_level=logical for all compute endpoints in this project. All active endpoints will be suspended. Once enabled, logical replication cannot be disabled.   |
| `project__settings__quota__active__time__seconds` | integer | No | The total amount of wall-clock time allowed to be spent by the project"s compute endpoints.   |
| `project__settings__quota__data__transfer__bytes` | integer | No | Total amount of data transferred from all of a project"s branches using the proxy.   |
| `project__settings__maintenance__window__weekdays` | array | No | A list of weekdays when the maintenance window is active. Encoded as ints, where 1 - Monday, and 7 - Sunday.   |
| `project__settings__quota__compute__time__seconds` | integer | No | The total amount of CPU seconds allowed to be spent by the project"s compute endpoints.   |
| `project__settings__maintenance__window__end__time` | string | No | End time of the maintenance window, in the format of "HH:MM". Uses UTC.  |
| `project__default__endpoint__settings__pg__settings` | object | No | A raw representation of Postgres settings |
| `project__settings__maintenance__window__start__time` | string | No | Start time of the maintenance window, in the format of "HH:MM". Uses UTC.   |
| `project__default__endpoint__settings__pgbouncer__settings` | object | No | A raw representation of PgBouncer settings |
| `project__default__ep__settings__suspend__timeout__seconds` | integer | No | Duration of inactivity in seconds after which the compute endpoint is automatically suspended. The value `0` means use the global default. The value `-1` means never suspend. The default value is `300` seconds (5 minutes). The minimum value is `60` seconds (1 minute). The maximum value is `604800` seconds (1 week). For more information, see [Auto-suspend configuration](https://neon.tech/docs/manage/endpoints#auto-suspend-configuration).   |
| `project__settings__allowed__ips__protected__branches__only` | boolean | No | If true, the list will be applied only to protected branches. |
| `project__default__ep__settings__autoscaling__limit__max__cu` | integer | No | Autoscaling Limit Max Cu |
| `project__default__ep__settings__autoscaling__limit__min__cu` | integer | No | Autoscaling Limit Min Cu |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set VPC endpoint restriction

**Slug:** `NEON_CREATE_VPC_ENDPOINT_LABEL`

Sets or updates a VPC endpoint restriction for a Neon project. When a VPC endpoint restriction is set, the project only accepts connections from the specified VPC endpoint, providing network-level security isolation. This is useful for Private Networking scenarios where you want to restrict database access to only connections coming through a specific AWS VPC endpoint. The VPC endpoint must first be assigned to the parent organization (using the organization-level VPC endpoint API) before it can be used as a project restriction. The operation is idempotent - repeated calls with the same parameters will not create additional changes. Note: This is a paid feature requiring a Neon Business or Enterprise plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | A descriptive label for the VPC endpoint restriction. Used for identification and organization purposes. Example: 'Production VPC' or 'Dev Environment'. |
| `project_id` | string | Yes | The Neon project ID. Must match pattern ^[a-z0-9-]{1,60}$. Example: 'dry-smoke-26258271'. |
| `vpc_endpoint_id` | string | Yes | The AWS VPC endpoint ID to restrict connections to. Must start with 'vpce-' prefix followed by alphanumeric characters. Example: 'vpce-0f00567fa8EXAMPLE'. The VPC endpoint must first be assigned to the organization before it can be used as a project restriction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign or Update VPC Endpoint

**Slug:** `NEON_CREATE_VPC_ENDPOINT_WITH_LABEL`

Assigns an AWS VPC endpoint to a Neon organization for Private Networking, or updates the label of an existing VPC endpoint assignment. This enables secure, private database connections through AWS PrivateLink without traversing the public internet. Requirements: - Organization must be on a Business or Enterprise plan - VPC endpoint must be created in your AWS account first - VPC endpoint must be in the same AWS region as your Neon project Use this action to: - Connect a new AWS VPC endpoint to your Neon organization - Update the descriptive label of an existing VPC endpoint assignment Returns the VPC endpoint details including its ID, label, region, and status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | A descriptive label for the VPC endpoint to help identify it within your organization (e.g., 'production-vpc', 'staging-database'). |
| `org_id` | string | Yes | The Neon organization ID (e.g., 'org-bold-bonus-12345678'). Required for organizations on Business or Enterprise plans. |
| `region_id` | string | Yes | The AWS region ID where the VPC endpoint is located (e.g., 'aws-us-east-1', 'aws-us-east-2', 'aws-eu-central-1'). Note: Azure regions are not supported for VPC endpoints. |
| `vpc_endpoint_id` | string | Yes | The AWS VPC endpoint ID to assign to the Neon organization (e.g., 'vpce-0123456789abcdef0'). This must be a valid VPC endpoint created in your AWS account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete api key by id

**Slug:** `NEON_DELETE_API_KEY_BY_ID`

Deletes a specific API key from the Neon platform. This endpoint should be used when you need to revoke access for a particular API key, such as when an employee leaves the organization or when you suspect the key has been compromised. The operation is irreversible, so use it with caution. Once deleted, any applications or services using this API key will lose access to Neon's API. This endpoint helps maintain the security of your Neon account by allowing you to manage and control API key access effectively.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key_id` | integer | Yes | The numeric ID of the API key to delete. You can obtain this ID from the list_api_keys action. Example: 2690219 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete auth domain from project

**Slug:** `NEON_DELETE_AUTH_DOMAIN_FROM_PROJECT`

DEPRECATED: Use `/projects/{project_id}/branches/{branch_id}/auth/domains` instead. Deletes a domain from the redirect_uri whitelist for the specified project. Use when you need to remove an authorized redirect domain for an authentication provider. This operation permanently removes the domain from the whitelist, preventing it from being used as a valid redirect URI.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domains` | array | Yes | Array of domain objects to remove from the redirect_uri whitelist. Each domain must include the full URL with protocol. |
| `project_id` | string | Yes | The unique identifier for the Neon project (e.g., 'proud-meadow-87189985'). Can be obtained from the list projects API. |
| `auth_provider` | string ("mock" | "stack" | "stack_v2" | "better_auth") | Yes | The authentication provider for which to remove the domain from the redirect_uri whitelist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete auth domains

**Slug:** `NEON_DELETE_AUTH_DOMAINS`

Deletes domains from the redirect_uri whitelist for a specific branch's authentication configuration. Use when you need to revoke access for specific domains in your Neon authentication setup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domains` | array | Yes | Array of domain objects to remove from the redirect_uri whitelist |
| `branch_id` | string | Yes | The Neon branch ID (e.g., 'br-lucky-water-afkw1lov') |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271') |
| `auth_provider` | string ("mock" | "stack" | "stack_v2" | "better_auth") | Yes | The authentication provider for which to delete the domains |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete OAuth provider

**Slug:** `NEON_DELETE_AUTH_OAUTH_PROVIDER`

Deletes an OAuth provider configuration from a specific branch in a Neon project. This removes the OAuth authentication integration for the specified provider (Google, GitHub, or Vercel) from the given branch. Use this action when you need to revoke OAuth access or clean up authentication configurations for a particular branch. Note: This operation is permanent and will affect all users authenticating through this provider on this branch. Neon Auth must be enabled on the branch before OAuth providers can be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique branch identifier within the project (e.g., 'br-lucky-water-afkw1lov'). Can be retrieved using the list project branches endpoint. |
| `project_id` | string | Yes | The unique identifier for the Neon project. Format: alphanumeric with hyphens (e.g., 'dry-smoke-26258271'). Can be found in the Neon console or via the list projects API. |
| `oauth_provider_id` | string ("google" | "github" | "vercel") | Yes | The OAuth provider ID to delete. Must be one of: google, github, or vercel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete auth user

**Slug:** `NEON_DELETE_AUTH_USER`

Deletes an authentication user from a specified branch within a Neon project. Use this endpoint to permanently remove user access from a particular branch. Important notes: - This operation is permanent and cannot be undone - Successful deletion returns a 204 No Content status - The deleted user will no longer be able to authenticate to the specified branch - This operation only affects the specified branch, not other branches in the project

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID. Format: 'br-' prefix followed by alphanumeric characters (e.g., 'br-lucky-water-afkw1lov'). Can be obtained from the list branches endpoint. |
| `project_id` | string | Yes | The Neon project ID. Format: alphanumeric with hyphens (e.g., 'dry-smoke-26258271'). Can be obtained from the list projects endpoint. |
| `auth_user_id` | string | Yes | The Neon user ID to delete. Format: UUID (e.g., 'f7a03453-e0c9-4c66-96ca-aee5e7936654'). This identifies the specific auth user to remove from the branch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete branch data API

**Slug:** `NEON_DELETE_BRANCH_DATA_API`

Deletes the Neon Data API for a specified branch and database. Use this when you need to remove Data API access for a specific database within a branch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID. Format: 'br-' prefix followed by alphanumeric characters (e.g., 'br-rough-voice-ah2lazzk'). Obtain from list branches endpoint. |
| `project_id` | string | Yes | The Neon project ID. Format: {adjective}-{noun}-{number} (e.g., 'proud-meadow-87189985'). Obtain from list projects endpoint. |
| `database_name` | string | Yes | The database name for which to delete the Neon Data API. This is the database name as it appears in PostgreSQL (e.g., 'neondb'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete database from branch

**Slug:** `NEON_DELETE_DATABASE_FROM_BRANCH`

Deletes a specific database from a designated branch within a project in the Neon platform. This endpoint should be used when you need to permanently remove a database and all its associated data from a particular branch of a project. It's crucial to use this endpoint with caution as the deletion operation is irreversible. This tool is particularly useful for cleaning up unnecessary databases, managing storage, or removing test databases that are no longer needed. However, it should not be used for temporary data management; instead, consider using database suspension or archiving features if available. Note that this operation only affects the specified branch and does not impact the database in other branches or the main project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique identifier for the branch within the project. Format: 'br-' prefix followed by alphanumeric characters (e.g., 'br-lucky-water-afkw1lov'). Can be obtained from the list branches API. |
| `project_id` | string | Yes | The unique identifier for the Neon project. Format: alphanumeric with hyphens (e.g., 'dry-smoke-26258271'). Can be found in the Neon console or via the list projects API. |
| `database_name` | string | Yes | The name of the database to delete. This is the database name as it appears in PostgreSQL, not an ID. The deletion is permanent and cannot be undone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete organization api key

**Slug:** `NEON_DELETE_ORGANIZATION_API_KEY`

Deletes a specific API key associated with an organization in the Neon platform. This endpoint is used to revoke access for a particular API key, enhancing security by removing unused or compromised keys. It should be used when an API key is no longer needed, when rotating keys for security purposes, or when an API key may have been exposed. Once deleted, the API key cannot be recovered, and any systems using this key will lose access to the Neon API. Ensure you have a backup or replacement key in place before deletion to avoid service interruptions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key_id` | integer | Yes | The unique integer identifier of the API key to delete. This ID is returned when creating an API key or can be obtained from the list organization API keys endpoint. |
| `org_id` | string | Yes | The Neon organization ID. Format: 'org-<adjective>-<noun>-<number>' (e.g., 'org-cool-breeze-12345678'). Can be obtained from the get user organizations endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete organization member

**Slug:** `NEON_DELETE_ORGANIZATION_MEMBER`

Removes a specific member from a Neon organization. This action permanently revokes the member's access to all organization resources. Use this when an employee leaves the company, changes roles, or their access needs to be revoked. Important notes: - This action cannot be undone; re-adding requires a new invitation - You cannot delete the last admin member of an organization - The member_id must be a valid UUID (not the user's email) - Requires admin permissions on the organization Use fetch_organization_members_by_id first to get valid member IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID. Format: 'org-<name>-<id>' (e.g., 'org-my-company-12345678'). Can be retrieved using the get_user_organizations action. |
| `member_id` | string | Yes | The unique identifier of the organization member to remove. Must be a valid UUID format (e.g., '46bbb36a-8e45-4f4a-93c0-03e39ca4204e'). Can be retrieved using the fetch_organization_members_by_id action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project branch by id

**Slug:** `NEON_DELETE_PROJECT_BRANCH_BY_ID`

Deletes a specific branch within a project in the Neon B2B SaaS integration platform. This endpoint permanently removes the specified branch and all associated data from the project. It should be used when a branch is no longer needed, such as after merging changes or abandoning a development path. Caution should be exercised when using this endpoint, as the deletion is irreversible. It's important to ensure that any valuable data or configurations in the branch have been backed up or merged before deletion. This operation cannot be undone, so double-checking the project_id and branch_id before execution is crucial to avoid accidental deletions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project branch role

**Slug:** `NEON_DELETE_PROJECT_BRANCH_ROLE`

Deletes a PostgreSQL role from a specific branch within a Neon project. This permanently removes the role and its associated database permissions. Use this endpoint to: - Remove obsolete user accounts from a database branch - Clean up roles after application decommissioning - Revoke access for former team members Important notes: - This operation is permanent and cannot be undone - The deletion triggers an async 'apply_config' operation on the compute endpoint - If the role doesn't exist, returns 204 No Content (idempotent behavior) - If the role exists and is deleted, returns 200 OK with role and operation details - You cannot delete the default owner role created with the database

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique branch identifier within the project (e.g., 'br-rough-voice-ah2lazzk'). Can be retrieved using the list project branches endpoint. |
| `role_name` | string | Yes | The name of the PostgreSQL role to delete from the branch (e.g., 'my_app_user'). Cannot exceed 63 bytes in length. Note: Deleting a role is permanent and cannot be undone. |
| `project_id` | string | Yes | The unique Neon project identifier (e.g., 'proud-meadow-87189985'). Can be retrieved using the list projects endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project by id

**Slug:** `NEON_DELETE_PROJECT_BY_ID`

Permanently deletes a Neon PostgreSQL project and all its associated resources. WARNING: This is a destructive operation that cannot be undone. All data, branches, endpoints, databases, and configurations will be permanently removed. Use this action when: - A project is no longer needed - Cleaning up test/development resources - Removing unused projects to free up quota Returns the details of the deleted project upon successful deletion. Returns 404 if the project does not exist or is not accessible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique Neon project ID to delete. This is a string identifier in the format 'adjective-noun-number' (e.g., 'cool-breeze-12345678'). Can be obtained from project creation or list projects API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project endpoint

**Slug:** `NEON_DELETE_PROJECT_ENDPOINT`

Deletes a specific endpoint within a Neon project. This operation permanently removes the endpoint and all associated resources, such as configurations and access points. Use this endpoint when you need to decommission or clean up unused endpoints in your project. It's important to note that this action is irreversible, so ensure you have backed up any necessary data or configurations before proceeding. This endpoint should be used with caution, as it will immediately terminate access to the specified endpoint and may impact any systems or applications relying on it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID. Format: {adjective}-{noun}-{number} (e.g., 'dry-smoke-26258271'). Obtain from NEON_RETRIEVE_PROJECTS_LIST. |
| `endpoint_id` | string | Yes | The compute endpoint ID to delete. Format: ep-{name}-{id} (e.g., 'ep-flat-mud-af9isowb'). Obtain from NEON_GET_PROJECT_ENDPOINT_INFORMATION. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project jwks by id

**Slug:** `NEON_DELETE_PROJECT_JWKS_BY_ID`

Deletes a specific JSON Web Key Set (JWKS) associated with a given project in the Neon B2B SaaS integration platform. This endpoint is used to remove outdated or unnecessary cryptographic keys from a project's key management system. It should be used when rotating keys, decommissioning integrations, or as part of regular key hygiene practices. The operation is irreversible, so caution should be exercised to ensure the correct JWKS is being deleted. This endpoint does not provide information about the JWKS being deleted or return the deleted keys for security reasons.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `jwks_id` | string | Yes | The JWKS ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project permission

**Slug:** `NEON_DELETE_PROJECT_PERMISSION`

Deletes a specific permission associated with a project in the Neon B2B SaaS integration platform. This endpoint is used to remove access rights or privileges from a project, which is crucial for maintaining proper access control and security. It should be used when you need to revoke or remove a particular permission that is no longer required or valid for the project. This operation is permanent and cannot be undone, so it should be used with caution. The endpoint requires both the project ID and the specific permission ID to ensure precise permission management within the project context.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique identifier of the Neon project. Format: lowercase-words-numbers (e.g., 'dry-smoke-26258271'). Can be obtained from the projects list endpoint. |
| `permission_id` | string | Yes | The unique identifier (UUID) of the permission to revoke. Format: UUID (e.g., '92a6ce17-b30d-40ce-aa30-bd0d1dc0de1c'). Can be obtained from the project permissions list endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete project snapshot

**Slug:** `NEON_DELETE_PROJECT_SNAPSHOT`

Deletes a specific snapshot for a project in Neon. Use when you need to remove an old or unnecessary snapshot to free up storage or clean up resources. **Note**: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID. Format: alphanumeric with hyphens (e.g., 'proud-meadow-87189985'). Can be obtained from the list projects API. |
| `snapshot_id` | string | Yes | The snapshot ID. Format: 'snap-' prefix followed by alphanumeric characters (e.g., 'snap-wispy-union-ahw80v1u'). Can be obtained from the list snapshots API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete vpc endpoint by ids

**Slug:** `NEON_DELETE_VPC_ENDPOINT_BY_IDS`

Permanently deletes a VPC endpoint from a Neon organization in a specified AWS region. This removes the private network connection between your AWS VPC and Neon's service. IMPORTANT: This operation is irreversible. Once a VPC endpoint is deleted from a Neon organization, it cannot be re-added to the same organization. Use with caution. Requirements: - Organization must be on the Scale plan (VPC/Private Networking is not available on Free plan) - Only AWS regions are supported (not Azure) - The VPC endpoint must exist in the specified organization and region This action is useful when decommissioning private network connections or cleaning up unused VPC endpoints. Deleting a VPC endpoint will disrupt any applications relying on private connectivity through that endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID (e.g., 'org-abc-123'). This can be obtained from the get_user_organizations action. |
| `region_id` | string | Yes | The AWS region ID where the VPC endpoint is located. Must be an AWS region (e.g., 'aws-us-east-1', 'aws-eu-central-1'). Azure regions are not supported for VPC endpoints. |
| `vpc_endpoint_id` | string | Yes | The AWS VPC endpoint ID to delete (e.g., 'vpce-0abc123def456789'). This is the VPC endpoint ID from your AWS account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete vpc endpoint by project id

**Slug:** `NEON_DELETE_VPC_ENDPOINT_BY_PROJECT_ID`

Deletes a specific VPC endpoint within a designated project in the Neon platform. This endpoint should be used when you need to remove a VPC endpoint that is no longer required or has become obsolete. The operation is irreversible, so it should be used with caution. Once a VPC endpoint is deleted, any connections or integrations relying on it will be disrupted. This endpoint is particularly useful for cleaning up resources and managing network configurations in your Neon projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |
| `vpc_endpoint_id` | string | Yes | The VPC endpoint ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Disable branches auth

**Slug:** `NEON_DISABLE_BRANCHES_AUTH`

Tool to disable Neon Auth for a specific branch in a Neon project. Use when you need to remove authentication integration for a branch. This operation can optionally delete the `neon_auth` schema from the database by setting delete_data to true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID |
| `project_id` | string | Yes | The Neon project ID |
| `delete_data` | boolean | No | If true, deletes the `neon_auth` schema from the database |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch database for branch

**Slug:** `NEON_FETCH_DATABASE_FOR_BRANCH`

Retrieves a list of databases associated with a specific project and branch in the Neon platform. This endpoint allows developers to view all databases within a particular project and branch context, which is useful for managing different environments (e.g., development, staging, production) or versions of an application's database setup. It should be used when you need to inventory the databases in a specific branch or verify the existence of databases in a particular project environment. The endpoint does not provide detailed information about each database's schema or contents; it's primarily for listing purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch organization members by id

**Slug:** `NEON_FETCH_ORGANIZATION_MEMBERS_BY_ID`

Retrieves a list of all members associated with a specific organization in the Neon B2B SaaS integration platform. This endpoint allows you to fetch detailed information about the users or entities that belong to the organization, which is crucial for managing access, roles, and permissions within the platform. Use this endpoint when you need to review the current membership of an organization, audit user access, or gather member information for reporting purposes. The endpoint returns comprehensive member details, but it does not modify any data or provide information about non-member users. Keep in mind that for large organizations, the response may be paginated to manage the data volume efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID (e.g., 'org-holy-recipe-01602027'). Can be obtained from the Get User Organizations endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch vpcendpoint details by id

**Slug:** `NEON_FETCH_VPCENDPOINT_DETAILS_BY_ID`

Retrieves the current state and configuration details of a specific VPC endpoint assigned to a Neon organization. VPC endpoints enable private connectivity between your AWS VPC and Neon databases using AWS PrivateLink, bypassing the public internet. Prerequisites: - Organization must be on the Scale plan or higher (VPC Private Networking is not available on Free or Launch plans) - VPC endpoint must be previously assigned using 'create_vpc_endpoint_with_label' action Use cases: - Check the operational state of a VPC endpoint (new, accepted, available, pending, rejected) - View which projects are restricted to use this VPC endpoint - Verify endpoint configuration for compliance and security auditing - Troubleshoot private connectivity issues Note: This is a read-only endpoint. To modify VPC endpoint configuration, use 'create_vpc_endpoint_with_label' or 'delete_vpc_endpoint_by_ids' actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID. Format: 'org-xxxx-xxxx-xxxxxxxx'. Use the 'get_user_organizations' action to list available organization IDs. Note: VPC endpoints require Scale plan or higher. |
| `region_id` | string | Yes | The Neon AWS region ID where the VPC endpoint is located. Valid values: 'aws-us-east-1', 'aws-us-east-2', 'aws-us-west-2', 'aws-eu-central-1', 'aws-eu-west-2', 'aws-ap-southeast-1', 'aws-ap-southeast-2', 'aws-sa-east-1'. Note: Azure regions are not supported for VPC endpoints. |
| `vpc_endpoint_id` | string | Yes | The AWS VPC endpoint ID. Format: 'vpce-xxxxxxxxxxxxxxxxx' (e.g., 'vpce-1234567890abcdef0'). Use 'get_vpc_region_endpoints' action to list available VPC endpoints in a region. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Finalize branch restore

**Slug:** `NEON_FINALIZE_BRANCH_RESTORE`

Finalizes the restore operation for a branch created from a snapshot. This updates the branch to function as the original branch it replaced by: reassigning computes from the original branch (which restarts them), renaming the restored branch to the original's name, and renaming the original branch. Only applies to branches created using the restoreSnapshot endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Used to rename the existing branch when it is replaced. If omitted, a default name is generated and used. |
| `branch_id` | string | Yes | The ID of the branch created from a snapshot that will be finalized. Format: 'br-adjective-noun-alphanumeric' (e.g., 'br-late-voice-ahlrw52f'). |
| `project_id` | string | Yes | The Neon project ID. Format: 'adjective-noun-12345678' (e.g., 'proud-meadow-87189985'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get auth

**Slug:** `NEON_GET_AUTH`

Retrieves authentication information about the current API request credentials. Use this action to verify which account and authentication method are being used for API calls, which is helpful for debugging authentication issues or confirming the identity of the calling user or API key.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get auth allow localhost

**Slug:** `NEON_GET_AUTH_ALLOW_LOCALHOST`

Retrieves the allow localhost configuration for a specific branch in a Neon project. Use when you need to check if localhost connections are permitted for a branch's authentication settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get auth email provider

**Slug:** `NEON_GET_AUTH_EMAIL_PROVIDER`

Retrieves the email provider configuration for Neon Auth on a specific branch. Returns SMTP configuration details if a custom provider is configured, or just sender information if using the default Neon email provider. Use this action to verify email settings before testing authentication flows or troubleshooting email delivery issues.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique identifier of the branch within the project (e.g., 'br-lucky-water-afkw1lov'). You can obtain this from the list branches endpoint. |
| `project_id` | string | Yes | The unique Neon project ID. This is a string identifier in the format 'adjective-noun-number' (e.g., 'dry-smoke-26258271'). You can obtain project IDs by listing projects using the retrieve_projects_list action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get available preload libraries

**Slug:** `NEON_GET_AVAILABLE_PRELOAD_LIBRARIES`

Retrieves the list of available shared preload libraries for a Neon project. Shared preload libraries are PostgreSQL extensions that can be loaded at server startup using the shared_preload_libraries setting. Use this action when you need to: - Discover which PostgreSQL extensions are available for your project - Check versions of available extensions (TimescaleDB, pg_cron, etc.) - Identify experimental vs. stable extensions before configuration - Review default libraries included in your project configuration Returns details about each library including name, version, description, and whether it's experimental or included by default. Common extensions include timescaledb (time-series data), pg_cron (job scheduling), pg_partman_bgw (partition management), and vector search extensions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique Neon project ID (e.g., 'proud-meadow-87189985'). Can be found in the Neon console URL or via the list projects API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get branches anonymized status

**Slug:** `NEON_GET_BRANCHES_ANONYMIZED_STATUS`

Retrieves the current status of an anonymized branch, including its state and progress information. This endpoint allows you to monitor the anonymization process from initialization through completion. Only anonymized branches will have status information available. Use this action when you need to: - Monitor the progress of an anonymization process - Check the state of an anonymized branch (created, initialized, anonymizing, anonymized, error) - View details about the most recent anonymization attempt - Identify when an anonymization operation failed Note: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID. You can obtain the branch_id by listing the project's branches. Only anonymized branches will have status information available. |
| `project_id` | string | Yes | The Neon project ID. You can obtain a project_id by listing the projects for your Neon account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get branches backup schedule

**Slug:** `NEON_GET_BRANCHES_BACKUP_SCHEDULE`

Retrieves the backup schedule configuration for a specified branch within a Neon project. This endpoint provides information about when backups are created and how long they are retained. Use this when you need to verify or audit the backup schedule settings for a branch. Note: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Neon Data API for branch

**Slug:** `NEON_GET_BRANCHES_DATA_API`

Retrieves the Neon Data API information for a specific branch and database. Use when you need to access the Data API URL, deployment status, or configuration settings for a particular database within a branch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID |
| `project_id` | string | Yes | The Neon project ID |
| `database_name` | string | Yes | The database name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get branches for project

**Slug:** `NEON_GET_BRANCHES_FOR_PROJECT`

Retrieves a list of branches associated with a specific project in the Neon B2B SaaS integration platform. This endpoint should be used when you need to get an overview of all branches within a particular project, which is useful for version management and workflow control. It provides information about different versions or development stages of the project, allowing for efficient project management and collaboration. The endpoint is particularly helpful when planning merges, reviewing project history, or deciding on which branch to base new development work.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search by branch `name` or `id`. You can specify partial `name` or `id` values to filter results.  |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get branches masking rules

**Slug:** `NEON_GET_BRANCHES_MASKING_RULES`

Retrieves the masking rules for the specified anonymized branch. Masking rules define how sensitive data should be anonymized using PostgreSQL Anonymizer. Use this when you need to view the data anonymization configuration for a branch. Note: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID. You can obtain this by listing the project's branches. |
| `project_id` | string | Yes | The Neon project ID. You can obtain this by listing the projects for your Neon account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get branch roles for project

**Slug:** `NEON_GET_BRANCH_ROLES_FOR_PROJECT`

Retrieves the roles associated with a specific branch within a project in the Neon B2B SaaS integration platform. This endpoint is used to fetch the current role assignments for a given project and branch combination, which is essential for managing access control and permissions within the Neon ecosystem. It should be used when you need to review or audit the roles assigned to a particular branch, such as before making changes to permissions or when verifying the current access structure. The endpoint does not modify any roles; it only provides a read-only view of the existing role assignments. Keep in mind that the response will only include roles for the specified branch and does not provide information about roles in other branches or at the project level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get consumption history projects

**Slug:** `NEON_GET_CONSUMPTION_HISTORY_PROJECTS`

Retrieves consumption history for projects within a Neon organization. IMPORTANT: This endpoint is only available for Scale, Business, and Enterprise plan accounts. Free and Launch plans do not have access to this endpoint. Returns metrics including: - active_time_seconds: Time computes were active - compute_time_seconds: Total CPU seconds used (2 CPUs for 1 second = 2) - written_data_bytes: Data written to branches - synthetic_storage_size_bytes: Total storage occupied The org_id parameter is required to identify which organization's projects to query. Results are ordered chronologically (oldest to newest). Rate limit: ~30 requests/minute shared with account consumption endpoint. Note: This API call does NOT wake sleeping compute endpoints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | Specify the end `date-time` for the consumption period. The `date-time` value is rounded according to the specified granularity. For example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`. The specified `date-time` value must respect the specified `granularity`: - For `hourly`, consumption metrics are limited to the last 168 hours. - For `daily`, consumption metrics are limited to the last 60 days. - For `monthly`, consumption metrics are limited to the last year.   |
| `from` | string | Yes | Specify the start `date-time` for the consumption period. The `date-time` value is rounded according to the specified `granularity`. For example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`. The specified `date-time` value must respect the specified `granularity`: - For `hourly`, consumption metrics are limited to the last 168 hours. - For `daily`, consumption metrics are limited to the last 60 days. - For `monthly`, consumption metrics are limited to the last year. The consumption history is available starting from `March 1, 2024, at 00:00:00 UTC`.   |
| `limit` | integer | No | Specify a value from 1 to 100 to limit number of projects in the response.  |
| `cursor` | string | No | Specify the cursor value from the previous response to get the next batch of projects.  |
| `org_id` | string | No | The organization ID to retrieve project consumption metrics for. IMPORTANT: This parameter is effectively required - API returns an error without it. Get your org_id from NEON_GET_USER_ORGANIZATIONS. Format: 'org-xxxx-xxxx-xxxxxxxx'. |
| `granularity` | string ("hourly" | "daily" | "monthly") | Yes | Specify the granularity of consumption metrics. Hourly, daily, and monthly metrics are available for the last 168 hours, 60 days, and 1 year, respectively.   |
| `project_ids` | array | No | Specify a list of project IDs to filter the response. If omitted, the response will contain all projects. A list of project IDs can be specified as an array of parameter values or as a comma-separated list in a single parameter value. - As an array of parameter values: `project_ids=cold-poetry-09157238%20&project_ids=quiet-snow-71788278` - As a comma-separated list in a single parameter value: `project_ids=cold-poetry-09157238,quiet-snow-71788278`   |
| `include_v1_metrics` | boolean | No | Include metrics utilized in previous pricing models. - **data_storage_bytes_hour**: The sum of the maximum observed storage values for each hour,   which never decreases.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get current user information

**Slug:** `NEON_GET_CURRENT_USER_INFORMATION`

Retrieves the profile information for the currently authenticated user. This endpoint should be used when you need to access details about the user making the API request, such as their username, email, or other account-related information. It's particularly useful for personalizing user experiences or retrieving user-specific settings within the Neon platform. The endpoint doesn't accept any parameters, as it relies solely on the authentication token to identify the user. Note that this endpoint will only return information for the authenticated user and cannot be used to retrieve profiles of other users.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get organization api keys

**Slug:** `NEON_GET_ORGANIZATION_API_KEYS`

Retrieves a list of all API keys associated with a specific organization in the Neon B2B SaaS integration platform. This endpoint is crucial for administrators to manage and monitor API access within their organization. It provides a comprehensive view of all active API keys, enabling effective access control and security auditing. Use this endpoint when you need to review, track, or manage the API keys in use by your organization, such as during security reviews or when updating access permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project branches

**Slug:** `NEON_GET_PROJECT_BRANCHES`

Retrieves detailed information about a specific branch within a Neon project. This endpoint allows developers to fetch the current state and configuration of a branch, including its name, creation timestamp, and other relevant metadata. It's particularly useful when you need to verify branch details, check its status, or gather information for further operations on the branch. The endpoint should be used when you require up-to-date information about a single branch in your project's context. Note that this endpoint only provides read access and does not modify any branch data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project branch role

**Slug:** `NEON_GET_PROJECT_BRANCH_ROLE`

Retrieves detailed information about a specific role within a particular branch of a Neon project. This endpoint is used to fetch the current configuration, permissions, and other relevant details associated with the specified role. It's particularly useful for auditing access controls, verifying role settings, or gathering information before making modifications to role permissions. The endpoint requires precise identification of the project, branch, and role, ensuring that the correct role information is retrieved from the appropriate context within the Neon platform's hierarchical structure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique identifier of the branch within the project (e.g., 'br-lucky-water-afkw1lov'). You can obtain this from the list branches endpoint. |
| `role_name` | string | Yes | The name of the database role to retrieve (e.g., 'neondb_owner', 'authenticator', 'authenticated', 'anonymous'). This is the PostgreSQL role name within the branch. |
| `project_id` | string | Yes | The unique identifier of the Neon project (e.g., 'dry-smoke-26258271'). You can obtain this from the list projects endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project branch schema comparison

**Slug:** `NEON_GET_PROJECT_BRANCH_SCHEMA_COMPARISON`

Compares the database schema of a branch with another branch's schema in a Neon project. Returns the difference as a unified diff format string. Use this when you need to understand what schema changes exist between two branches (e.g., before merging, to review migrations, or to verify schema consistency). The comparison can be done at specific points in time using LSN or timestamp parameters for both branches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lsn` | string | No | Optional Log Sequence Number (LSN) for which the schema is retrieved. Format: 'X/XXXXXXXX' (e.g., '0/1F79928'). |
| `db_name` | string | Yes | Name of the database for which the schema is compared (e.g., 'neondb'). Can be obtained from the databases list for a branch. |
| `base_lsn` | string | No | Optional Log Sequence Number (LSN) for the base branch schema. Format: 'X/XXXXXXXX'. |
| `branch_id` | string | Yes | The branch ID to get the schema from (e.g., 'br-calm-bread-ah40d54d'). Can be obtained from the branches list for a project. |
| `timestamp` | string | No | Optional ISO 8601 timestamp for the point in time for which the schema is retrieved (e.g., '2022-11-30T20:09:48Z'). |
| `project_id` | string | Yes | The Neon project ID (e.g., 'proud-meadow-87189985'). Can be obtained from the project list or project details. |
| `base_branch_id` | string | No | Optional branch ID to compare the schema with. If not specified, compares with the parent branch. |
| `base_timestamp` | string | No | Optional ISO 8601 timestamp for the point in time for the base branch schema (e.g., '2022-11-30T20:09:48Z'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project connection uri

**Slug:** `NEON_GET_PROJECT_CONNECTION_URI`

Retrieves the connection URI for a specified project within the Neon B2B SaaS integration platform. This endpoint is crucial for establishing connectivity to a project's resources, enabling access to its data and functionalities. Use this when you need to programmatically obtain the connection details for a specific project, which is essential for integrating with the project's data sources or services. The connection URI serves as a unique identifier and access point for the project, facilitating seamless data exchange and workflow automation between different systems and applications within the Neon ecosystem.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pooled` | boolean | No | Adds the `-pooler` option to the connection URI when set to `true`, creating a pooled connection URI.  |
| `branch_id` | string | No | The branch ID. Defaults to the project's default branch_id if not specified. The branch must have an associated compute endpoint. |
| `role_name` | string | Yes | The PostgreSQL role name to use for authentication (e.g., 'neondb_owner'). |
| `project_id` | string | Yes | The Neon project ID |
| `endpoint_id` | string | No | The compute endpoint ID (starts with 'ep-'). Defaults to the read-write endpoint associated with the branch_id if not specified. Required if the branch has multiple endpoints or no default read-write endpoint. |
| `database_name` | string | Yes | The name of the database to connect to within the branch (e.g., 'neondb'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project endpoint information

**Slug:** `NEON_GET_PROJECT_ENDPOINT_INFORMATION`

Retrieves a list of all compute endpoints associated with a specific Neon project. Compute endpoints are the connection points for your Neon PostgreSQL databases. Use this action to get information about endpoint hosts, states, autoscaling settings, and connection pooling configuration. Each endpoint is associated with a branch and includes details like the hostname for database connections, current state (active/idle/suspended), compute unit limits, and region. This is useful for monitoring endpoint health, getting connection strings, or managing compute resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique identifier for a Neon project (e.g., 'calm-breeze-57229290'). Can be obtained from the projects list endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project operation by id

**Slug:** `NEON_GET_PROJECT_OPERATION_BY_ID`

Retrieves detailed information about a specific operation within a Neon serverless PostgreSQL project. Use this endpoint to check the status and details of operations such as compute start/suspend, branch creation/deletion, configuration changes, or timeline operations. This is useful for monitoring long-running tasks, verifying operation completion, or debugging failures. Requires both a project ID and operation ID. Returns operation details including status ('scheduling', 'running', 'finished', 'failed'), duration, and associated branch/endpoint IDs. This is a read-only endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Can be obtained from the list projects endpoint. |
| `operation_id` | string | Yes | The unique identifier (UUID) of the operation to retrieve (e.g., 'f3bcadce-07ac-4c2f-8dae-182d02da1518'). Can be obtained from the list project operations endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get schema for project branch

**Slug:** `NEON_GET_SCHEMA_FOR_PROJECT_BRANCH`

Retrieves the PostgreSQL database schema (DDL) for a specific database on a branch within a Neon project. Returns the schema as SQL statements (similar to pg_dump output), including CREATE TABLE, ALTER TABLE, CREATE INDEX, and other DDL statements. This is useful for understanding the database structure, comparing schemas between branches, or for documentation purposes. The schema can be retrieved at the current point in time or at a specific historical point using either an LSN or timestamp parameter. Note: The branch's compute endpoint must be active for this endpoint to work.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lsn` | string | No | Optional Log Sequence Number (LSN) to retrieve the schema at a specific point in the WAL. Format: 'X/XXXXXXXX' (e.g., '0/1F79928'). If not specified, returns the current schema. |
| `db_name` | string | Yes | Name of the database to retrieve schema for (e.g., 'neondb'). Can be obtained from the databases list for a branch. |
| `branch_id` | string | Yes | The branch ID (e.g., 'br-lucky-water-afkw1lov'). Can be obtained from the branches list for a project. |
| `timestamp` | string | No | Optional ISO 8601 timestamp to retrieve the schema at a specific point in time (e.g., '2025-07-26T17:44:06Z'). If not specified, returns the current schema. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Can be obtained from the project list or project details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user organizations

**Slug:** `NEON_GET_USER_ORGANIZATIONS`

Retrieves a list of organizations associated with the currently authenticated user in the Neon platform. This endpoint allows users to view all the organizations they are a member of, providing essential information for managing multi-organization access and permissions. It should be used when a user needs to identify their organizational affiliations or when an application needs to determine a user's organization memberships for access control or data segregation purposes. The endpoint does not modify any data and is safe for frequent calls. Note that it only returns organizations the user is actively a member of and won't include pending invitations or previously left organizations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get vpc region endpoints

**Slug:** `NEON_GET_VPC_REGION_ENDPOINTS`

Retrieves a list of VPC endpoints for a specified organization within a particular AWS region. This endpoint allows developers to obtain information about the virtual network interfaces that enable private communication between a VPC and supported AWS services. It should be used when you need to audit, manage, or gather information about the existing VPC endpoints in a specific organizational context and geographic location. The endpoint provides a comprehensive view of how the organization's VPC is connected to various AWS services, which is crucial for network architecture planning and security audits. Note that this endpoint only lists the VPC endpoints; it does not provide detailed configuration information or allow for modifications to the endpoints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID |
| `region_id` | string | Yes | The Neon region ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List api keys

**Slug:** `NEON_LIST_API_KEYS`

Retrieves a list of API keys associated with the authenticated user's Neon account. This endpoint allows developers to view and manage their existing API keys, which are crucial for authentication when making requests to the Neon API. It provides an overview of all active API keys, including their identifiers and potentially other metadata such as creation date or last used date. This tool should be used when you need to audit your API keys, check for any unauthorized keys, or before creating a new key to ensure you're not exceeding any limits. It does not provide the actual secret key values for security reasons, nor does it allow for the creation or deletion of keys.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List auth domains

**Slug:** `NEON_LIST_AUTH_DOMAINS`

Lists the domains in the redirect_uri whitelist for the specified project and branch. Use when you need to retrieve or verify the allowed domains for authentication redirects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID |
| `project_id` | string | Yes | The Neon project ID. This is a string identifier in the format 'adjective-noun-number' (e.g., 'proud-meadow-87189985'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List auth oauth providers

**Slug:** `NEON_LIST_AUTH_OAUTH_PROVIDERS`

Lists the OAuth providers for the specified project. DEPRECATED: Use /projects/{project_id}/branches/{branch_id}/auth/oauth_providers instead. This endpoint returns OAuth provider configurations including client IDs and types for the Neon Auth integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Auth OAuth Providers

**Slug:** `NEON_LIST_AUTH_OAUTH_PROVIDERS2`

Retrieves the OAuth providers configured for Neon Auth on a specific branch. Use this when you need to view the available OAuth authentication providers for a given project and branch combination. This is useful for managing authentication options and verifying which OAuth providers are enabled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List project snapshots

**Slug:** `NEON_LIST_PROJECTS_SNAPSHOTS`

Tool to list all snapshots for a specified Neon project. Use when you need to view available snapshots for backup, restore, or data recovery purposes. **Note**: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID (e.g., 'proud-meadow-87189985'). You can obtain the project_id by listing projects for your Neon account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List shared projects

**Slug:** `NEON_LIST_SHARED_PROJECTS`

Retrieves a list of Neon Postgres projects shared with your account. Returns projects that other users have granted you access to, along with pagination info. Use this to view and manage collaborative database projects. Supports filtering by project name/ID and pagination for large result sets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of projects to return per page (1-400). Defaults to 10. |
| `cursor` | string | No | Pagination cursor from a previous response to retrieve the next page of results. Omit for the first request. |
| `search` | string | No | Filter projects by name or project ID. Case-insensitive partial match. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List VPC endpoints for organization

**Slug:** `NEON_LIST_VPC_VPC_ENDPOINTS`

Tool to retrieve the list of VPC endpoints for a specified Neon organization across all regions. Use when you need to view or audit all VPC endpoints associated with an organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify branch details in project

**Slug:** `NEON_MODIFY_BRANCH_DETAILS_IN_PROJECT`

Updates the details of a specific branch within a project in the Neon platform. This endpoint allows you to modify the name and protection status of an existing branch. It is particularly useful when you need to rename a branch or change its protection settings without creating a new branch. The endpoint uses partial updates, so you can specify only the fields you want to change. This tool should be used when managing branch configurations in a Neon project, but it cannot be used to create new branches or delete existing ones.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique identifier of the branch to modify. Format: 'br-<adjective>-<noun>-<alphanumeric>' (e.g., 'br-square-base-aehfbgdy'). Can be obtained from the branches list endpoint for a project. |
| `project_id` | string | Yes | The unique identifier of the Neon project containing the branch to modify. Format: '<adjective>-<noun>-<number>' (e.g., 'calm-breeze-57229290'). Can be obtained from the projects list endpoint. |
| `branch__name` | string | No | The new name for the branch. If not provided, the branch name remains unchanged. Branch names should be descriptive and follow your team's naming conventions (e.g., 'main', 'production', 'development', 'feature-xyz'). |
| `branch__protected` | boolean | No | Whether the branch should be protected. Protected branches have restrictions that prevent certain destructive operations. Set to true to enable protection, false to disable it. If not provided, the protection status remains unchanged. Note: Protection features may require a paid plan. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch branch database information

**Slug:** `NEON_PATCH_BRANCH_DATABASE_INFORMATION`

Updates the properties of a specific database within a project branch in the Neon platform. This endpoint allows for partial modifications of database attributes, such as changing its name or owner. It should be used when you need to rename a database or transfer ownership to a different role within the same project and branch. The update is performed using the PATCH method, allowing for selective property changes without affecting unspecified attributes. Note that this operation modifies existing database metadata and does not create new databases or alter the actual data within the database.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID where the database resides (e.g., 'br-lucky-water-afkw1lov') |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271') |
| `database_name` | string | Yes | The current name of the database to update |
| `database__name` | string | No | The new name for the database. Use this to rename the database. |
| `database__owner__name` | string | No | The name of the role to transfer database ownership to. The role must exist in the branch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reset role password for branch

**Slug:** `NEON_RESET_ROLE_PASSWORD_FOR_BRANCH`

Resets the password for a PostgreSQL role on a specific Neon branch and generates a new password. Use this when credentials need to be rotated for security purposes (e.g., employee offboarding, suspected compromise, or routine security practices). The response includes the new password - store it securely as it cannot be retrieved later. The new password becomes active once the triggered 'apply_config' operation completes; the old password remains valid until then. Note: This is a destructive operation that invalidates the current password.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID where the role exists (e.g., 'br-lucky-water-afkw1lov') |
| `role_name` | string | Yes | The name of the database role whose password should be reset (e.g., 'neondb_owner', 'authenticator') |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restart project endpoint

**Slug:** `NEON_RESTART_PROJECT_ENDPOINT`

Restarts a Neon compute endpoint (Postgres instance) within a project. The restart operation suspends and then starts the compute endpoint, which is useful for: - Applying configuration changes - Clearing cached data or connections - Troubleshooting connection or performance issues - Recovering from error states The operation triggers two sequential actions: 'suspend_compute' followed by 'start_compute'. During restart, the endpoint will be briefly unavailable. The response includes the updated endpoint details and the operations triggered. Note: If the endpoint is in a 'locked' state (HTTP 423) due to an ongoing operation, wait for it to complete before retrying. If the endpoint is 'idle', it will be started directly without suspension.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Can be obtained from list projects API. |
| `endpoint_id` | string | Yes | The Neon compute endpoint ID to restart (e.g., 'ep-patient-morning-afvkyj5f'). Can be obtained from list project endpoints API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore project branch

**Slug:** `NEON_RESTORE_PROJECT_BRANCH`

This endpoint restores a branch to a specific state or point in time. Use it to recover data, revert changes, or create new branch states based on historical data. The restoration uses either a Log Sequence Number (LSN) or timestamp from the source branch. Important: For self-restoration or branches with children, use preserve_under_name to save the current state. Note: Restoration time varies based on data volume and restoration point.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The ID of the branch to restore (the target branch that will receive the restored data). |
| `project_id` | string | Yes | The Neon project ID containing the branch to restore. |
| `source_lsn` | string | No | A Log Sequence Number (LSN) on the source branch. The branch will be restored with data from this LSN. Format example: '0/19A3328'. |
| `source_branch_id` | string | Yes | The branch_id of the restore source branch. If source_timestamp and source_lsn are omitted, the branch will be restored to head. If source_branch_id is equal to the branch's id (self-restoration), source_timestamp or source_lsn is required. |
| `source_timestamp` | string | No | A timestamp identifying a point in time on the source branch. The branch will be restored with data starting from this point in time. The timestamp must be provided in ISO 8601 format; for example: '2024-02-26T12:00:00Z'. |
| `preserve_under_name` | string | No | If provided, the previous state of the branch will be saved to a new branch with this name. Required if the branch has children or if source_branch_id equals the branch id (self-restoration). All existing child branches will be moved to the newly created branch under this name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore snapshot to new branch

**Slug:** `NEON_RESTORE_SNAPSHOT`

Tool to restore a Neon snapshot to a new branch. Use when you need to recover data from a snapshot or create a branch from a previous point in time. This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | A name for the newly restored branch. If omitted, a default name will be generated. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'proud-meadow-87189985'). You can obtain the project_id by listing projects for your Neon account. |
| `snapshot_id` | string | Yes | The snapshot ID to restore (e.g., 'snap-wispy-union-ahw80v1u'). You can obtain snapshot IDs by listing snapshots for a project. |
| `finalize_restore` | boolean | No | Set to true to finalize the restore operation immediately. This will complete the restore and move any associated computes to the new branch. Defaults to false to allow previewing the restored snapshot data first. |
| `target_branch_id` | string | No | The ID of the branch to restore the snapshot into. If not specified, the branch from which the snapshot was originally created will be used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve account consumption history

**Slug:** `NEON_RETRIEVE_ACCOUNT_CONSUMPTION_HISTORY`

Retrieves the consumption history for a specified account within the Neon platform. This endpoint provides detailed information about resource usage and associated costs over a given time period. It's particularly useful for analyzing usage patterns, forecasting future resource needs, and managing costs in the Neon B2B SaaS integration platform. The endpoint returns data such as compute time, storage usage, API calls, and any other billable resources specific to the Neon service. Users can specify a date range and optionally filter by resource types to get a granular view of their consumption. This tool should be used when detailed analytics on resource utilization and spending are required, such as for budget planning, usage optimization, or billing reconciliation. It does not provide real-time usage data and may have a slight delay in reflecting the most recent consumption.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | Specify the end `date-time` for the consumption period. The `date-time` value is rounded according to the specified granularity. For example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`. The specified `date-time` value must respect the specified granularity: - For `hourly`, consumption metrics are limited to the last 168 hours. - For `daily`, consumption metrics are limited to the last 60 days. - For `monthly`, consumption metrics are limited to the past year.   |
| `from` | string | Yes | Specify the start `date-time` for the consumption period. The `date-time` value is rounded according to the specified `granularity`. For example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`. The specified `date-time` value must respect the specified granularity: - For `hourly`, consumption metrics are limited to the last 168 hours. - For `daily`, consumption metrics are limited to the last 60 days. - For `monthly`, consumption metrics are limited to the past year. The consumption history is available starting from `March 1, 2024, at 00:00:00 UTC`.   |
| `org_id` | string | No | Specify the organization for which the consumption metrics should be returned. If this parameter is not provided, the endpoint will return the metrics for the authenticated user"s account.   |
| `granularity` | string ("hourly" | "daily" | "monthly") | Yes | Specify the granularity of consumption metrics. Hourly, daily, and monthly metrics are available for the last 168 hours, 60 days, and 1 year, respectively.   |
| `include_v1_metrics` | boolean | No | Include metrics utilized in previous pricing models. - **data_storage_bytes_hour**: The sum of the maximum observed storage values for each hour   for each project, which never decreases.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve all regions

**Slug:** `NEON_RETRIEVE_ALL_REGIONS`

Retrieves a list of available geographic regions supported by the Neon B2B SaaS integration platform. This endpoint provides crucial information about the different areas where the API is accessible and optimized for service delivery. It should be used when developers need to understand the platform's global coverage, select appropriate endpoints for data localization, or implement region-specific configurations. The endpoint returns details about each region, which may include region identifiers, names, and potentially associated endpoints or data centers. This information is essential for ensuring compliance with data residency regulations and optimizing performance by choosing the most suitable region for specific integration needs.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve branch database details

**Slug:** `NEON_RETRIEVE_BRANCH_DATABASE_DETAILS`

Retrieves detailed information about a specific database within a Neon project and branch. This endpoint allows developers to fetch crucial metadata and configuration details for a given database, enabling them to monitor and manage their database resources effectively. It should be used when you need to inspect the current state, settings, or properties of a particular database in your Neon environment. The endpoint provides a snapshot of the database's characteristics but does not modify any data or settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |
| `database_name` | string | Yes | The database name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve branch endpoints

**Slug:** `NEON_RETRIEVE_BRANCH_ENDPOINTS`

Retrieves all compute endpoints associated with a specific branch in a Neon project. Compute endpoints are the connection points for accessing your PostgreSQL database - they provide the hostname and configuration needed to connect to your database. Use this action when you need to: - Get connection details (host, region) for a branch's database - Check endpoint status (active, idle, suspended) - Review autoscaling and connection pooling settings - Monitor endpoint activity and configuration Returns a list of endpoints with details like host, region, current state, autoscaling limits, and pooler configuration. Most branches have one read_write endpoint, but may have additional read-only replicas.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique branch ID (e.g., 'br-lucky-water-afkw1lov'). Can be obtained from the list branches API or Neon console. |
| `project_id` | string | Yes | The unique Neon project ID (e.g., 'dry-smoke-26258271'). Can be found in the Neon console URL or via the list projects API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve jwks for project

**Slug:** `NEON_RETRIEVE_JWKS_FOR_PROJECT`

Retrieves the JSON Web Key Set (JWKS) for a specified project. This endpoint should be used when a client needs to obtain the public keys necessary for verifying JSON Web Tokens (JWTs) issued by the project. The JWKS contains the cryptographic keys used in the project's authentication process. It's essential for implementing secure, token-based authentication in applications integrated with the Neon platform. This endpoint is typically called during the initial setup of a client application or when rotating security keys. Note that the JWKS should be cached by clients to reduce unnecessary API calls, but periodic refreshes are recommended to ensure up-to-date keys.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization by id

**Slug:** `NEON_RETRIEVE_ORGANIZATION_BY_ID`

Retrieves detailed information about a specific organization within the Neon platform. This endpoint allows you to access comprehensive data about an organization, including its configuration, members, and associated projects. Use this when you need to view or verify an organization's current state, such as checking membership, reviewing settings, or auditing organization-level information. The endpoint returns a snapshot of the organization at the time of the request and does not provide historical data or future projections. It's particularly useful for administrative tasks, reporting, and maintaining organizational oversight within the Neon ecosystem.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID. Format: 'org-xxxx-xxxx-xxxxxxxx'. Use the 'get_user_organizations' action to list available organization IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization invitations

**Slug:** `NEON_RETRIEVE_ORGANIZATION_INVITATIONS`

Retrieves a list of all pending invitations for a specified organization. This endpoint allows organization administrators to view and manage outstanding invitations sent to potential new members. It should be used when there's a need to track who has been invited to join the organization, review invitation statuses, or perform invitation-related administrative tasks. The endpoint returns details about each invitation, which may include the invitee's email, the invitation date, and the current status. It does not provide information about active members or expired invitations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve organization member info

**Slug:** `NEON_RETRIEVE_ORGANIZATION_MEMBER_INFO`

Retrieves detailed information about a specific member within an organization in the Neon B2B SaaS integration platform. This endpoint allows you to fetch comprehensive data about an individual member, including their user ID, assigned role within the organization, join date, and potentially other relevant details. It's particularly useful for organization administrators who need to review or verify a member's status and permissions. The endpoint requires both the organization ID and the member ID to be specified, ensuring precise and secure access to member information. Use this when you need to access or display detailed information about a particular member in your organization management interfaces or for auditing purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID (e.g., 'org-holy-recipe-01602027'). Can be obtained from the Get User Organizations endpoint. |
| `member_id` | string | Yes | The Neon organization member ID (UUID format, e.g., '46bbb36a-8e45-4f4a-93c0-03e39ca4204e'). Can be obtained from the Fetch Organization Members endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve project endpoint details

**Slug:** `NEON_RETRIEVE_PROJECT_ENDPOINT_DETAILS`

Retrieves detailed information about a specific compute endpoint within a Neon serverless PostgreSQL project. Compute endpoints are the connection points for your Neon databases. Use this action to get information about a specific endpoint including its hostname for connections, autoscaling settings, current state (active/idle/suspended), connection pooling config, and PostgreSQL settings. This is useful for getting the connection hostname, checking endpoint health, verifying compute resources, or troubleshooting connection issues. The endpoint_id can be obtained from the list endpoints action. Note: This is a read-only operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique identifier for a Neon project (e.g., 'dry-smoke-26258271'). Can be obtained from the projects list endpoint or project details. |
| `endpoint_id` | string | Yes | The unique identifier of the compute endpoint (e.g., 'ep-empty-bush-af3x7l26'). Endpoint IDs start with 'ep-' prefix. Can be obtained from the list endpoints action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve project operations

**Slug:** `NEON_RETRIEVE_PROJECT_OPERATIONS`

Retrieves a list of operations associated with a specific project in the Neon B2B SaaS integration platform. This endpoint should be used when you need to fetch all operations related to a particular project, such as for monitoring ongoing tasks, auditing completed actions, or planning future integrations. It provides a comprehensive view of the project's operational landscape, which is crucial for managing complex integration workflows. Note that this endpoint only returns the operations list and may not include detailed information about each operation's current status or results; separate API calls might be necessary for such details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Specify a value from 1 to 1000 to limit number of operations in the response  |
| `cursor` | string | No | Specify the cursor value from the previous response to get the next batch of operations  |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve project permissions

**Slug:** `NEON_RETRIEVE_PROJECT_PERMISSIONS`

Retrieves the current permissions settings for a specific project within the Neon B2B SaaS integration platform. This endpoint allows users to view the access rights and roles assigned to various users or entities for the specified project. It should be used when you need to audit or review the current permission structure of a project, such as before making changes or for compliance checks. The endpoint returns a comprehensive list of permissions but does not modify any settings. It's important to note that this endpoint only provides a snapshot of permissions at the time of the call and does not reflect any pending changes or provide historical permission data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | Project Id |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve projects list

**Slug:** `NEON_RETRIEVE_PROJECTS_LIST`

Retrieves a list of all Neon projects associated with the authenticated user's account. This endpoint provides a comprehensive overview of the user's projects, enabling efficient project management and integration workflows. It should be used when you need to obtain information about multiple projects at once, such as for dashboard displays, project selection interfaces, or batch processing tasks. The endpoint returns project details in JSON format, which can be easily parsed and utilized in various applications or data analysis processes. Note that while this endpoint gives a broad view of projects, it may not include detailed data sets or specific project contents, which might require additional API calls. IMPORTANT: When using a Personal API key with an organization account, the org_id parameter is REQUIRED. If you don't know the org_id, first call NEON_GET_USER_ORGANIZATIONS to discover it. Organization API keys don't need org_id as they're already scoped to an organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Specify a value from 1 to 400 to limit number of projects in the response.  |
| `cursor` | string | No | Specify the cursor value from the previous response to retrieve the next batch of projects.  |
| `org_id` | string | No | Organization ID to retrieve projects for. REQUIRED when using a Personal API key with an organization account (returns 400 error if omitted). NOT needed when using an Organization API key (key is already scoped). If you don't have the org_id, call NEON_GET_USER_ORGANIZATIONS to discover it. |
| `search` | string | No | Search by project `name` or `id`. You can specify partial `name` or `id` values to filter results.  |
| `timeout` | integer | No | Specify an explicit timeout in milliseconds to limit response delay. After timing out, the incomplete list of project data fetched so far will be returned. Projects still being fetched when the timeout occurred are listed in the "unavailable" attribute of the response. If not specified, an implicit implementation defined timeout is chosen with the same behaviour as above   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve vpc endpoints for project

**Slug:** `NEON_RETRIEVE_VPC_ENDPOINTS_FOR_PROJECT`

Retrieves a list of VPC (Virtual Private Cloud) endpoints associated with a specific project in the Neon B2B SaaS integration platform. This endpoint allows developers to fetch information about private network connections that enable secure communication between the project's resources and various AWS services without traversing the public internet. Use this endpoint when you need to audit, manage, or view the current VPC endpoint configurations for a given project. It's particularly useful for ensuring proper network isolation and security in complex integration scenarios. The endpoint does not create or modify VPC endpoints; it only provides read access to existing configurations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reveal role password in branch

**Slug:** `NEON_REVEAL_ROLE_PASSWORD_IN_BRANCH`

Reveals the password for a specific role within a branch of a Neon project. This endpoint is used when you need to retrieve a previously hidden or encrypted password for a database role. It's particularly useful for administrators who need to access or share role credentials securely. The endpoint should be used cautiously, as it exposes sensitive information. It does not modify the password, only retrieves it. Note that frequent use of this endpoint may be logged or restricted for security purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The unique identifier of the branch within the project. Format: 'br-adjective-noun-xxxxxxxx' (e.g., 'br-lucky-water-afkw1lov'). Obtain from list branches API. |
| `role_name` | string | Yes | The name of the database role whose password you want to reveal. Common roles include 'neondb_owner' (default owner), 'authenticator', 'authenticated', 'anonymous', or custom roles you've created. |
| `project_id` | string | Yes | The unique identifier of the Neon project. Format: 'adjective-noun-12345678' (e.g., 'dry-smoke-26258271'). Obtain from list projects API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send auth test email

**Slug:** `NEON_SEND_AUTH_TEST_EMAIL`

Tool to send a test email using specified SMTP configuration for Neon Auth. Use when validating SMTP settings or testing email delivery for Neon Auth integration on a specific branch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | Yes | SMTP server hostname (e.g., 'smtp.gmail.com', 'smtp.sendgrid.net'). |
| `port` | integer | Yes | SMTP server port number. Common ports: 587 (TLS), 465 (SSL), 25 (unencrypted). |
| `password` | string | Yes | SMTP authentication password or app-specific password. |
| `username` | string | Yes | SMTP authentication username, typically an email address. |
| `branch_id` | string | Yes | The Neon branch ID (e.g., 'br-lucky-water-afkw1lov'). Obtain via NEON_GET_BRANCHES_FOR_PROJECT action. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |
| `sender_name` | string | Yes | Display name that will appear as the sender of the test email. |
| `sender_email` | string | Yes | Email address that will appear as the sender of the test email. |
| `recipient_email` | string | Yes | Email address where the test email will be sent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send organization invitations

**Slug:** `NEON_SEND_ORGANIZATION_INVITATIONS`

Creates and sends invitations to join an organization in the Neon B2B SaaS integration platform. This endpoint allows administrators to invite multiple users simultaneously, specifying their email addresses and intended roles within the organization. It should be used when expanding the organization's membership or when assigning new roles to incoming members. The endpoint does not verify if the email addresses are associated with existing Neon accounts; it simply sends out invitations to the specified email addresses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | The Neon organization ID |
| `invitations` | array | Yes | Invitations |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set branch as default

**Slug:** `NEON_SET_BRANCH_AS_DEFAULT`

Sets a specified branch as the default branch for a given project in Neon. This endpoint allows users to designate a particular branch as the primary or main branch for a project, which can be useful for organizing workflows and setting default behaviors. The operation is performed using a POST request, indicating that it modifies the state of the project. Use this endpoint when you need to change the default branch of a project, such as after creating a new branch or deciding to switch the main development focus. It's important to note that this action may affect how other operations interact with the project, as many systems use the default branch as a reference point for various functionalities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Start branch anonymization

**Slug:** `NEON_START_BRANCH_ANONYMIZATION`

Starts the anonymization process for an anonymized branch that is in the initialized, error, or anonymized state. This will apply all defined masking rules to anonymize sensitive data in the branch databases. The branch must be an anonymized branch to start anonymization. Note: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID |
| `project_id` | string | Yes | The Neon project ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Start endpoint for project

**Slug:** `NEON_START_ENDPOINT_FOR_PROJECT`

Starts a suspended or idle compute endpoint for a Neon PostgreSQL project. Neon compute endpoints automatically suspend after a period of inactivity to save resources. Use this action to wake up a suspended endpoint and make it available for database connections. The endpoint will transition from 'idle' or 'suspended' state to 'active'. If the endpoint is already active, the call is idempotent and returns the current endpoint state with no operations. The response includes the endpoint details and any triggered operations. Note: Endpoint startup typically takes a few seconds.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The unique Neon project identifier (e.g., 'dry-smoke-26258271'). Can be obtained from the projects list endpoint. |
| `endpoint_id` | string | Yes | The unique compute endpoint identifier (e.g., 'ep-patient-morning-afvkyj5f'). Can be obtained from the project endpoints list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Suspend project endpoint by id

**Slug:** `NEON_SUSPEND_PROJECT_ENDPOINT_BY_ID`

Suspends a specific endpoint within a project in the Neon B2B SaaS integration platform. This operation temporarily disables the endpoint, preventing it from processing further requests until it is resumed. Use this endpoint when you need to conserve resources, perform maintenance, or temporarily halt operations for a particular integration point. The suspension is reversible, allowing you to resume the endpoint's functionality when needed. This tool is particularly useful for managing resource utilization and costs in your Neon project by allowing fine-grained control over individual endpoints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |
| `endpoint_id` | string | Yes | The endpoint ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Transfer projects between organizations

**Slug:** `NEON_TRANSFER_PROJECTS_BETWEEN_ORGANIZATIONS`

Transfers selected projects from one organization to another organization. Use this when you need to move projects between organizations, for example during organizational restructuring or mergers. Note that projects with GitHub or Vercel integrations cannot be transferred and will cause the request to fail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_ids` | array | Yes | The list of project IDs to transfer. Maximum of 400 project IDs per request. Each project ID must belong to the source organization and cannot have GitHub or Vercel integrations installed. |
| `source_org_id` | string | Yes | The Neon organization ID that currently owns the projects (source organization). This is the organization from which projects will be transferred. |
| `destination_org_id` | string | Yes | The destination organization identifier to which the projects will be transferred. Must be a valid organization ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Transfer user projects to organization

**Slug:** `NEON_TRANSFER_USER_PROJECTS_TO_ORGANIZATION`

Transfers multiple projects from the authenticated user's personal account to a specified organization within the Neon B2B SaaS integration platform. This endpoint allows for bulk transfer of projects, enabling efficient management of project ownership and organization. It should be used when reorganizing project structures or when moving projects from individual ownership to team or company-wide access. The endpoint is limited to transferring a maximum of 400 projects in a single request, which helps maintain system performance and prevents abuse. It's important to note that this operation is likely irreversible, so users should exercise caution and confirm the transfer details before execution.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_ids` | array | Yes | List of project IDs to transfer from the user's personal account to the organization. Maximum of 400 project IDs per request. Projects must be owned by the user and cannot have GitHub or Vercel integrations. |
| `destination_org_id` | string | Yes | The unique identifier of the target organization to which the projects will be transferred. Must be an organization the user is a member of. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update auth allow localhost

**Slug:** `NEON_UPDATE_AUTH_ALLOW_LOCALHOST`

Updates the allow localhost configuration for a specific branch in a Neon project. This endpoint controls whether connections from localhost are permitted to the branch. Use this when you need to enable or disable localhost access for development or testing purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID (e.g., 'br-lucky-water-afkw1lov'). Can be obtained from the list branches API or Neon console. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271'). Can be found in the Neon console URL or via the list projects API. |
| `allow_localhost` | boolean | Yes | Whether to allow localhost connections to this branch. Set to true to enable localhost access, false to disable. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update branch auth email provider

**Slug:** `NEON_UPDATE_AUTH_EMAIL_PROVIDER`

Updates the email provider configuration for a specific branch's authentication system. Currently, the Neon API only supports the 'shared' email provider type. To use this action, provide only sender_email and sender_name (leave host, port, username, and password empty). The shared provider uses Neon's managed email infrastructure. Note: Custom SMTP configuration (host, port, username, password) is not yet supported by the API. Attempting to configure a custom SMTP server will result in an error. Prerequisites: Neon Auth must be enabled for the branch before updating the email provider.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | No | SMTP server hostname for custom email provider. Required if using a custom SMTP server instead of the shared provider (e.g., 'smtp.gmail.com', 'smtp.sendgrid.net'). Leave empty to use the shared Neon email provider. |
| `port` | integer | No | SMTP server port. Required if using a custom SMTP server. Common ports: 587 (TLS), 465 (SSL), 25 (unencrypted). Leave empty to use the shared Neon email provider. |
| `password` | string | No | SMTP authentication password. Required if using a custom SMTP server. Leave empty to use the shared Neon email provider. |
| `username` | string | No | SMTP authentication username. Required if using a custom SMTP server. Leave empty to use the shared Neon email provider. |
| `branch_id` | string | Yes | The Neon branch ID for which to update the email provider configuration. Format: 'br-name-id' (e.g., 'br-lucky-water-afkw1lov'). |
| `project_id` | string | Yes | The Neon project ID. You can find this on the Settings page in the Neon Console or by listing projects. Format: 'adjective-noun-12345678' (e.g., 'dry-smoke-26258271'). |
| `sender_name` | string | Yes | The sender name to display in authentication emails. This appears as the 'From' name in email clients (e.g., 'Composio Support'). |
| `sender_email` | string | Yes | The sender email address to use for authentication emails sent from this branch. Must be a valid email format (e.g., 'noreply@example.com'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update auth oauth providers

**Slug:** `NEON_UPDATE_AUTH_OAUTH_PROVIDERS`

Updates OAuth provider credentials for a Neon project's authentication configuration. DEPRECATED: Use `/projects/{project_id}/branches/{branch_id}/auth/oauth_providers/{oauth_provider_id}` instead. This endpoint allows updating client ID and client secret for OAuth providers (Google, GitHub, Microsoft, or Vercel).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `client_id` | string | No | The OAuth application client ID. Required when updating provider credentials. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'dry-smoke-26258271') |
| `client_secret` | string | No | The OAuth application client secret. Required when updating provider credentials. |
| `oauth_provider_id` | string ("google" | "github" | "microsoft" | "vercel") | Yes | The OAuth provider ID to update (google, github, microsoft, or vercel) |
| `microsoft_tenant_id` | string | No | The Microsoft tenant ID. Only applicable when updating Microsoft OAuth provider. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update branches data API

**Slug:** `NEON_UPDATE_BRANCHES_DATA_API`

Updates the Neon Data API configuration for the specified branch. Use when you need to modify Data API settings such as aggregates, anonymous role, search paths, schemas, JWT settings, or CORS configuration. The schema cache is always refreshed as part of this operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The Neon branch ID (e.g., 'br-gentle-lab-af8riisw') |
| `project_id` | string | Yes | The Neon project ID (e.g., 'small-recipe-63664710') |
| `database_name` | string | Yes | The database name (e.g., 'neondb') |
| `settings__db__schemas` | array | No | List of schemas to expose via the API. Default: ["public"] |
| `settings__db__max__rows` | integer | No | Maximum number of rows that can be returned in a single request |
| `settings__openapi__mode` | string | No | OpenAPI specification mode (ignore-privileges, disabled). Default: 'disabled' |
| `settings__db__anon__role` | string | No | Database role to use for anonymous requests. Default: 'anonymous' |
| `settings__jwt__role__claim__key` | string | No | JWT claim key to use for role extraction. Default: ".\"role\"" |
| `settings__db__aggregates__enabled` | boolean | No | Enable aggregates feature. Default: true |
| `settings__db__extra__search__path` | string | No | Extra schemas to add to the search path |
| `settings__server__timing__enabled` | boolean | No | Enable server timing headers |
| `settings__jwt__cache__max__lifetime` | integer | No | Maximum lifetime for JWT cache in seconds |
| `settings__server__cors__allowed__origins` | string | No | CORS allowed origins |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update branches masking rules

**Slug:** `NEON_UPDATE_BRANCHES_MASKING_RULES`

Updates the masking rules for the specified anonymized branch. Masking rules define how sensitive data should be anonymized using PostgreSQL Anonymizer. Use this when you need to add, modify, or remove data anonymization rules for a branch. Note: This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch_id` | string | Yes | The branch ID. You can obtain this by listing the project's branches. The branch must be an anonymized branch. |
| `project_id` | string | Yes | The Neon project ID. You can obtain this by listing the projects for your Neon account. |
| `masking_rules` | array | Yes | List of masking rules to apply to the branch. This will replace all existing masking rules for the branch. Pass an empty array to remove all masking rules. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update organization member role

**Slug:** `NEON_UPDATE_ORGANIZATION_MEMBER_ROLE`

Updates the role of a specific member within an organization in the Neon B2B SaaS integration platform. This endpoint allows changing a member's role between 'admin' and 'member', which affects their permissions and access levels within the organization. Use this endpoint when you need to promote a regular member to an admin role or demote an admin to a regular member role. It's crucial for managing access control and permissions within your organization. Note that this operation may have significant implications on the member's ability to manage resources and other members within the organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("admin" | "member") | Yes | The role of the organization member |
| `org_id` | string | Yes | The Neon organization ID |
| `member_id` | string | Yes | The Neon organization member ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update project compute endpoint settings

**Slug:** `NEON_UPDATE_PROJECT_COMPUTE_ENDPOINT_SETTINGS`

Updates the configuration of a specific compute endpoint within a Neon project. This endpoint allows fine-tuning of various settings such as autoscaling limits, provisioner type, connection pooling, and auto-suspend behavior. It's particularly useful for optimizing performance, resource allocation, and cost management of your Neon compute endpoints. The endpoint should be used when you need to modify the behavior or resources of an existing compute endpoint to better suit your application's needs or to implement changes in your infrastructure strategy. Note that some parameters are deprecated, and care should be taken to use the most current features and settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |
| `endpoint_id` | string | Yes | The endpoint ID |
| `endpoint__disabled` | boolean | No | Whether to restrict connections to the compute endpoint. Enabling this option schedules a suspend compute operation. A disabled compute endpoint cannot be enabled by a connection or console action. However, the compute endpoint is periodically enabled by check_availability operations.   |
| `endpoint__branch__id` | string | No | DEPRECATED: This field will be removed in a future release. The destination branch ID. The destination branch must not have an exsiting read-write endpoint.   |
| `endpoint__provisioner` | string | No | The Neon compute provisioner. Specify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling. Provisioner can be one of the following values: * k8s-pod * k8s-neonvm Clients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.   |
| `endpoint__pooler__mode` | string ("transaction") | No | The connection pooler mode. Neon supports PgBouncer in `transaction` mode only.   |
| `endpoint__pooler__enabled` | boolean | No | Whether to enable connection pooling for the compute endpoint  |
| `endpoint__passwordless__access` | boolean | No | NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.   |
| `endpoint__settings__pg__settings` | object | No | A raw representation of Postgres settings |
| `endpoint__suspend__timeout__seconds` | integer | No | Duration of inactivity in seconds after which the compute endpoint is automatically suspended. The value `0` means use the global default. The value `-1` means never suspend. The default value is `300` seconds (5 minutes). The minimum value is `60` seconds (1 minute). The maximum value is `604800` seconds (1 week). For more information, see [Auto-suspend configuration](https://neon.tech/docs/manage/endpoints#auto-suspend-configuration).   |
| `endpoint__autoscaling__limit__max__cu` | integer | No | Autoscaling Limit Max Cu |
| `endpoint__autoscaling__limit__min__cu` | integer | No | Autoscaling Limit Min Cu |
| `endpoint__settings__pgbouncer__settings` | object | No | A raw representation of PgBouncer settings |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update project settings by id

**Slug:** `NEON_UPDATE_PROJECT_SETTINGS_BY_ID`

Updates the configuration and settings of a specific Neon project. This endpoint allows fine-grained control over various aspects of a project, including resource quotas, security settings, maintenance windows, and default endpoint configurations. It's particularly useful for adjusting project parameters to optimize performance, enhance security, or comply with specific operational requirements. The endpoint should be used when changes to project-wide settings are necessary, such as modifying resource limits, adjusting IP access controls, or reconfiguring maintenance schedules. Note that some changes, like enabling logical replication, may have significant impacts on project operations and cannot be reversed. Care should be taken when modifying critical settings to avoid unintended consequences on project functionality or availability.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The Neon project ID |
| `project__name` | string | No | The project name |
| `project__history__retention__seconds` | integer | No | The number of seconds to retain the shared history for all branches in this project. The default is 1 day (604800 seconds).   |
| `project__settings__allowed__ips__ips` | array | No | A list of IP addresses that are allowed to connect to the endpoint. |
| `project__settings__block__vpc__connections` | boolean | No | When set, connections using VPC endpoints are disallowed. This parameter is under active development and its semantics may change in the future.   |
| `project__settings__block__public__connections` | boolean | No | When set, connections from the public internet are disallowed. This supersedes the AllowedIPs list. This parameter is under active development and its semantics may change in the future.   |
| `project__settings__quota__logical__size__bytes` | integer | No | Limit on the logical size of every project"s branch.  |
| `project__settings__quota__written__data__bytes` | integer | No | Total amount of data written to all of a project"s branches.  |
| `project__settings__enable__logical__replication` | boolean | No | Sets wal_level=logical for all compute endpoints in this project. All active endpoints will be suspended. Once enabled, logical replication cannot be disabled.   |
| `project__settings__quota__active__time__seconds` | integer | No | The total amount of wall-clock time allowed to be spent by the project"s compute endpoints.   |
| `project__settings__quota__data__transfer__bytes` | integer | No | Total amount of data transferred from all of a project"s branches using the proxy.   |
| `project__settings__maintenance__window__weekdays` | array | No | A list of weekdays when the maintenance window is active. Encoded as ints, where 1 - Monday, and 7 - Sunday.   |
| `project__settings__quota__compute__time__seconds` | integer | No | The total amount of CPU seconds allowed to be spent by the project"s compute endpoints.   |
| `project__settings__maintenance__window__end__time` | string | No | End time of the maintenance window, in the format of "HH:MM". Uses UTC.  |
| `project__default__endpoint__settings__pg__settings` | object | No | A raw representation of Postgres settings |
| `project__settings__maintenance__window__start__time` | string | No | Start time of the maintenance window, in the format of "HH:MM". Uses UTC.   |
| `project__default__endpoint__settings__pgbouncer__settings` | object | No | A raw representation of PgBouncer settings |
| `project__default__ep__settings__suspend__timeout__seconds` | integer | No | Duration of inactivity in seconds after which the compute endpoint is automatically suspended. The value `0` means use the global default. The value `-1` means never suspend. The default value is `300` seconds (5 minutes). The minimum value is `60` seconds (1 minute). The maximum value is `604800` seconds (1 week). For more information, see [Auto-suspend configuration](https://neon.tech/docs/manage/endpoints#auto-suspend-configuration).   |
| `project__settings__allowed__ips__protected__branches__only` | boolean | No | If true, the list will be applied only to protected branches. |
| `project__default__ep__settings__autoscaling__limit__max__cu` | integer | No | Autoscaling Limit Max Cu |
| `project__default__ep__settings__autoscaling__limit__min__cu` | integer | No | Autoscaling Limit Min Cu |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update project snapshot

**Slug:** `NEON_UPDATE_PROJECTS_SNAPSHOTS`

Tool to update the name of a specific snapshot in a Neon project. Use when you need to rename a snapshot to better reflect its purpose or content. This endpoint is currently in Beta.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The new name for the snapshot. Use a descriptive name to identify the snapshot's purpose or content. |
| `project_id` | string | Yes | The Neon project ID (e.g., 'proud-meadow-87189985'). Obtain via NEON_RETRIEVE_PROJECTS_LIST action. |
| `snapshot_id` | string | Yes | The snapshot ID to update (e.g., 'snap-wispy-union-ahw80v1u'). Must match pattern ^[a-z0-9-]{1,60}$. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
