Product Operations¶
Pricing, contract, renewal, partner, market-check, clinical, rebate, and generic queue-action APIs.
Owner: Cross-module operations backend
Source Modules¶
scripts/serve_client_portal.pyLeafEnterprise/ops_portal.pyLeafEnterprise/service_contracts.py
Endpoint Summary¶
| Method | Path | Summary | Auth | Handler |
|---|---|---|---|---|
| GET | /api/clinical-hub/opportunities |
Returns Medical Rx, J-code, site-of-care, and sourcing opportunities. | trusted frontend proxy | _handle_clinical_hub_opportunities |
| GET | /api/contracts/oversight |
Returns live contract oversight state derived from claims, audits, and guarantee monitors. | trusted frontend proxy | _handle_contract_oversight |
| GET | /api/contracts/review |
Returns normalized contract packet and review posture for a scope. | trusted frontend proxy | _handle_contract_review |
| GET | /api/market-checks/qualitative |
Returns qualitative PBM scorecard and fit assessment. | trusted frontend proxy | _handle_market_checks_qualitative |
| POST | /api/ops/queue-action |
Previews or queues cross-module operational actions. | trusted frontend proxy | _handle_ops_queue_action |
| GET | /api/partners/programs |
Returns partner-channel program metadata and deliverable templates. | trusted frontend proxy | _handle_partners_programs |
| GET | /api/pricing/coverage |
Returns pricing coverage gaps and missing pricing-key concentrations. | trusted frontend proxy | _handle_pricing_coverage |
| GET | /api/pricing/registry |
Returns pricing term sets and assignments for a scope. | trusted frontend proxy | _handle_pricing_registry |
| GET | /api/rebates/manufacturers |
Returns manufacturer-linked program context for rebate and Medical Rx workflows. | trusted frontend proxy | _handle_rebates_manufacturers |
| GET | /api/renewals/status |
Returns renewal windows, due dates, and deliverable readiness. | trusted frontend proxy | _handle_renewals_status |
Endpoint Details¶
GET /api/clinical-hub/opportunities¶
Returns Medical Rx, J-code, site-of-care, and sourcing opportunities.
| Property | Value |
|---|---|
| Handler | _handle_clinical_hub_opportunities |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: pbm, tpa, group_name, start_date, end_date
Body fields: none
Response sections: opportunities, target_prices, clinical_hub_cases
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Clinical/medical evidence must not silently upgrade rebate-backed savings posture.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/clinical-hub/opportunities - Route family:
product-ops - Source handler:
_handle_clinical_hub_opportunities - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/contracts/oversight¶
Returns live contract oversight state derived from claims, audits, and guarantee monitors.
| Property | Value |
|---|---|
| Handler | _handle_contract_oversight |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: pbm, tpa, group_name, start_date, end_date
Body fields: none
Response sections: guarantee_monitor, variance_summary, recommended_actions
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Do not infer final guarantee conclusions from candidate evidence.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/contracts/oversight - Route family:
product-ops - Source handler:
_handle_contract_oversight - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/contracts/review¶
Returns normalized contract packet and review posture for a scope.
| Property | Value |
|---|---|
| Handler | _handle_contract_review |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: pbm, tpa, group_name, start_date, end_date
Body fields: none
Response sections: contract_packet, negotiation_issues, guarantee_monitors
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Contract packets are governed evidence; raw documents remain backend-side.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/contracts/review - Route family:
product-ops - Source handler:
_handle_contract_review - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/market-checks/qualitative¶
Returns qualitative PBM scorecard and fit assessment.
| Property | Value |
|---|---|
| Handler | _handle_market_checks_qualitative |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: rfp_project_id, pbm, tpa
Body fields: none
Response sections: qualitative_scorecard, criteria, recommendation
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Qualitative evidence complements pricing comparisons.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/market-checks/qualitative - Route family:
product-ops - Source handler:
_handle_market_checks_qualitative - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
POST /api/ops/queue-action¶
Previews or queues cross-module operational actions.
| Property | Value |
|---|---|
| Handler | _handle_ops_queue_action |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 400, 401, 409, 500 |
Query parameters: none
Body fields: action_type, scope, metadata, mode
Response sections: status, preview, queue_request, validation
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Queue action contracts are generated from service_contracts.py.
Semantic Retrieval Hints¶
- Stable endpoint id:
POST /api/ops/queue-action - Route family:
product-ops - Source handler:
_handle_ops_queue_action - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/partners/programs¶
Returns partner-channel program metadata and deliverable templates.
| Property | Value |
|---|---|
| Handler | _handle_partners_programs |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: partner, limit
Body fields: none
Response sections: partner_programs, templates, active_deliverables
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Supports partner deliverable lanes without merging them into savings-only workflows.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/partners/programs - Route family:
product-ops - Source handler:
_handle_partners_programs - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/pricing/coverage¶
Returns pricing coverage gaps and missing pricing-key concentrations.
| Property | Value |
|---|---|
| Handler | _handle_pricing_coverage |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: pbm, tpa, group_name, start_date, end_date
Body fields: none
Response sections: coverage_summary, top_missing_pricing_keys, top_gap_slices, artifact_coverage
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Should make coverage gaps explicit.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/pricing/coverage - Route family:
product-ops - Source handler:
_handle_pricing_coverage - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/pricing/registry¶
Returns pricing term sets and assignments for a scope.
| Property | Value |
|---|---|
| Handler | _handle_pricing_registry |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: pbm, tpa, group_name, start_date, end_date
Body fields: none
Response sections: pricing_term_sets, pricing_assignments, coverage_summary, effective_dates, entity_links
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Pricing registry can support contract-aware outputs but does not replace exact contract packets.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/pricing/registry - Route family:
product-ops - Source handler:
_handle_pricing_registry - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/rebates/manufacturers¶
Returns manufacturer-linked program context for rebate and Medical Rx workflows.
| Property | Value |
|---|---|
| Handler | _handle_rebates_manufacturers |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: program_name, limit
Body fields: none
Response sections: manufacturer_programs, program_rules, reporting, exception_summary
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Exact rebate evidence is required before rebate-backed savings claims.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/rebates/manufacturers - Route family:
product-ops - Source handler:
_handle_rebates_manufacturers - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.
GET /api/renewals/status¶
Returns renewal windows, due dates, and deliverable readiness.
| Property | Value |
|---|---|
| Handler | _handle_renewals_status |
| Auth | trusted frontend proxy |
| Cache | none |
| Status codes | 200, 401, 500 |
Query parameters: pbm, tpa, group_name, start_date, end_date
Body fields: none
Response sections: renewal_event, deliverables, partner_programs
Tests / smoke paths: scripts/smoke_client_portal.py
Notes: Keep renewal readiness distinct from savings report readiness.
Semantic Retrieval Hints¶
- Stable endpoint id:
GET /api/renewals/status - Route family:
product-ops - Source handler:
_handle_renewals_status - Secrets and raw source URLs must remain backend-only unless this endpoint explicitly documents otherwise.