18
18
"DematAccountHoldingsDematMutualFund" ,
19
19
"DematAccountHoldingsEquity" ,
20
20
"DematAccountHoldingsGovernmentSecurity" ,
21
+ "DematAccountLinkedHolder" ,
21
22
"Insurance" ,
22
23
"InsuranceLifeInsurancePolicy" ,
23
24
"Investor" ,
24
25
"Meta" ,
25
26
"MetaStatementPeriod" ,
26
27
"MutualFund" ,
27
28
"MutualFundAdditionalInfo" ,
29
+ "MutualFundLinkedHolder" ,
28
30
"MutualFundScheme" ,
29
31
"MutualFundSchemeAdditionalInfo" ,
30
32
"MutualFundSchemeGain" ,
31
33
"MutualFundSchemeTransaction" ,
34
+ "Np" ,
35
+ "NpFund" ,
36
+ "NpFundAdditionalInfo" ,
37
+ "NpLinkedHolder" ,
32
38
"Summary" ,
33
39
"SummaryAccounts" ,
34
40
"SummaryAccountsDemat" ,
35
41
"SummaryAccountsInsurance" ,
36
42
"SummaryAccountsMutualFunds" ,
43
+ "SummaryAccountsNps" ,
37
44
]
38
45
39
46
@@ -160,6 +167,14 @@ class DematAccountHoldings(BaseModel):
160
167
government_securities : Optional [List [DematAccountHoldingsGovernmentSecurity ]] = None
161
168
162
169
170
+ class DematAccountLinkedHolder (BaseModel ):
171
+ name : Optional [str ] = None
172
+ """Name of the account holder"""
173
+
174
+ pan : Optional [str ] = None
175
+ """PAN of the account holder"""
176
+
177
+
163
178
class DematAccount (BaseModel ):
164
179
additional_info : Optional [DematAccountAdditionalInfo ] = None
165
180
"""Additional information specific to the demat account type"""
@@ -181,6 +196,9 @@ class DematAccount(BaseModel):
181
196
182
197
holdings : Optional [DematAccountHoldings ] = None
183
198
199
+ linked_holders : Optional [List [DematAccountLinkedHolder ]] = None
200
+ """List of account holders linked to this demat account"""
201
+
184
202
value : Optional [float ] = None
185
203
"""Total value of the demat account"""
186
204
@@ -270,6 +288,14 @@ class MutualFundAdditionalInfo(BaseModel):
270
288
"""PAN KYC status"""
271
289
272
290
291
+ class MutualFundLinkedHolder (BaseModel ):
292
+ name : Optional [str ] = None
293
+ """Name of the account holder"""
294
+
295
+ pan : Optional [str ] = None
296
+ """PAN of the account holder"""
297
+
298
+
273
299
class MutualFundSchemeAdditionalInfo (BaseModel ):
274
300
advisor : Optional [str ] = None
275
301
"""Financial advisor name (CAMS/KFintech)"""
@@ -370,6 +396,9 @@ class MutualFund(BaseModel):
370
396
folio_number : Optional [str ] = None
371
397
"""Folio number"""
372
398
399
+ linked_holders : Optional [List [MutualFundLinkedHolder ]] = None
400
+ """List of account holders linked to this mutual fund folio"""
401
+
373
402
registrar : Optional [str ] = None
374
403
"""Registrar and Transfer Agent name"""
375
404
@@ -379,6 +408,61 @@ class MutualFund(BaseModel):
379
408
"""Total value of the folio"""
380
409
381
410
411
+ class NpFundAdditionalInfo (BaseModel ):
412
+ manager : Optional [str ] = None
413
+ """Fund manager name"""
414
+
415
+ tier : Optional [Literal [1 , 2 ]] = None
416
+ """NPS tier (Tier I or Tier II)"""
417
+
418
+
419
+ class NpFund (BaseModel ):
420
+ additional_info : Optional [NpFundAdditionalInfo ] = None
421
+ """Additional information specific to the NPS fund"""
422
+
423
+ cost : Optional [float ] = None
424
+ """Cost of investment"""
425
+
426
+ name : Optional [str ] = None
427
+ """Name of the NPS fund"""
428
+
429
+ nav : Optional [float ] = None
430
+ """Net Asset Value per unit"""
431
+
432
+ units : Optional [float ] = None
433
+ """Number of units held"""
434
+
435
+ value : Optional [float ] = None
436
+ """Current market value of the holding"""
437
+
438
+
439
+ class NpLinkedHolder (BaseModel ):
440
+ name : Optional [str ] = None
441
+ """Name of the account holder"""
442
+
443
+ pan : Optional [str ] = None
444
+ """PAN of the account holder"""
445
+
446
+
447
+ class Np (BaseModel ):
448
+ additional_info : Optional [object ] = None
449
+ """Additional information specific to the NPS account"""
450
+
451
+ cra : Optional [str ] = None
452
+ """Central Record Keeping Agency name"""
453
+
454
+ funds : Optional [List [NpFund ]] = None
455
+
456
+ linked_holders : Optional [List [NpLinkedHolder ]] = None
457
+ """List of account holders linked to this NPS account"""
458
+
459
+ pran : Optional [str ] = None
460
+ """Permanent Retirement Account Number (PRAN)"""
461
+
462
+ value : Optional [float ] = None
463
+ """Total value of the NPS account"""
464
+
465
+
382
466
class SummaryAccountsDemat (BaseModel ):
383
467
count : Optional [int ] = None
384
468
"""Number of demat accounts"""
@@ -403,13 +487,23 @@ class SummaryAccountsMutualFunds(BaseModel):
403
487
"""Total value of mutual funds"""
404
488
405
489
490
+ class SummaryAccountsNps (BaseModel ):
491
+ count : Optional [int ] = None
492
+ """Number of NPS accounts"""
493
+
494
+ total_value : Optional [float ] = None
495
+ """Total value of NPS accounts"""
496
+
497
+
406
498
class SummaryAccounts (BaseModel ):
407
499
demat : Optional [SummaryAccountsDemat ] = None
408
500
409
501
insurance : Optional [SummaryAccountsInsurance ] = None
410
502
411
503
mutual_funds : Optional [SummaryAccountsMutualFunds ] = None
412
504
505
+ nps : Optional [SummaryAccountsNps ] = None
506
+
413
507
414
508
class Summary (BaseModel ):
415
509
accounts : Optional [SummaryAccounts ] = None
@@ -429,4 +523,7 @@ class UnifiedResponse(BaseModel):
429
523
430
524
mutual_funds : Optional [List [MutualFund ]] = None
431
525
526
+ nps : Optional [List [Np ]] = None
527
+ """List of NPS accounts"""
528
+
432
529
summary : Optional [Summary ] = None
0 commit comments