Files
0pt/app/api/sources/route.ts
T
adminandClaude Opus 4.8 15c65a584c feat(api): Vercel-native platform API + Postgres schema
Route Handlers (Vercel Functions): /api/health, /api/estimates (single-source estimate math, ore), /api/catalog, /api/sources (legal sourcing map). sql/001_init.sql = full docs/03 data model (entities + bridge_provenance + platform tables, pgvector). Ready to wire Vercel Postgres.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:56:30 +02:00

20 lines
1.7 KiB
TypeScript

import { NextResponse } from "next/server";
// GET /api/sources (docs/04) — the transparency moat. Legal sourcing only (CLAUDE.md §1).
// access: api | bulk | authorized_web | licensed. VERIFY current terms before relying.
const SOURCES = [
{ source_id: "gleif", name: "GLEIF (LEI)", market: "global", access: "api", licence: "open (CC0) — verify", cadence: "daily", confidence: 0.98 },
{ source_id: "brreg", name: "Brønnøysundregistrene", market: "NO", access: "api", licence: "NLOD open — verify", cadence: "daily", confidence: 0.97 },
{ source_id: "companies_house", name: "Companies House", market: "GB", access: "api", licence: "free (key) — verify", cadence: "daily", confidence: 0.97 },
{ source_id: "cvr", name: "CVR / Virk", market: "DK", access: "api", licence: "terms apply — verify", cadence: "daily", confidence: 0.95 },
{ source_id: "prh", name: "PRH avoindata", market: "FI", access: "api", licence: "CC-BY — verify", cadence: "daily", confidence: 0.93 },
{ source_id: "bolagsverket", name: "Bolagsverket", market: "SE", access: "licensed", licence: "restricted bulk — partner route", cadence: "daily", confidence: 0.92 },
{ source_id: "rdw", name: "RDW (vehicles)", market: "NL", access: "api", licence: "open — verify", cadence: "daily", confidence: 0.9 },
{ source_id: "traficom", name: "Traficom (vehicles)", market: "FI", access: "bulk", licence: "CC-BY — verify", cadence: "quarterly", confidence: 0.88 },
{ source_id: "opensanctions", name: "OpenSanctions", market: "global", access: "bulk", licence: "open — verify commercial terms", cadence: "daily", confidence: 0.95 },
];
export async function GET() {
return NextResponse.json(SOURCES);
}