davila7--claude-code-templates
4.1 KiB
4.1 KiB
Neon Platform API
The Neon Platform API allows you to manage Neon projects, branches, databases, and resources programmatically. You can use the REST API directly or through official SDKs.
Options
| Method | Package/URL | Best For |
|---|---|---|
| REST API | https://console.neon.tech/api/v2/ |
Any language, direct HTTP calls |
| TypeScript SDK | @neondatabase/api-client |
Node.js, TypeScript projects |
| Python SDK | neon-api |
Python scripts and applications |
| CLI | neonctl |
Terminal-based management |
Documentation
# REST API documentation
curl -H "Accept: text/markdown" https://neon.tech/docs/reference/api-reference
# TypeScript SDK
curl -H "Accept: text/markdown" https://neon.tech/docs/reference/typescript-sdk
# Python SDK
curl -H "Accept: text/markdown" https://neon.tech/docs/reference/python-sdk
# CLI
curl -H "Accept: text/markdown" https://neon.tech/docs/reference/neon-cli
For the interactive API reference: https://api-docs.neon.tech/reference/getting-started-with-neon-api
Sub-Resources
For detailed information, reference the appropriate sub-resource:
REST API Details
| Topic | Resource |
|---|---|
| Guidelines, Auth, Rate Limits | neon-rest-api/guidelines.md |
| Projects | neon-rest-api/projects.md |
| Branches, Databases, Roles | neon-rest-api/branches.md |
| Compute Endpoints | neon-rest-api/endpoints.md |
| API Keys | neon-rest-api/keys.md |
| Operations | neon-rest-api/operations.md |
| Organizations | neon-rest-api/organizations.md |
SDKs
| Language | Resource |
|---|---|
| TypeScript | neon-typescript-sdk.md |
| Python | neon-python-sdk.md |
Quick Start
Authentication
All API requests require a Neon API key:
Authorization: Bearer $NEON_API_KEY
API Key Types
| Type | Scope | Best For |
|---|---|---|
| Personal | All projects user has access to | Individual use, scripting |
| Organization | Entire organization | CI/CD, org-wide automation |
| Project-scoped | Single project only | Project-specific integrations |
Rate Limits
- 700 requests per minute (~11 per second)
- Bursts up to 40 requests per second per route
- Handle
429 Too Many Requestswith retry/backoff
Common Operations Quick Reference
| Operation | REST API | TypeScript SDK | Python SDK |
|---|---|---|---|
| List Projects | GET /projects |
listProjects({}) |
projects() |
| Create Project | POST /projects |
createProject({...}) |
project_create(...) |
| Get Connection URI | GET /projects/{id}/connection_uri |
getConnectionUri({...}) |
connection_uri(...) |
| Create Branch | POST /projects/{id}/branches |
createProjectBranch(...) |
branch_create(...) |
| Start Endpoint | POST /projects/{id}/endpoints/{id}/start |
startProjectEndpoint(...) |
endpoint_start(...) |
Error Handling
| Status | Meaning | Action |
|---|---|---|
| 401 | Unauthorized | Check API key |
| 404 | Not Found | Verify resource ID |
| 429 | Rate Limited | Implement retry with backoff |
| 500 | Server Error | Retry or contact support |