Authentication: All endpoints require Authorization: Bearer <access_token>.External Dependency: Narayana Health Insurance API — purchase, claims, and policy status.Status: Planned — not yet implemented in the backend.

What Aarokya Does vs What Narayana Health Does

Aarokya is a distribution channel for Narayana Health insurance products. Understanding the boundary is important:
ResponsibilityHandled By
Plan catalogue (pricing, features, exclusions)Narayana Health — synced to Aarokya DB
Premium calculationAarokya (formula-based, see below)
Payment processingJuspay (via Aarokya payment session)
Policy issuanceNarayana Health API
Claims adjudicationNarayana Health (TPA/in-house)
Policy status updatesNarayana Health → Aarokya webhook
Customer-facing UIAarokya mobile app
Customer support for claimsNarayana Health call centre (NH handles post-issuance)

Plan Types

Narayana Health offers plans across three dimensions:

By Coverage Scope

TypeDescriptionMax Dependants
INDIVIDUALCovers the policyholder only0
FAMILY_FLOATERCovers policyholder + family under one shared sum insuredUp to 5 (spouse + 4 children)
MULTI_INDIVIDUALSeparate sum insured for each member under one policyUp to 5

By Coverage Level

TypeWhat It CoversTypical Sum Insured
BASICInpatient hospitalisation, pre/post-hospital₹1–2 lakh
STANDARDBasic + OPD, day care, ambulance₹2–5 lakh
COMPREHENSIVEStandard + critical illness, maternity, mental health₹5–10 lakh

Teleconsult Included

All Narayana Health plans sold through Aarokya include a teleconsult_included: true flag. This means the Call Doctor feature (Nama Agent + Aathma) is available to policyholders at no additional cost.

Premium Calculation — With Worked Example

Aarokya calculates the premium locally using a formula before any Juspay payment session is created. The formula is:
base_premium                         (from plan)
+ age_loading                        (if policyholder age > 35)
+ dependant_premium                  (per dependant by relationship)
= subtotal
+ GST (18% of subtotal)
= total

Component Details

ComponentFormulaNotes
Base premiumplan.base_premiumFixed per plan
Age loading5% × floor((age − 35) / 5) × base_premiumOnly if age > 35; each 5-year band adds 5%
Per spouse+30% of base_premiumPer spouse (max 1)
Per child+20% of base_premiumPer child (max 4)
GST+18% of subtotalFlat rate on all insurance

Worked Example

Plan: NH Comprehensive Family, base premium = ₹7,500 Policyholder: Age 40, male Dependants: 1 spouse (age 37, female), 1 child (age 8, male)
ComponentCalculationAmount
Base premium₹7,500
Age loading5% × floor((40-35)/5) × 7500 = 5% × 1 × 7500₹375
Spouse loading30% × 7500₹2,250
Child loading20% × 7500₹1,500
Subtotal7500 + 375 + 2250 + 1500₹11,625
GST (18%)18% × 11625₹2,092.50
Total₹13,717.50
Age is calculated at the time of premium calculation using the policyholder’s dob from their profile. The profile must have dob set before calling POST /insurance/calculate-premium.

Purchase Flow


Claims Flow

Claims are submitted to Aarokya’s API, which forwards them to Narayana Health’s claims system. Aarokya does not adjudicate — it provides the submission interface and tracks status.

Claim Submission Steps

1

Identify the policy

The user selects which active policy to claim against. Common scenarios: hospitalisation, OPD visit at NH network hospital, pharmacy at NH outlet.
2

Upload documents

The app collects: hospital bills, discharge summary, prescription, and any diagnostic reports. Documents are uploaded before calling the claim endpoint.
3

Submit claim

POST /insurance/policies/{id}/claim with document references and claim amount. Aarokya forwards to NH’s claims API.
4

Track status

NH adjudicates and updates claim status. Aarokya receives webhooks and the app displays current status: SUBMITTEDUNDER_REVIEWAPPROVED | REJECTED.
5

Settlement

Approved claims are settled directly by NH — either cashless (for in-network hospitals) or as reimbursement (for out-of-network).

Endpoints

MethodPathDescription
GET/insurance/plansList plans with optional filters
GET/insurance/plans/{id}Full plan detail with features and exclusions
POST/insurance/calculate-premiumPremium breakdown for a plan + dependants
POST/insurance/purchasePurchase plan, create policy via NH API
GET/insurance/policiesList user’s active policies
GET/insurance/policies/{id}Policy detail with dependants
POST/insurance/policies/{id}/claimSubmit claim to Narayana Health

Request / Response Examples

curl "http://localhost:8080/insurance/plans" \
  -H 'Authorization: Bearer eyJhbGci...'
curl -X POST http://localhost:8080/insurance/calculate-premium \
  -H 'Authorization: Bearer eyJhbGci...' \
  -H 'Content-Type: application/json' \
  -d '{
    "plan_id": "b2c3d4e5-...",
    "policyholder": { "dob": "1985-03-20", "gender": "MALE" },
    "dependants": [
      { "relationship": "SPOUSE", "dob": "1988-07-12", "gender": "FEMALE" },
      { "relationship": "CHILD", "dob": "2015-01-05", "gender": "MALE" }
    ]
  }'
curl -X POST http://localhost:8080/insurance/purchase \
  -H 'Authorization: Bearer eyJhbGci...' \
  -H 'Content-Type: application/json' \
  -d '{
    "plan_id": "b2c3d4e5-...",
    "payment_order_id": "aarokya-1767808100",
    "dependants": [
      { "name": "Sunita Kumar", "relationship": "SPOUSE", "dob": "1988-07-12", "gender": "FEMALE" }
    ]
  }'

Database Schema

Claims are forwarded to Narayana Health’s API — adjudication happens on their side. Aarokya does not own the claims workflow beyond submission and status tracking.