Feature: POST /public/interest endpoint for lead capture #186
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api#186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Dependency for westside-app#115 (teams page lead gen). Product direction from Lucas 2026-03-27.
Repo
forgejo_admin/basketball-apiUser Story
As a parent visiting the teams page
I want to submit my child's info via an interest form (no login required)
So that Coach Marcus can follow up about tryouts and late onboarding
Context
The westside-landing teams page will have a low-friction interest form (Player Name, Age/Grade, Parent Email, Parent Phone, Program preference). This needs a public API endpoint that:
interest_leadstableThis is a public endpoint — no Keycloak auth required. Same pattern as
GET /public/teams.File Targets
Files the agent should modify:
src/basketball_api/models.py— addInterestLeadmodelsrc/basketball_api/routes/public.py— addPOST /public/interestendpoint + Pydantic schemasinterest_leadstableFiles the agent should NOT touch:
src/basketball_api/routes/register.py— existing registration flow, separate concernAcceptance Criteria
POST /public/interestaccepts: player_name, age_grade, parent_email, parent_phone, program (kings/queens)interest_leadstable with tenant_id=1, created_at timestampTest Expectations
Constraints
Checklist
Related
project-westside-basketballstory:WS-S17— parent registers child online