From fbefac75ebd93f70a229a6a4d378204cc8333643 Mon Sep 17 00:00:00 2001 From: vimzh Date: Tue, 26 May 2026 22:16:25 +0530 Subject: [PATCH] fix(onboarding): fail fast when EXA_API_KEY is missing (#995) --- .../app/api/onboarding/extract-content/route.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/web/app/api/onboarding/extract-content/route.ts b/apps/web/app/api/onboarding/extract-content/route.ts index 6cdb40d5..9322f324 100644 --- a/apps/web/app/api/onboarding/extract-content/route.ts +++ b/apps/web/app/api/onboarding/extract-content/route.ts @@ -9,8 +9,22 @@ interface ExaApiResponse { results: ExaContentResult[] } +const exaApiKey = process.env.EXA_API_KEY +if (!exaApiKey) { + console.error( + "EXA_API_KEY is not configured; /api/onboarding/extract-content will return 503", + ) +} + export async function POST(request: Request) { try { + if (!exaApiKey) { + return Response.json( + { error: "Content extraction is unavailable" }, + { status: 503 }, + ) + } + const { urls } = await request.json() if (!Array.isArray(urls) || urls.length === 0) { @@ -30,7 +44,7 @@ export async function POST(request: Request) { const response = await fetch("https://api.exa.ai/contents", { method: "POST", headers: { - "x-api-key": process.env.EXA_API_KEY ?? "", + "x-api-key": exaApiKey, "Content-Type": "application/json", }, body: JSON.stringify({