import { NextApiRequest, NextApiResponse } from 'next' /* eslint-disable import/no-anonymous-default-export */ export default async (req: NextApiRequest, res: NextApiResponse) => { const { email } = req.body if (!email) { return res.status(400).json({ error: 'Email is required' }) } try { const FORM_ID = process.env.CONVERTKIT_FORM_ID const API_KEY = process.env.CONVERTKIT_API_KEY const API_URL = process.env.CONVERTKIT_API_URL // Send request to ConvertKit const data = { email, api_key: API_KEY } const response = await fetch(`${API_URL}forms/${FORM_ID}/subscribe`, { body: JSON.stringify(data), headers: { 'Content-Type': 'application/json', }, method: 'POST', }) if (response.status >= 400) { return res.status(400).json({ error: `There was an error subscribing to the list.`, }) } return res.status(201).json({ error: '' }) } catch (error) { return res.status(500).json({ error: error.message || error.toString() }) } }