--- title: Hep.gg Profiles (LLM) description: Carrd-style profile pages with custom domains, presence cards, and contact forms. Public consumption endpoints plus the dashboard authoring API. --- # Hep.gg Profiles Carrd-style profile pages with custom domains, presence cards, contact forms. Programmatic access is intentionally limited: the dashboard is the primary authoring surface and rendering happens server-side. Base URL: https://hep.gg (profile pages render on the profile's own host) ## Public consumption GET https:/// - SSR profile HTML GET /api/v1/profiles/:profileID/og.png - Open Graph share image (PNG) GET /api/v1/profiles/presence/:userID - JSON presence snapshot GET /api/v1/profiles/presence/:userID/stream - Server-Sent Events presence GET /api/v1/profiles/:profileID/music/:isrc - Audio proxy (used by embed) POST /api/v1/profiles/:profileID/contact/sms - SMS contact form (Turnstile) POST /api/v1/profiles/:profileID/contact/email - Email contact form (Turnstile) POST /api/v1/profiles/:profileID/contact/discord - Discord contact form (Turnstile) The contact endpoints require a Cloudflare Turnstile token and are rate limited per IP; the SMS contact body is capped at 160 chars. Delivery uses the profile owner's own credentials. ## Dashboard (cookie auth - not for programmatic use) GET /api/v1/profiles/me POST /api/v1/profiles/me { templateID, slug? } GET /api/v1/profiles/:profileID PATCH /api/v1/profiles/:profileID DELETE /api/v1/profiles/:profileID POST /api/v1/profiles/:profileID/template { templateID, preserveContent? } GET /api/v1/profiles/eligible-domains