Authentication

GET /api/auth/basic 10 req/min

Requires HTTP Basic Auth. Credentials: admin / secret123.

Response (200)
{"message": "Basic auth successful", "user": "admin"}
POST /api/auth/login 10 req/min

Returns a JWT token. Use with /auth/protected.

Request Body
{"username": "admin", "password": "secret123"}
Response (200)
{"token": "eyJ...", "user": "admin"}
GET /api/auth/protected 10 req/min

Requires Bearer token from /auth/login.

Header Required
Authorization: Bearer <token>
Response (200)
{"message": "Access granted", "user": "admin"}
Error (401 — no token)
{"error": "Missing Bearer token. Send Authorization: Bearer <token> header. Get a token from POST /api/auth/login"}
GET /api/auth/apikey 10 req/min

Requires X-API-Key: testkey123 header.

Response (200)
{"message": "Valid API key", "key": "testkey123"}