API Overview¶
bindcar provides a RESTful HTTP API for managing BIND9 DNS zones.
API Design Principles¶
- RESTful - Standard HTTP methods (GET, POST, DELETE)
- JSON - All requests and responses use JSON
- Versioned - API version in URL path (
/api/v1) - Authenticated - Bearer token authentication (configurable)
- OpenAPI - Interactive documentation via Swagger UI
Base URL¶
In production, use HTTPS:
API Structure¶
/api/v1
├── /health # Health check (no auth)
├── /ready # Readiness check (no auth)
├── /server
│ └── /status # BIND9 server status
└── /zones
├── / # List/create zones
└── /{name}
├── / # Get/delete zone
├── /reload # Reload zone
├── /status # Zone status
├── /freeze # Freeze zone updates
├── /thaw # Thaw zone updates
├── /notify # Notify secondaries
└── /records # Manage individual DNS records
├── POST # Add record
├── DELETE # Remove record
└── PUT # Update record
Authentication¶
All endpoints except /health and /ready require Bearer token authentication:
See Authentication for details.
Interactive Documentation¶
bindcar provides interactive API documentation via Swagger UI:
Next Steps¶
- Health & Status - Health check endpoints
- Zone Operations - Zone management operations
- Managing DNS Records - Individual record management
- API Reference - Complete API documentation