[ PROMPT_NODE_23599 ]
Neon REST API – Endpoints
[ SKILL_DOCUMENTATION ]
## Overview
This section provides rules for managing compute endpoints associated with branches in a project. Compute endpoints are Neon compute instances that allow you to connect to and interact with your databases.
## Manage compute endpoints
### Create compute endpoint
1. Action: Creates a new compute endpoint (a Neon compute instance) and associates it with a specified branch.
2. Endpoint: `POST /projects/{project_id}/endpoints`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
4. Body Parameters:
`endpoint` (object, required): The container for the new endpoint's properties.
- `branch_id` (string, required): The ID of the branch to associate the endpoint with.
- `type` (string, required): The endpoint type. A branch can have only one `read_write` endpoint but multiple `read_only` endpoints. Allowed values: `read_write`, `read_only`.
- `region_id` (string, optional): The region where the endpoint will be created. Must match the project's region.
- `autoscaling_limit_min_cu` (number, optional): The minimum number of Compute Units (CU). Minimum `0.25`.
- `autoscaling_limit_max_cu` (number, optional): The maximum number of Compute Units (CU). Minimum `0.25`.
- `provisioner` (string, optional): The compute provisioner. Specify `k8s-neonvm` to enable Autoscaling. Allowed values: `k8s-pod`, `k8s-neonvm`.
- `suspend_timeout_seconds` (integer, optional): Duration of inactivity in seconds before suspending the compute. Ranges from -1 (never suspend) to 604800 (1 week).
- `disabled` (boolean, optional): If `true`, restricts connections to the endpoint.
Example Request:
```bash
curl 'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
-H 'Content-Type: application/json'
-d '{
"endpoint": {
"branch_id": "br-your-branch-id",
"type": "read_only"
}
}'
```
Example Response:
```json
{
"endpoint": {
"host": "ep-proud-mud-adwmnxz4.c-2.us-east-1.aws.neon.tech",
"id": "ep-proud-mud-adwmnxz4",
"project_id": "hidden-river-50598307",
"branch_id": "br-super-wildflower-adniii9u",
"autoscaling_limit_min_cu": 0.25,
"autoscaling_limit_max_cu": 2,
"region_id": "aws-us-east-1",
"type": "read_only",
"current_state": "init",
"pending_state": "active",
"settings": {},
"pooler_enabled": false,
"pooler_mode": "transaction",
"disabled": false,
"passwordless_access": true,
"creation_source": "console",
"created_at": "2025-09-11T06:25:12Z",
"updated_at": "2025-09-11T06:25:12Z",
"proxy_host": "c-2.us-east-1.aws.neon.tech",
"suspend_timeout_seconds": 0,
"provisioner": "k8s-neonvm"
},
"operations": [
{
"id": "4d10642f-5212-4517-ad60-afd28c9096e2",
"project_id": "hidden-river-50598307",
"branch_id": "br-super-wildflower-adniii9u",
"endpoint_id": "ep-proud-mud-adwmnxz4",
"action": "start_compute",
"status": "running",
"failures_count": 0,
"created_at": "2025-09-11T06:25:12Z",
"updated_at": "2025-09-11T06:25:12Z",
"total_duration_ms": 0
}
]
}
```
### List compute endpoints
1. Action: Retrieves a list of all compute endpoints for the specified project.
2. Endpoint: `GET /projects/{project_id}/endpoints`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
Example Request:
```bash
curl 'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
```
### Retrieve compute endpoint details
1. Action: Retrieves detailed information about a specific compute endpoint, including its configuration (e.g., autoscaling limits), current state (`active` or `idle`), and associated branch ID.
2. Endpoint: `GET /projects/{project_id}/endpoints/{endpoint_id}`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
- `endpoint_id` (string, required): The unique identifier of the compute endpoint).
Example Request:
```bash
curl 'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints/ep-proud-mud-adwmnxz4'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
```
### Update compute endpoint
1. Action: Updates the configuration of a specified compute endpoint.
2. Endpoint: `PATCH /projects/{project_id}/endpoints/{endpoint_id}`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
- `endpoint_id` (string, required): The unique identifier of the compute endpoint.
4. Body Parameters:
`endpoint` (object, required): The container for the endpoint attributes to update.
- `autoscaling_limit_min_cu` (number, optional): A new minimum number of Compute Units (CU).
- `autoscaling_limit_max_cu` (number, optional): A new maximum number of Compute Units (CU).
- `suspend_timeout_seconds` (integer, optional): A new inactivity period in seconds before suspension.
- `disabled` (boolean, optional): Set to `true` to disable connections or `false` to enable them.
- `provisioner` (string, optional): Change the compute provisioner.
Example: Update autoscaling limits
```bash
curl -X 'PATCH'
'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints/ep-proud-mud-adwmnxz4'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
-H 'Content-Type: application/json'
-d '{
"endpoint": {
"autoscaling_limit_min_cu": 0.5,
"autoscaling_limit_max_cu": 1
}
}'
```
### Delete compute endpoint
1. Action: Deletes the specified compute endpoint. This action drops any existing network connections to the endpoint.
2. Endpoint: `DELETE /projects/{project_id}/endpoints/{endpoint_id}`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
- `endpoint_id` (string, required): The unique identifier of the compute endpoint to delete.
Example Request:
```bash
curl -X 'DELETE'
'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints/ep-proud-mud-adwmnxz4'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
```
### Start compute endpoint
1. Action: Manually starts a compute endpoint that is currently in an `idle` state. The endpoint is ready for connections once the start operation completes successfully.
2. Endpoint: `POST /projects/{project_id}/endpoints/{endpoint_id}/start`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
- `endpoint_id` (string, required): The unique identifier of the compute endpoint.
Example Request:
```bash
curl -X 'POST'
'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints/ep-ancient-brook-ad5ea04d/start'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
```
### Suspend compute endpoint
1. Action: Manually suspends an `active` compute endpoint, forcing it into an `idle` state. This will immediately drop any active connections to the endpoint.
2. Endpoint: `POST /projects/{project_id}/endpoints/{endpoint_id}/suspend`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
- `endpoint_id` (string, required): The unique identifier of the compute endpoint.
Example Request:
```bash
curl -X 'POST'
'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints/ep-ancient-brook-ad5ea04d/suspend'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
```
### Restart compute endpoint
1. Action: Restarts the specified compute endpoint. This involves an immediate suspend operation followed by a start operation. This is useful for applying configuration changes or refreshing the compute instance. All active connections will be dropped.
2. Endpoint: `POST /projects/{project_id}/endpoints/{endpoint_id}/restart`
3. Path Parameters:
- `project_id` (string, required): The unique identifier of the project.
- `endpoint_id` (string, required): The unique identifier of the compute endpoint.
Example Request:
```bash
curl -X 'POST'
'https://console.neon.tech/api/v2/projects/hidden-river-50598307/endpoints/ep-ancient-brook-ad5ea04d/restart'
-H 'Accept: application/json'
-H "Authorization: Bearer $NEON_API_KEY"
```
Source: claude-code-templates (MIT). See About Us for full credits.