E4P is a pledge/signatory campaign for entrepreneurs, separate from the main membership/donation flows.
e4p.astro— landing page, rendersE4PPage.jsx(client:only="react").e4p/sign-up.astro— Calendly scheduling embeds (region-specific: Americas / other), for booking an intro call.e4p/pledge.astro— the pledge form: name, email, company, position, LinkedIn URL, agreement checkbox. Submits client-side toPOST /api/e4p-pledge-sign.e4p-new.astro/e4p/pledge-new.astro— unreachable remnants of the abandoned redesign; both 301 to their live counterparts. Do not build on them (see ARCHITECTURE.md).
POST /api/e4p-pledge-sign— validatesOrigin: https://techforpalestine.org, required fields, email format, LinkedIn URL format, and a 2000-char cap on free-text fields, then creates a page in the Signatories Notion database withApproved: false. New signatories are unapproved by default — a human moderates and flipsApprovedin Notion before they show up publicly.GET /api/e4p-signatories— public read, returns only rows whereApprovedis checked, sorted bySigned Atascending.
Both use @notionhq/client directly against NOTION_SIGNATORIES_DB_ID (not src/store/notionClient.ts — see NOTION.md for why two patterns coexist).
NOTION_SECRET, NOTION_SIGNATORIES_DB_ID.