Summary
Implement read API endpoints for programs: list with filtering/pagination/search, detail by slug, version history.
Files to Create
app/api/v1/programs/route.ts — List endpoint
app/api/v1/programs/[slug]/route.ts — Detail endpoint
app/api/v1/programs/[slug]/versions/route.ts — Version history
Query Parameters (List)
search — Full-text + trigram search
status — Filter by program status
assetType — Filter by asset type (JSONB contains)
marketSegment — Filter by market segment
gridService — Filter by grid service
organizationId — Filter by organization
fields, sort, order, cursor, limit — Standard pagination
Acceptance Criteria
Spec ref: Sections 4.3–4.4
Blocked by: #5, #7 (API utilities, seed)
Blocks: Programs page migration
Summary
Implement read API endpoints for programs: list with filtering/pagination/search, detail by slug, version history.
Files to Create
app/api/v1/programs/route.ts— List endpointapp/api/v1/programs/[slug]/route.ts— Detail endpointapp/api/v1/programs/[slug]/versions/route.ts— Version historyQuery Parameters (List)
search— Full-text + trigram searchstatus— Filter by program statusassetType— Filter by asset type (JSONB contains)marketSegment— Filter by market segmentgridService— Filter by grid serviceorganizationId— Filter by organizationfields,sort,order,cursor,limit— Standard paginationAcceptance Criteria
npm run buildpassesSpec ref: Sections 4.3–4.4
Blocked by: #5, #7 (API utilities, seed)
Blocks: Programs page migration