import { NextResponse } from "next/server"; const BREVO_API_KEY = process.env.BREVO_API_KEY; const BREVO_LIST_ID = process.env.BREVO_LIST_ID; // optional export async function POST(req: Request) { if (!BREVO_API_KEY) { console.error("BREVO_API_KEY is not set"); return NextResponse.json( { error: "Server not configured" }, { status: 500 } ); } try { const { email } = await req.json(); if (!email || typeof email !== "string") { return NextResponse.json( { error: "Valid email is required" }, { status: 400 } ); } // Brevo contacts API const res = await fetch("https://api.brevo.com/v3/contacts", { method: "POST", headers: { "Content-Type": "application/json", "api-key": BREVO_API_KEY, }, body: JSON.stringify({ email, updateEnabled: true, // update if already exists ...(BREVO_LIST_ID ? { listIds: [Number(BREVO_LIST_ID)] } : {}), attributes: { SOURCE: "Battl Builders Beta", }, }), }); if (!res.ok) { const text = await res.text(); console.error("Brevo error:", res.status, text); return NextResponse.json( { error: "Failed to subscribe" }, { status: 500 } ); } return NextResponse.json({ ok: true }); } catch (err) { console.error(err); return NextResponse.json( { error: "Something went wrong" }, { status: 500 } ); } }