Skip to content

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.py
  • LeafEnterprise/ops_portal.py
  • LeafEnterprise/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.