← back to Norma
app/api/v1/health/route.ts
25 lines
import { NextRequest, NextResponse } from 'next/server';
import { authAndRateLimit, rateLimitHeaders } from '@/lib/api-key-auth';
/**
* GET /api/v1/health
* Public health endpoint — requires Norma API key (any scope).
* Proof-of-concept for the v1 external API namespace.
*/
export async function GET(request: NextRequest) {
const result = await authAndRateLimit(request);
if (result instanceof NextResponse) return result;
const { auth, rateInfo } = result;
return NextResponse.json(
{
status: 'ok',
service: 'norma',
version: '1.0.0',
timestamp: new Date().toISOString(),
scopes: auth.scopes,
},
{ headers: rateLimitHeaders(rateInfo) },
);
}