Skip to content

Commit f1838dc

Browse files
feat(api): api update
1 parent 35b17eb commit f1838dc

File tree

2 files changed

+99
-2
lines changed

2 files changed

+99
-2
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 5
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cas-parser%2Fcas-parser-b7fdba3d3f97c7debc22c7ca30b828bce81bcd64648df8c94029b27a3321ebb9.yml
3-
openapi_spec_hash: 03f1315f1d32ada42445ca920f047dff
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cas-parser%2Fcas-parser-9eaed98ce5934f11e901cef376a28257d2c196bd3dba7c690babc6741a730ded.yml
3+
openapi_spec_hash: b76e4e830c4d03ba4cf9429bb9fb9c8a
44
config_hash: cb5d75abef6264b5d86448caf7295afa

src/cas_parser/types/unified_response.py

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,29 @@
1818
"DematAccountHoldingsDematMutualFund",
1919
"DematAccountHoldingsEquity",
2020
"DematAccountHoldingsGovernmentSecurity",
21+
"DematAccountLinkedHolder",
2122
"Insurance",
2223
"InsuranceLifeInsurancePolicy",
2324
"Investor",
2425
"Meta",
2526
"MetaStatementPeriod",
2627
"MutualFund",
2728
"MutualFundAdditionalInfo",
29+
"MutualFundLinkedHolder",
2830
"MutualFundScheme",
2931
"MutualFundSchemeAdditionalInfo",
3032
"MutualFundSchemeGain",
3133
"MutualFundSchemeTransaction",
34+
"Np",
35+
"NpFund",
36+
"NpFundAdditionalInfo",
37+
"NpLinkedHolder",
3238
"Summary",
3339
"SummaryAccounts",
3440
"SummaryAccountsDemat",
3541
"SummaryAccountsInsurance",
3642
"SummaryAccountsMutualFunds",
43+
"SummaryAccountsNps",
3744
]
3845

3946

@@ -160,6 +167,14 @@ class DematAccountHoldings(BaseModel):
160167
government_securities: Optional[List[DematAccountHoldingsGovernmentSecurity]] = None
161168

162169

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+
163178
class DematAccount(BaseModel):
164179
additional_info: Optional[DematAccountAdditionalInfo] = None
165180
"""Additional information specific to the demat account type"""
@@ -181,6 +196,9 @@ class DematAccount(BaseModel):
181196

182197
holdings: Optional[DematAccountHoldings] = None
183198

199+
linked_holders: Optional[List[DematAccountLinkedHolder]] = None
200+
"""List of account holders linked to this demat account"""
201+
184202
value: Optional[float] = None
185203
"""Total value of the demat account"""
186204

@@ -270,6 +288,14 @@ class MutualFundAdditionalInfo(BaseModel):
270288
"""PAN KYC status"""
271289

272290

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+
273299
class MutualFundSchemeAdditionalInfo(BaseModel):
274300
advisor: Optional[str] = None
275301
"""Financial advisor name (CAMS/KFintech)"""
@@ -370,6 +396,9 @@ class MutualFund(BaseModel):
370396
folio_number: Optional[str] = None
371397
"""Folio number"""
372398

399+
linked_holders: Optional[List[MutualFundLinkedHolder]] = None
400+
"""List of account holders linked to this mutual fund folio"""
401+
373402
registrar: Optional[str] = None
374403
"""Registrar and Transfer Agent name"""
375404

@@ -379,6 +408,61 @@ class MutualFund(BaseModel):
379408
"""Total value of the folio"""
380409

381410

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+
382466
class SummaryAccountsDemat(BaseModel):
383467
count: Optional[int] = None
384468
"""Number of demat accounts"""
@@ -403,13 +487,23 @@ class SummaryAccountsMutualFunds(BaseModel):
403487
"""Total value of mutual funds"""
404488

405489

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+
406498
class SummaryAccounts(BaseModel):
407499
demat: Optional[SummaryAccountsDemat] = None
408500

409501
insurance: Optional[SummaryAccountsInsurance] = None
410502

411503
mutual_funds: Optional[SummaryAccountsMutualFunds] = None
412504

505+
nps: Optional[SummaryAccountsNps] = None
506+
413507

414508
class Summary(BaseModel):
415509
accounts: Optional[SummaryAccounts] = None
@@ -429,4 +523,7 @@ class UnifiedResponse(BaseModel):
429523

430524
mutual_funds: Optional[List[MutualFund]] = None
431525

526+
nps: Optional[List[Np]] = None
527+
"""List of NPS accounts"""
528+
432529
summary: Optional[Summary] = None

0 commit comments

Comments
 (0)