bindcar 0.7.0

HTTP REST API for managing BIND9 zones via rndc
# 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

```
http://localhost:8080/api/v1
```

In production, use HTTPS:
```
https://your-domain.com/api/v1
```

## 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:

```http
Authorization: Bearer <token>
```

See [Authentication](../operations/authentication.md) for details.

## Interactive Documentation

bindcar provides interactive API documentation via Swagger UI:

```
http://localhost:8080/api/v1/docs
```

## Next Steps

- [Health & Status]./health-status.md - Health check endpoints
- [Zone Operations]./zone-operations.md - Zone management operations
- [Managing DNS Records]./managing-records.md - Individual record management
- [API Reference]../reference/api.md - Complete API documentation